自宅の開発機兼ファイルサーバーのディスクが足りなくなってきたので、新たに1TB追加購入した。
元々 lvm で運用してたので、新しいディスク丸々 pvcreate して、既存の VG (lvmv1)に追加して、lvextend 早速足りないパーティションに追加した。
そこでふと、2台で1つの VG 構成してるけど、片方壊れたらまずいことになるよなぁーと思い、lvm について少し調べてみた。どうやら RAID みたいに(って言い方でいいのかなぁ ^^; )ミラー論理ボリュームというのがあって、 それ使うと冗長化できるっぽい。
ということで、ちょっと消えちゃまずそうなファイル用のパーティションを作成してミラー論理ボリュームなるものを作成中(終わったけど...)。lvcreate コマンドに -m1 とすると2つ分の領域でミラーするらしいが、 どうもうまくいかなかったので、このページと同じようにまず -m0 で作って、lvconvert で -m1 指定でコンバートしてみた。容量でかかったのか結構時間掛かったので、その間に VMware 上の別の ubuntu でとりあえずテストしてみた。
まず、既存の VM 設定にディスク2台、1GB 分をそれぞれ追加。/dev/sdb と /dev/sdc として認識させる。
丸まる PV にするので
pvcreate /dev/sdb /dev/sdc
と実行。vgcreate コマンドで1つの VG (volgp)を作成。
vgcreate volgp /dev/sdb /dev/sdc
lvcreate でミラー論理ボリュームをつくるんだが、やはりいきなり -m1 指定してもエラーが出るので以下の手順で作成。
lvcreate -L 500MB -n test -m 0 volgp lvconvert -m 1 --alloc anywhere /dev/volgp/test
lvs -a -o +devices で確認すると
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices test volgp mwi-ao 500.00M test_mlog 100.00 test_mimage_0(0),test_mimage_1(0) [test_mimage_0] volgp iwi-ao 500.00M /dev/sdb(0) [test_mimage_1] volgp iwi-ao 500.00M /dev/sdc(0) [test_mlog] volgp lwa-ao 4.00M /dev/sdb(125)
こんな感じになる。
mkfs.ext3 /dev/volgp/test
とやってファイルシステム作成して、適当に /mnt とかにマウント。なんか書き込んでおく。
一旦システムを終了して、VM の設定で先ほど追加したディスクのうち1台を削除。新たに1台 1GB を追加してブート。
pvscan すると、Couldn't find device ..... なメッセージや、PV unknown device といったメッセージが表示される。この状態だと vgextend で追加しようとしても volgp が無いっていわれて出来なかったので、一旦下記コマンドで無くなってしまったデバイスを削除。
vgreduce --removemissing volgp
Couldn't find device うんたらかんたらってエラーや警告が出るが、最後には Wrote out consistent volume group volgp と出て完了。
ここで新たに追加したディスク /dev/sdc を pvcreate して vgextend で追加する。
pvcreate /dev/sdc vgextend volgp /dev/sdc
ちなみに vgextend する前に /dev/volgp/test を /mnt にマウントすると先ほど書き込んだファイルが見れるので、ミラーされてるっぽい(たまたまかも?)。
vgextend したら、再度先ほどの lvconvert と同じようにしてミラー化する。一応 lvs -a -o +devices コマンドで最初にミラー化したときと同じ表示になることを確認する。
以上、ミラー論理ボリュームの構成と復元の手順なんだが、ミラー化するときに指定した --alloc anywhere が気になる...ちゃんと2台にまたがってミラーしてるんだろうなぁ...^^;
【参考にしたページ】
6.3 Recovering from LVM Mirror Failure
LVMでMirror
unknown device with lvm
OpenID を使ってログインすることができます。
poker, backgammon, tramadol, casino, insurance, loans