LVMのトラブルShooting☆Star(チガウ [Linux(LVM/RAID/Storage)]
●mixiからの転記(&加筆)
LVMの構築方法とかはあちこちに紹介があるんだけど、トラブったときの情報とかめっちゃ少な杉なのでここに書いておくお。
☆他のサーバ(PC)で構築したlvmなディスクを移植する場合
例えばPCが壊れちゃったとかのケースで、他のマシンにLinuxをセットアップして中のデータをサルベージしたいとかありますよね。その場合にどうすればいいかな~?という時に役立つかもしれない役立たないかもしれない対処方法。
こういう時はさすがにUSBなハードディスクだとラクに救済できてラッキーとか思いますよほんとに。(笑)
手順としてはこんな感じ。
①他のサーバでlvmが使えるようにしておく
→確認方法とかセットアップ方法とかは基本編を参照汁!
②ディスクを他のサーバに接続する
→USBならざくざく差し込めばいいですな。
③移設したディスクにある「物理ボリューム」を認識させる
④移設したディスクにある「ボリュームグループ」を認識させる
⑤「ボリュームグループ」を活性化させる
⑥マウント汁
ということになります。
てなわけで解説いきますお。
ステップ1:他のサーバでlvmが使えるようにしておく
省略!
ステップ2:ディスクを他のサーバに接続する
省略!
なお、cat /proc/partitionsで接続したディスクがちゃんと見えていることをあらかじめ確認しておきましょう。この際に、デバイス名が元々のサーバと違っていても全く気にする必要はありません。例えば、元々のサーバに接続されていた時に「/dev/sdg1」だったデバイス名が他のサーバで「/dev/sdj1」とかになっていても、無問題だということです。
ステップ3:移設したディスクにある「物理ボリューム」を認識させる
なんも難しいことは無くて、 pvscan コマンドをポンと実行して終了。
エラーがなければ特に何も表示されないかと。
認識されたかどうか、 pvdisplay コマンドで確認しておきませう。
ステップ4:移設したディスクにある「ボリュームグループ」を認識させる
これも難しいことはなくて、 vgscan コマンドをポンと実行して終了。
なお、ここでは触れてないけども、元々のサーバで vgexport コマンドを実行した場合は、ディスクを移設した先のマシンで vgimport コマンドを実行するですよ。まあ、この手順を省略してもほとんどの場合はサクっとボリュームグループが認識されるはずです。サーバがハングアップしたとかいうケースで運が悪いとこの手順が無いとダメぽ!…みたいなこともあるようなないような。
ボリュームグループが本当に認識されたかどうか vgdisplay コマンドで確認しましょう。
ただし、この状態だとまだボリュームグループが非活性という状態になっていて、そのボリュームをマウントできない状態になっていますので、あと一手間必要です。
ステップ5:「ボリュームグループ」を活性化させる
実際にそのファイルシステムを使用するために必要なおまじないがあります。 vgchange コマンドを使用します。「-ay」オプションに続けてボリュームグループ名を記述するのです。前アーティクル(LVMの構築方法(基本編))の例では「vgtera」という名前を割り当てましたから…
ということになりますな。これでlvmが活性化されましたので…
ステップ6:マウント汁
まうんとしる。
mount /dev/vgtera/lva /mnt/hoge
とか
mount LABEL=DATAAREA /mnt/hoge
とかでおっけーですお。
なお、こんな場末なblogの落書きを見てしまった識者の方で指摘とかツッコミとかありましたらコメントよろしこです。
追記:
サーバのトラブルじゃなくて、例えば「サーバをリプレースしたいな~」とかいうケースでディスクをつなぎ替える前に事前準備ができるという場合は、以下の操作を推奨。
追加ステップ1:ファイルシステムをアンマウント
省略
追加ステップ2:ボリュームグループを不活性状態にする
vgchange -an (ボリュームグループ名) というコマンドを投入する。今回構築した例でいけば
ですな。
追加ステップ3:ボリュームグループに関する情報をディスクに書き出す(エクスポートする)
これをやっておくとかなり安心。というか推奨。
vgexport (ボリュームグループ名) というコマンドを使用するですよ。今回構築した例でいけば
ですな。ここまで実行したら、あとはサーバを止めて(まあ、アンマウントしてあってUSBなディスクならそのままケーブルをザックリ抜いて問題ないけど、精神衛生上「sync」を打っておくとよいような気がします)ディスクを引っこ抜くね。
で、本文中灰色の文字を実施すること。(vgscanの後でvgimportを実行するアレね)
↑こんな感じね~
LVMの構築方法とかはあちこちに紹介があるんだけど、トラブったときの情報とかめっちゃ少な杉なのでここに書いておくお。
☆他のサーバ(PC)で構築したlvmなディスクを移植する場合
例えばPCが壊れちゃったとかのケースで、他のマシンにLinuxをセットアップして中のデータをサルベージしたいとかありますよね。その場合にどうすればいいかな~?という時に役立つかもしれない役立たないかもしれない対処方法。
こういう時はさすがにUSBなハードディスクだとラクに救済できてラッキーとか思いますよほんとに。(笑)
手順としてはこんな感じ。
①他のサーバでlvmが使えるようにしておく
→確認方法とかセットアップ方法とかは基本編を参照汁!
②ディスクを他のサーバに接続する
→USBならざくざく差し込めばいいですな。
③移設したディスクにある「物理ボリューム」を認識させる
④移設したディスクにある「ボリュームグループ」を認識させる
⑤「ボリュームグループ」を活性化させる
⑥マウント汁
ということになります。
てなわけで解説いきますお。
ステップ1:他のサーバでlvmが使えるようにしておく
省略!
ステップ2:ディスクを他のサーバに接続する
省略!
なお、cat /proc/partitionsで接続したディスクがちゃんと見えていることをあらかじめ確認しておきましょう。この際に、デバイス名が元々のサーバと違っていても全く気にする必要はありません。例えば、元々のサーバに接続されていた時に「/dev/sdg1」だったデバイス名が他のサーバで「/dev/sdj1」とかになっていても、無問題だということです。
ステップ3:移設したディスクにある「物理ボリューム」を認識させる
なんも難しいことは無くて、 pvscan コマンドをポンと実行して終了。
エラーがなければ特に何も表示されないかと。
認識されたかどうか、 pvdisplay コマンドで確認しておきませう。
ステップ4:移設したディスクにある「ボリュームグループ」を認識させる
これも難しいことはなくて、 vgscan コマンドをポンと実行して終了。
なお、ここでは触れてないけども、元々のサーバで vgexport コマンドを実行した場合は、ディスクを移設した先のマシンで vgimport コマンドを実行するですよ。まあ、この手順を省略してもほとんどの場合はサクっとボリュームグループが認識されるはずです。サーバがハングアップしたとかいうケースで運が悪いとこの手順が無いとダメぽ!…みたいなこともあるようなないような。
ボリュームグループが本当に認識されたかどうか vgdisplay コマンドで確認しましょう。
ただし、この状態だとまだボリュームグループが非活性という状態になっていて、そのボリュームをマウントできない状態になっていますので、あと一手間必要です。
ステップ5:「ボリュームグループ」を活性化させる
実際にそのファイルシステムを使用するために必要なおまじないがあります。 vgchange コマンドを使用します。「-ay」オプションに続けてボリュームグループ名を記述するのです。前アーティクル(LVMの構築方法(基本編))の例では「vgtera」という名前を割り当てましたから…
[root@server1 root]# vgchange -ay vgtera
ということになりますな。これでlvmが活性化されましたので…
ステップ6:マウント汁
まうんとしる。
mount /dev/vgtera/lva /mnt/hoge
とか
mount LABEL=DATAAREA /mnt/hoge
とかでおっけーですお。
なお、こんな場末なblogの落書きを見てしまった識者の方で指摘とかツッコミとかありましたらコメントよろしこです。
追記:
サーバのトラブルじゃなくて、例えば「サーバをリプレースしたいな~」とかいうケースでディスクをつなぎ替える前に事前準備ができるという場合は、以下の操作を推奨。
追加ステップ1:ファイルシステムをアンマウント
省略
追加ステップ2:ボリュームグループを不活性状態にする
vgchange -an (ボリュームグループ名) というコマンドを投入する。今回構築した例でいけば
[root@server1 root]# vgchange -an vgtera
ですな。
追加ステップ3:ボリュームグループに関する情報をディスクに書き出す(エクスポートする)
これをやっておくとかなり安心。というか推奨。
vgexport (ボリュームグループ名) というコマンドを使用するですよ。今回構築した例でいけば
[root@server1 root]# vgexport vgtera
ですな。ここまで実行したら、あとはサーバを止めて(まあ、アンマウントしてあってUSBなディスクならそのままケーブルをザックリ抜いて問題ないけど、精神衛生上「sync」を打っておくとよいような気がします)ディスクを引っこ抜くね。
で、本文中灰色の文字を実施すること。(vgscanの後でvgimportを実行するアレね)
[root@server2 root]# vgimport vgtera
↑こんな感じね~
コメント 0