# mdadm --manage /dev/md0 --add /dev/sdg1 # mdadm --grow /dev/md0 --raid-devices=6 mdadm: Cannot set device size/shape for /dev/md0: Invalid argument
とか言われる。
調べてみるとカーネルが古いのが原因で、解決策としては新しいカーネルのLiveCDを使えばなんとかなるようだ。
http://www.mail-archive.com/linux-raid@vger.kernel.org/msg09062.html
http://centos.info/modules/newbb/viewtopic.php?viewmode=thread&order=ASC&topic_id=24121&forum=37
とりあえず仮想PC上で実験をした
- CentOS 5.5 x64 ja
これをOS用ディスクにインストールして、Raidのディスク6個追加し、
これでgrowする。
アレイの作成
# mdadm --create /dev/md0 --raid-devices=5 --level=6 --chunk=128 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 # vgcreate -s 32M Array00 /dev/md0 # lvcreate -L 5.45T -n LogVol00 Array00 # mkfs -t ext4 -E stride=32,stripe-width=96 -i 65536 -m 0 -O extents,uninit_bg,dir_index,filetype,has_journal,sparse_super /dev/Array00/LogVol00
アレイのgrow
ここからUbuntu
//入ってないのでインストール # apt-get install mdadm //ディスクからアレイの情報を得る # sudo mdadm --examine /dev/sdb1 //assemble # sudo mdadm --assemble --uuid=上で得たUUID /dev/md0 //add # sudo mdadm --manage /dev/md0 --add /dev/sdg1 //grow # sudo mdadm --grow /dev/md0 --raid-devices=6
md、pv、lv、fsの拡張
CentOSに戻る
//mdの拡張 # mdadm -G -z max /dev/md0 //pvの拡張 # pvresize /dev/md0 //vgの確認 # vgdisplay -v Array00 Total PE(物理エクステントの総数) Alloc PE / Size(割り当てられている物理エクステント / サイズ) Free PE / Size(フリーな物理エクステント / サイズ) あたりが必要な情報 //lvの拡張 # lvextend -l 新しい物理エクステント数 /dev/Array00/LogVol00 または # lvextend -L 新しいサイズ /dev/Array00/LogVol00 //fsの拡張 # resize4fs /dev/Array00/LogVol00
うまくいくようなので実機で試してみる
のこり2000分…。
まとめ
- CentOS5だとRaid6の--growができなくて泣けるのでLiveCDでやりましょう
- 仮想PCを使えば一応テストはできる
- 「あれい」で変換してアレイより阿礼が先に出るGoogle日本語入力はいい感じに狂ってる