3台ディスクを用意し、Software RAID に Ubuntu Server をインストールする。構成は、RAID 5 にする。(Virtualbox を使用して、ディスクは3GB×3)
インストール後、ディスク1台を除去した上で、起動するか確認し、新たにディスクを追加してリカバリしてみる。
Virtualbox で、新規仮想マシンを作り、ハードディスクを3台作成しておく。
ubuntu-12.10-server-i386.iso をIDEコントローラーに追加する。
CDからブートして、Ubuntu Server をインストールする。
ディスクのパーティショニングで「手動」を選び、3台のディスクにパーティションを作成し、Software RAID のコンフィグを行う。

インストールが終わったら Ubuntu サーバを起動を確認してみる。VM のネットワーク設定でホストオンリーアダプタを選択しておくと、ubuntu サーバには 192.168.56.10x がDHCPで割り当てられ、Windows から ssh 接続などができる。
VM からディスク1台を除去する。(電源オフ後)
Ubuntu をブートする。GRUB メニューで、e を押し、gfxmode text にする。(これでboot シーケンスが表示される)
F10でブートして、RAID の縮退(degraded)で y を入力する
(カーネル起動オプションに、bootdegraded=true を追記すると、縮退状態で自動起動できる)
cat /proc/mdstat で確認すると、ディスク2台の縮退動作になっている。
atc500@ubuntu:~$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sda1[1] sdb1[2]
6282240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]unused devices: <none>
Ubuntu を シャットダウン して、VM に新規ディスクを追加する。
Ubuntu を起動する。新規追加ディスクには、Grub が書かれていないので起動しない。F12を押して2番目のディスクから起動する。ディs区1台を除去したときと同様に、Grub メニューで e, gfxmode text, Do you wish to start the degraded RIAD? y
新規追加ディスクにパーティションを作成する。
fdisk /dev/sda
n –> p –> default 1 –> default –> default –> w
RAID(/dev/md0) に、ディスクを追加する。
root@ubuntu:~# mdadm -a /dev/md0 /dev/sda1
mdadm: added /dev/sda1
cat /proc/mdstat でリカバリの進捗を確認する。
root@ubuntu:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sda1[3] sdb1[1] sdc1[2]
6282240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[=>...................] recovery = 6.2% (197344/3141120) finish=3.7min speed=13156K/sec
unused devices: <none>
リカバリが終了したら、追加ディスクに、Grub をインストールする。
root@ubuntu:~# grub-install /dev/sda
Installation finished. No error reported.
(おわり)
ディスクに問題が発生して、cat /proc/mdstat で(F)が表示された場合
mdadm –r /dev/md0 /dev/sdb1 で、/dev/sdb1 を除去できる。
また、mdadm –f /dev/md0 /dev/sdb1 で、/dev/sdb1 を disk failure にできる。