ディスクを増設してRAIDを組んでみたよ
80GBのディスクにCentOSインストールしてからディスクを増設してRAIDを組んでみたくなりました。
と、いうことで1TBのハードディスクを3個を増設して、RAID5で組んでみました。
マシンはNEC Express5800
ハードディスクのマウント先を確認する
# fdisk -l
以下の記述を確認し、ハードディスクのマウント先を確認する。
ディスク/dev/sdb1は正常な領域テーブルを含んでいません。 ディスク/dev/sdc1は正常な領域テーブルを含んでいません。 ディスク/dev/sdd1は正常な領域テーブルを含んでいません。
パーティッションの作成、領域のシステム指定
# fdisk /dev/sdb1 # fdisk /dev/sdc1 # fdisk /dev/sdd1
RAIDデバイスがユニークな名前になるように確認
# cat /proc/partitions major minor #blocks name 8 0 78125040 sda 8 1 104391 sda1 8 2 78019672 sda2 8 16 976762584 sdb 8 17 976760001 sdb1 8 32 976762584 sdc 8 33 976760001 sdc1 8 48 976762584 sdd 8 49 976760001 sdd1 253 0 72450048 dm-0 253 1 5537792 dm-1
mdadmコマンドでRAIDデバイスの構築
# mdadm -C /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 mdadm: /dev/sdb1 appears to contain an ext2fs file system size=1953519872K mtime=Fri Jul 24 20:36:23 2009 mdadm: /dev/sdb1 appears to be part of a raid array: level=raid5 devices=3 ctime=Mon Jul 20 23:10:09 2009 mdadm: /dev/sdc1 appears to be part of a raid array: level=raid5 devices=3 ctime=Mon Jul 20 23:10:09 2009 mdadm: /dev/sdd1 appears to contain an ext2fs file system size=2066766084K mtime=Wed Jul 16 11:51:53 1975 mdadm: /dev/sdd1 appears to be part of a raid array: level=raid5 devices=3 ctime=Mon Jul 20 23:10:09 2009 Continue creating array? y mdadm: array /dev/md0 started.
オプション | 説明 |
---|---|
-C | Createモード(RAID作成) |
/dev/md0 | RAIDデバイス名 |
-l5 | RAID5 |
-n3 | RAID構成に用いるパーティション数の指定.スペアパーティションを含める場合はその数を含めずに指定 |
-x | スペアパーティションの数の指定 |
最後にRAID構築に用いるパーティションをスペースで区切って順に記述
"-x" でスペアパーティションの使用を指示した場合は、後に記述したものがスペアパーティションとみなされる
今回は、スペアパーティッションを使わないので、以上のようなコマンドになる。
Continue creating array?に対して『y』を入力すれば、RAIDの構築が始まる。
RAID構築状態を確認する
構築中は以下のような出力。
# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdd1[3] sdc1[1] sdb1[0] 1953519872 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] [=>...................] recovery = 6.0% (58882048/976759936) finish=144.8min speed=105595K/sec
構築が終了すると以下の出力。
# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdd1[2] sdc1[1] sdb1[0] 1953519872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
この "/proc/mdstat" は故障したハードディスクを交換したり、RAIDを再構築するときに必要になるので、
以下のコマンドでコピーしておく。
# cp /proc/mdstat .
設定ファイルを作成する
以下のコマンドで設定ファイル/etc/mdadm.confを作成する。
# echo "DEVICE partitions" > /etc/mdadm.conf # echo "MAILADDR root" >> /etc/mdadm.conf # mdadm -D --scan >> /etc/mdadm.conf # cat /etc/mdadm.conf DEVICE partitions MAILADDR root ARRAY /dev/md0 level=raid5 num-devices=3 UUID=111bc53a:cf42c6d7:41dd215b:57cca41f
ファイルシステムの作成
# mke2fs -j /dev/md0 [root@52 ~]# mke2fs -j /dev/md0 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 244203520 inodes, 488379968 blocks 24418998 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 16384 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: 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.
mke2fsはdefaultではext2ファイルシステムを作成する。
オプション-jを付けると、ext3ファイルシステムを作成する。
Writing superblocks and filesystem accounting information:
と表示されたときにEnterを入力する必要がある。
起動時に自動的にマウントされるように
/etc/fstabにマウント情報を記述する
# vi /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/md0 /share ext3 defaults 1 3
一番下の行を追加した。
/shareにマウントしてみた。
再起動して、確認してみる。
$ df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 67G 2.8G 61G 5% / /dev/sda1 99M 21M 74M 22% /boot tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/md0 1.8T 196M 1.7T 1% /share none 3.8G 104K 3.8G 1% /var/lib/xenstored
マウントされている。