スペアディスクつけてRAIDを作成する方法
Fault発生時にオートでスペアディスクを用意しておくとRAIDアレイの再構成を勝手に行ってくれる
RAIDアレイ作成時にスペアも追加する場合は以下のようにする。
1 2 | [root@gestos01 ~] # mdadm --create /dev/md0 --level 1 --raid-devices 2 --spare-devices 1 /dev/xvd{b,c,d}1 mdadm: array /dev/md0 started. |
追加されているディスクを確認してみる
cat /proc/mdstat をみると徐々に追加されている様子がわかる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdd1[2](S) xvdc1[1] xvdb1[0] 1044096 blocks [2 /2 ] [UU] [==========>..........] resync = 54.8% (572616 /1044096 ) finish=0.3min speed=26028K /sec unused devices: <none> [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdd1[2](S) xvdc1[1] xvdb1[0] 1044096 blocks [2 /2 ] [UU] [============>........] resync = 61.2% (640904 /1044096 ) finish=0.2min speed=26704K /sec unused devices: <none> [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdd1[2](S) xvdc1[1] xvdb1[0] 1044096 blocks [2 /2 ] [UU] unused devices: <none> |
ファイルシステムを作成する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [root@gestos01 ~] # mkfs /dev/md0 mke2fs 1.39 (29-May-2006) Filesystem label= OS type : Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 130560 inodes, 261024 blocks 13051 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 16320 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. |
マウントをして使用できることを確認する
1 2 3 4 5 6 7 8 9 10 | [root@gestos01 ~] # mount /dev/md0 /mnt [root@gestos01 ~] # ls Desktop anaconda-ks.cfg install .log install .log.syslog mbox test .sh [root@gestos01 ~] # [root@gestos01 ~] # ls /mnt lost+found [root@gestos01 ~] # touch /mnt/aaa [root@gestos01 ~] # [root@gestos01 ~] # ls /mnt aaa lost+found |
ディスクに不良マークをつけてみる
1 2 | [root@gestos01 ~] # mdadm /dev/md0 -f /dev/xvdb1 mdadm: set /dev/xvdb1 faulty in /dev/md0 |
するとRAIDの再構成がはじまった。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdc1[2] xvdd1[1] xvdb1[3](F) 1044096 blocks [2 /1 ] [_U] [=>...................] recovery = 5.3% (56936 /1044096 ) finish=1.1min speed=14234K /sec unused devices: <none> [root@gestos01 ~] # [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdc1[2] xvdd1[1] xvdb1[3](F) 1044096 blocks [2 /1 ] [_U] [===>.................] recovery = 16.9% (177276 /1044096 ) finish=1.1min speed=12662K /sec unused devices: <none> |
再構成中も問題なくディスクを使用できる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@gestos01 ~] # touch /mnt/bbb [root@gestos01 ~] # ls /mnt aaa bbb lost+found [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdc1[2] xvdd1[1] xvdb1[3](F) 1044096 blocks [2 /1 ] [_U] [=================>...] recovery = 86.9% (908556 /1044096 ) finish=0.2min speed=10587K /sec unused devices: <none> [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdc1[0] xvdd1[1] xvdb1[2](F) 1044096 blocks [2 /2 ] [UU] unused devices: <none> |
不良マークになったディスクを削除する
1 2 3 4 5 6 7 8 9 | [root@gestos01 ~] # mdadm /dev/md0 -r /dev/xvdb1 mdadm: hot removed /dev/xvdb1 [root@gestos01 ~] # [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdc1[0] xvdd1[1] 1044096 blocks [2 /2 ] [UU] unused devices: <none> |
以下のコマンドでまた追加するとそのディスクはホットスペアになった。
1 2 3 4 5 6 7 8 9 | [root@gestos01 ~] # mdadm /dev/md0 -a /dev/xvdb1 mdadm: added /dev/xvdb1 [root@gestos01 ~] # [root@gestos01 ~] # cat /proc/mdstat Personalities : [raid1] md0 : active raid1 xvdb1[2](S) xvdc1[0] xvdd1[1] 1044096 blocks [2 /2 ] [UU] unused devices: <none> |
今回はスペアディスクを追加したRAIDを試してみた。
次回は容量の異なるパーティション上にRAIDができるか確認してみる