新しいHDDを認識させる

Intrepidに新しく500GBのHDDを接続しました。今どきのPCは増設するときにねじ回しとかいらないんですねぇ。


つないだ後にdmesg。sdb1として認識されています。

$ dmesg | grep sdb
[    9.694379] sd 2:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
[    9.694391] sd 2:0:0:0: [sdb] Write Protect is off
[    9.694392] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    9.694412] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.694484] sd 2:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
[    9.694495] sd 2:0:0:0: [sdb] Write Protect is off
[    9.694496] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    9.694516] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.694518]  sdb:<6>input,hidraw1: USB HID v1.11 Mouse [Logitech Logitech USB Optical Mouse] on usb-0000:00:1d.0-2
[    9.699767] sd 2:0:0:0: [sdb] Attached SCSI disk

パーティション作成。Gpartedでもできると思いますが、Intrepidには入ってなかったのでfdiskで。Gpartedってデフォルトではインストールされないんでしたっけ。

$ sudo fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
Building a new DOS disklabel with disk identifier 0x0c605e39.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


このディスクのシリンダ数は 60801 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): p

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0c605e39

デバイス Boot      Start         End      Blocks   Id  System

最初は何も表示されないので、nコマンドで新規作成。基本領域の1です。

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-60801, default 1): 
Using default value 1
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-60801, default 60801): 
Using default value 60801

全部1つのパーティションにしてます。

コマンド (m でヘルプ): p

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0c605e39

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       60801   488384001   83  Linux

テーブルに書き込み。

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

ext3でフォーマット。

$ sudo mkfs -t ext3 /dev/sdb1
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
30531584 inodes, 122096000 blocks
6104800 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
3727 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

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

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

ここでは/home2にマウントしてます。

$ sudo mkdir /home2
$ sudo mount /dev/sdb1 /home2
$ mount
(snip)
/dev/sdb1 on /home2 type ext3 (rw)
$ df -h
Filesystem            サイズ  使用  残り 使用% マウント位置
(snip)
/dev/sdb1             459G  199M  435G   1% /home2

無事にマウントできました。

さらにfstabを編集し、マシン起動時にマウントできるようにしておきます。

$ sudo vi /etc/fstab
(snip)
# /dev/sdb1 - Extended HDD
/dev/sdb1	/home2	ext3	relatime	0	2

確認のためいったんアンマウントし、mount -aしてみる。

$ sudo umount /home2
$ sudo mount -a
$ mount
(snip)
/dev/sdb1 on /home2 type ext3 (rw,relatime)

これで大丈夫そうです。


参考:CentOS5.2にHDDを増設する。