以前LinuxでmdadmとかでソフトウェアRAIDを作ったことがあったが、なんとなくで進めていた部分もあっていまいち理解度も少ない。LPICでも勉強したとは言え反復も少ないしまだまだだ。ので、またRAIDを試してみようと思う。
FreeBSDだとGEOMかZFSを使うことでソフトウェアRAIDができるらしい。
毎度毎度のことだけど、色々やってみたけど実際に稼働できるようになるまで半日くらいかかってしまったのだが、日記でまとめちゃうとほんのちょこっとになってしまうのだ。
ほんのちょこっとなんだけど、そこに気付いてほしいぞ。
では本題に。
今回はHDDを2個用意してミラーリングを作るという手順になる。
FreeBSDインストールの段階でHDDが2個認識されていて、ad0、ad1ともにスライスを切ることとラベルの割り当ては普通におこなって上手くいった。
今回試したのとは違うけど、すでに運用中のものに増設した場合は、dmesgで認識されているか確認してスライスを初期化すれば大丈夫。
なはず。
% dmesg ad0: 20480MB <QEMU HARDDISK 0.12.1> at ata0-master WDMA2 ad1: 20480MB <QEMU HARDDISK 0.12.1> at ata0-slave WDMA2 % sudo newfs -U /dev/ad1 Password: /dev/ad1: 20480.0MB (41943040 sectors) block size 16384, fragment size 2048 using 112 cylinder groups of 183.72MB, 11758 blks, 23552 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 376416, 752672, 1128928, 1505184, 1881440, 2257696, 2633952, 3010208, 3386464, 3762720, 4138976, 4515232, 4891488, 5267744, 5644000, 6020256, 6396512, 6772768, 7149024, 7525280, 7901536, 8277792, 8654048, 9030304, 9406560, 9782816, 10159072, 10535328, 10911584, 11287840, 11664096, 12040352, 12416608, 12792864, 13169120, 13545376, 13921632, 14297888, 14674144, 15050400, 15426656, 15802912, 16179168, 16555424, 16931680, 17307936, 17684192, 18060448, 18436704, 18812960, 19189216, 19565472, 19941728, 20317984, 20694240, 21070496, 21446752, 21823008, 22199264, 22575520, 22951776, 23328032, 23704288, 24080544, 24456800, 24833056, 25209312, 25585568, 25961824, 26338080, 26714336, 27090592, 27466848, 27843104, 28219360, 28595616, 28971872, 29348128, 29724384, 30100640, 30476896, 30853152, 31229408, 31605664, 31981920, 32358176, 32734432, 33110688, 33486944, 33863200, 34239456, 34615712, 34991968, 35368224, 35744480, 36120736, 36496992, 36873248, 37249504, 37625760, 38002016, 38378272, 38754528, 39130784, 39507040, 39883296, 40259552, 40635808, 41012064, 41388320, 41764576
sysinstall > configureでもいいみたい。
という事でミラーリング作成に進もう。
まずはFreeBSDのイメージDISKを入れてDISKからブートする、一般的にはライブDISKみたいだけど普通のDISKでもいけました。
普通に立ち上げて、日本を選択すると ↑ の画面が出てくるはずなのでFIXITを選択。
まずやることはカーネルのモジュールをロードしました。
Fixit# chroot /dist
Fixit# gmirror load
Fixit# exit
Fixit#
gmirrorをロードしただけでラベルとか設定しなくても、下の図みたいにad0だけの構成が出来上がってました。
ここにad1を付け足すので
Fixit# gmirror insert gm0 ad1
これだけで同期が始まりました。下の図は
Fixit# gmirror status
で確認しているところ。
Fixit# gmirror list
をすると下の図のような確認もできました。
うーん。もうちょいだなあ。
同期が終わるとこんな感じになりますってのをgmirror statusで見てみると
てことでここから設定に入ります。マウントしてから、loader.confでgeomのモジュールを起動する記述をします。
Fixit# mount /dev/mirror/gm0s1a /mnt
Fixit# edit /mnt/boot/loader.conf
geom_mirror_load=”YES”
続いてFSTABを編集しよう。たけの環境では/dev/ad0の部分を書き換えただけです。
Fixit# edit /mnt/etc/fstab
これで完了です。
これで終わり?って思いました? ハイ、これで終わりなのですw
ここまでなのにどれだけかかったことかw
ドキドキしながら再起動しましょう。
いけましたね。
では、ほんとに上手く認識しているかチェックしましょう。
OKでした。
参考サイトでは1個だけの起動とか試してますので、どうぞ。
たけサイトではここで終わります。
つぎはZFSでRAIDを試してみようと思います。
ZFSはファイルシステムがRAIDに対応しているみたいなので、と言っても具体的には分かりませんけどw
参考資料
実践FreeBSDサーバ構築・運用ガイド 佐々木 宣文 (著), 後藤 大地 (著), 佐藤 広生 (監修)
参考サイト
FreeBSD8.0 WEBサーバ構築ノート