■Etc‎ > ‎

RAID容量拡張

250G*3(SoftRAID5)の構成を取ってるが如何せん容量不足に・・・
何をそんなにと我ながら思うのですが、どうにもコレクター気質なので
使いもしないVersionのアプリを残してたりとかで (´・ω・`)

RAIDを組みなおすのに、OSを入れ直すなんて・・・って思いつつぐぐったら
オンラインで容量拡張が可能って事がわかった。

そんな訳でRegza用に250Gを確保してたが、こちらは以前のように玄箱に渡して
このDiskを割り当て250G*4にへんこうしてみた。

■下準備
オンライン容量拡張(Online Capacity Expansion)機能を使うにはmdadm 2.6以降が必要。
リサイズをするのに必要なツールe2fsprogs(ext2/3ファイルシステムの場合)
まぁ、こちらは通常入ってると思う。

■Disk切り離し
/etc/fstabに書かれているsddをコメントアウト
#/dev/sdd1 /data02 ext3 defaults 0 2

■Diskサイズの確認
RAID5を組んでる既存パーティションサイズを確認してsddに同じ割り当てを行う
# fdisk -l /dev/sda
パーティション番号と何より大事なStartとEndの数字
Device Boot Start End Blocks Id System
/dev/sda1 1 12 96358+ fd Linux raid autodetect
/dev/sda2 13 134 979965 fd Linux raid autodetect
/dev/sda3 135 1350 9767520 fd Linux raid autodetect
/dev/sda4 * 1351 30401 233352157+ fd Linux raid autodetect

あまり晒したくないが我が家のきり方。
ちなみに、Diskサイズは既存より大きい分には問題ないが
小さくなると組めないので注意。
特にベンダーが違うDiskを使うときとかねъ(`ー゜)

# fdisk /dev/sdd
上記と同じになる様にパーティションを分ける。
Tyep変更も忘れないように。     

■sddを既存RAIDに組み込む
まず、スペアとして割り当てる必要があるみたいなのでスペアにしてあげる。
# mdadm --manage /dev/md0 --add /dev/sdd1
どこに、どのパーティションを入れるかは間違わないように注意。
まぁ、間違ってもサイズが違うから入らんと思うが。
後は、必要なパーティション分だけ繰り返す。

変更後に
# mdadm -D /dev/mdx
Spare Devices : x
spare /dev/sddx
と出ていればスペアとして追加された事が確認できる。     

■構成変更
スペアで割り当てたものをアクティブとして認識させてあげます。
# mdadm --grow /dev/mdx -n 4
終わればリビルドが開始される。(more /proc/mdstatで確認できます)
ちなみに、230G位*4で7時間位かかった(´_ゝ`)

実際に組み込まれたかは下記で確認
# mdadm -D /dev/mdx    

今度は、Stateがactiveになっている。

■拡張
容量拡張準備は出来たので、実際の容量を増やす。
# resize2fs /dev/mdx     

dfとかで見てみると容量がъ(`ー゜)

■おまけ
実際にした我が家は・・・
原因はどこにあるのかわかりませんが(多分mdadmのバージョン?)
mdadm 2.6にしなかったためか、ボケてて拡張する前に再起動かましてしまったりと
失敗しましたとさ。
えぇ、OSが死にましたよ 。・゚・(ノД`)・゚・。ウエエェェン

作業前には、必ずバックアップして慎重に・・・

■参考
つねおの怠惰な非日常