それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Linuxに新しいハードディスク追加にしっておくべき知識-型番の調べ方など

Linuxに新しいディスク(HDD)を追加する。

普段インストーラーに頼っているので、手動で(しかもコマンド)から行なうとなると、面倒に感じることがある。けれど、めんどくさがることは何もない。よくあるパターンだから手で覚えてしまった方が良い。日本橋(アキバの大阪版)に行けば、中古のハードディスクでジャンクやノーチェックが数百円で買える。それらを使ってフォーマットやファイルシステムの練習をしてみた。

ハードディスクを確認する。

ハードディスク中のパーティションはハードディスク名+数字で表される

/dev/sda5 # /dev/sdaの5番目のパーティション

アルファベットで終るのがハードディスク。数字で終るのがパーティション

/dev/sdaはどのハードディスクか。

どのハードディスクが、どのデバイスになっているか。/dev/sdbはどのハードディスクかを知りたい。その他ハードディスクとデバイスファイルの対応が分からないとき、沢山のハードディスクを接続したが、どのディスクがどのハードディスクにマッピングして対応付けられた分からないときに調べる方法

1.とりあえず、マウントしてみる。

マウントしてファイルを見る。(原始的だが確実)

mount  /dev/sdb1 /mnt
2.容量から推測する。

ファイルがなかったり、新品だったり、フォーマット済みだったりした場合。
容量などで推察できる。

fdisk -l -u

容量から有る程度推察できる。

3.確実な方法。個体シリアル番号を調べる
hdparm -i /dev/sda

hdparmをから個体番号(serial)をみる。
容量もメーカーも同じ場合、ハードディスクのシリアル番号を見ます。推察できない場合は hdparm 。これは確実。実物ハードディスクと見比べる。ハードディスクにはシリアル番号が書いてあり見比べて確認が出来る。事前にHDDのシリアル番号を控えてないと面倒なので、PC設置前にシリアル番号は写メる習慣をつけておくのがよいかも。
 ただ、USBのHDDは変換チップの特性で見られないみたい。

実例 :fdiskで容量見る

takuya@v1055g:~$ sudo fdisk -l -u /dev/sda

ディスク /dev/sda: 251.0 GB, 251000193024 バイト
ヘッド 255, セクタ 63, シリンダ 30515, 合計 490234752 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
Disk identifier: 0x25472547

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *          63   484311554   242155746   83  Linux
/dev/sda2       484311555   490223474     2955960    5  拡張領域
/dev/sda5       484311618   490223474     2955928+  82  Linux スワップ / Solaris

実例 :hdparmでシリアル番号確認

takuya@v1055g:~$ sudo hdparm -i /dev/sda

/dev/sda:

 Model=Maxtor 6V250F0                          , FwRev=VA111630, SerialNo=V59525JG
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=DualPortCache, BuffSize=16384kB, MaxMultSect=16, MultSect=?0?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=490234752
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode

ディスクにパーティションを作る。

追加したい対象のディスクが分かったら、パーティションを作る

一番単純なのは fdisk 

実例

takuya@v1055g:~$ sudo fdisk /dev/sdb
[sudo] password for takuya:

このディスクのシリンダ数は 243201 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

fdisk を押してコマンドを一文字だけ入れる。馴れないと勇気が要る。チョット怖い。
潰して良いハードディスクでパーティション切ったり消したりして感じを掴んだほうがいい。fdiskの細かい使い方は専門サイトやWikiがいっぱいあるので割愛。

ディスクをフォーマットする。

パーティションを作ったら、次にパーティションをフォーマットする。linux の場合 ext3を使うことが多い。
ext3でパーティションをフォーマットする。

mkfs.ext3  /dev/sdb1 # デバイスファイル(パーティション)

実例

takuya@v1055g:~$ sudo mkfs.ext3  /dev/sdb1
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122101760 inodes, 488378000 blocks
24418900 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
14905 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Writing inode tables: 
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

フォーマットできた。

ディスクをマウントして使う。

mount -t タイプ /dev/sda /mnt/#{マウント先}
sudo mount /dev/sdb1 /mnt

ext3 ならファイルシステムを明示しなくてもマウントして使うことが出来る。

自動的にマウントする

fstab に記述する。

USBハードディスクの確認

USBハードディスクは lsusb と /prco/scsi/scsi を確認する。

takuya@v1055g:~$ lsusb
Bus 001 Device 008: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

takuya@v1055g:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: Maxtor 6V250F0   Rev: VA11
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi5 Channel: 00 Id: 00 Lun: 00
  Vendor: WDC WD20 Model: EARS-00MVWB0     Rev: AB51
  Type:   Direct-Access                    ANSI  SCSI revision: 02

ファイルシステムのマウント方法

暗黙の基準があります。Windowsでシステムとデータでパーティションを使い分けるのと同じ。

容量が可変

これらの場所は、大きい容量のパーティションを割り当てます。*1

	/home, /var, /var/www/, /var/log, /var/mysql など 

容量が不変のモノ

OSの更新作業で若干容量は必要だけど、大きく変化しない(Varみたいな10倍100倍にならない)

	/lib, /bin, /usr など 

マウント先にSambaやNFSiSCSIも使えるのでディスク集約できて便利だ、。ネットワークリソースを消費するので利用には注意。

*1:LVMで良いかもしれない。