先日,組みたてた AMD A10 の家庭内サーバーマシンで HDD を RAID 構成にするって話.
OS は debian 9 を使っています.
使ったマザーボードは ASUS PRIME X390-PRO なんだけど,最初,付いてるハードウエア RAID を使おうかなと思ってました.で,マニュアルを読んでみたんだけど,あんまりフレキシブルに変更とか出来ないみたい.やっぱりハードウエア RAID ってそんなもんか...ってことでソフト RAID を使うことに.
ソフトウエアだと mdadm 使うか,それとも zfs とか btrfs とかを使うかって感じなのかな?
近いところで,btrfs は安定性に問題あったって話もあったし,RedHat も手を引くみたいなので避けた方がよさそうかなぁと.
これまで zfs ってまともに使ったことなかったので,zfs にしようかなと思ったけど,ドキュメントを読む限りではストレージブールに少しずつディスクを追加して容量変更することが出来ないみたいなのね.うーむ.容量増やすこと自体は出来るみたいだけど...ハードディスクを1台ずつ増やしながら再構築して容量増やしていこうかなと思ってるので,その使い方だと面倒そうかも.
ってことで,とりあえず普通に mdadm 使うことにしました.
構成方法ですけど,BeyondRAID とかって方法もあるけど,今のところ,容量の異なるディスクを混在させる予定もないので普通の RAID 構成で良いかなと.BeyondRAID 構成方法に関しては mdadm とか lvm とかというキーワードで検索すれば色々出てくるので興味のある方はそちらを検索してみてください.
RAID 構成は...本当は RAID6 辺りがよさそうかなとも思うけど,あんまり台数と容量の余裕もないので RAID5 で.まぁ,最悪,無くなってもいいデータしか入れる予定はないので.
ということで,とりあえず 3T HDD x 3台構成で RAID5 を作成.メモ代わりにざっと作業内容を書いておくとこんな感じかな.
fdisk でパーティション作成して partition type に 29 (LinuxRAID) を選択.その後,mdadm コマンドで RAID5 を作成.
% mdadm --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sd[bcd]1
3T x 3 で所要時間は 6時間 くらい.ファイルシステムを構築して,UUID を調べて fstab に /data 以下に mount するように記述.
% mkfs.ext4 /dev/md0
% blkid /dev/md0
% vi /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2
読み書きできることを確認.:-)
少しばかり確認した後に,とりあえず1台ディスク増設.
% mdadm --add /dev/md0 /dev/sde1
% mdadm --grow /dev/md0 --raid-disks=4
% cat /proc/mdstat
- snip -
[>....................] reshape = 1.0% (30643776/2930134016) finish=1009.2min speed=47881K/sec
再構成に結構時間かかるな.
上記が終わったらファイルシステム領域の拡張.
% unmount /dev/md0
% e2fsck -f /dev/md0
% resize2fs -p /dev/md0
% mount /data
でオッケーかな.
さらに 3T HDD x 2台追加.
% mdadm --add /dev/md0 /dev/sdf1
% mdadm --add /dev/md0 /dev/sdg1
% mdadm --grow /dev/md0 --raid-disks=6
% cat /proc/mdstat
- snip -
[>....................] reshape = 2.0% (60934688/2930134016) finish=1075.7min speed=44449K/sec
1台を追加して再構成した時間とあんまり変わらないね.ということは,1台ずつ追加するよりも数台まとめて追加した方が再構築にかかるトータル時間は短くて済むってことだね.
その後の e2fsck とか reise2fs などの作業は1台追加した時と同じ感じで.
コマンドに抜けがあったらゴメンなさい.こんな感じで,とりあえず 3TB x 6台 で RAID5 を構築しました.ふう.
でも,よくよく考えるとファイルサーバーに使うのなら zfs も普通に使えるし,OS を FreeBSD とかにした方が良さそうな気もしてきた.過去には,サーバー上で linux じゃないと...って機能を使っていたこともあったけど,現状では特に linux 的な機能って使ってないし.
とりあえず,これまで使っていた debian を入れ替えるのも面倒だし,そのまま使い続ける形にしたので mdadm を使ったけど,少し OS 構成も含めて考えようかなと思ったり.そのためには *BSD な状況を調べてみるかな.少し前の知識で止まってるんだけど,サーバー的には FreeBSD とか OpenBSD あたりが無難なのかな?
でも,この手元のサーバー,何を設定したかあんまり覚えてないんだよなぁ.やっぱりこの debian のまま使い続けるのが一番手間はかからないんだよな.:-)