次のページ 前のページ 目次へ

6. ディスクの交換

LVM の長所の 1 つにこれが上げられます。あるディスクでエラーが出はじめたら、 データをぼちぼち移動しなければいけません。LVM を利用すると、とても簡単に 実行できます。 まずはじめに典型的な交換作業の例をあげます。少なくとも、交換したいだけの 容量を持つディスクをシステムに追加してみます。

データを移動するには、ボリューム・グループの物理エクステントを他のディスク、 より正確には物理ボリュームに移動することになります。これを行うには LVM で 行うには pvmove ユーティリティを使用します。

おかしなディスクを /dev/hda1 として、これを /dev/sdb3 に置き換えることにしま しょう。まず /dev/sdb3 を /dev/hda1 が属しているボリューム・グループを追加 します。

この作業を行う前に、このボリューム・グループに属するファイルシステムのマウント を外してください。フル・バックアップをとればなお安全です。

FIXME: これは必要か?

では pvmove を実行してみましょう。とても簡単に実行できるので、 外そうとしているディスクに注意を集中してください。実行は下記のように なります。

# pvmove /dev/hda1
pvmove -- moving physical extents in active volume group "test1"
pvmove -- WARNING: moving of active logical volumes may cause data loss!
pvmove -- do you want to continue? [y/n] y
pvmove -- doing automatic backup of volume group "test1"
pvmove -- 12 extents of physical volume "/dev/hda1" successfully moved

この警告に注意してください。というのも、カーネルと LVM それぞれいくつかの バージョンでは、このコマンドで問題が生じます。2.3.99pre6-2 でテストして、 うまく動きましたが、警告が出ました。

これで物理エクステントは /dev/hda1 のどこにも存在しなくなったたので、 ボリューム・グループから外すことができます。

# vgreduce test1 /dev/hda1
vgreduce -- doing automatic backup of volume group "test1"
vgreduce -- volume group "test1" successfully reduced by physical volume:
vgreduce -- /dev/hda1

FIXME:いくつかはっきりさせる必要がある。ボリューム・グループはアクティブ にしておくべきか? データが失われるのはどんな場合か?

6.1 手遅れになる時

ディスクか何の警告もなしに壊れて、そのディスクの物理エクステントを他の物理 ボリュームに移行できなかった場合には、壊れてしまった物理ボリュームの論理 ボリュームをミラーしていなければ、データが壊れてしまうでしょう。適切な対応方法 は、壊れた物理ボリュームとまったく同じものと交換するか、最低でも同じ大きさの パーティションに交換するかのどちらかです。

/etc/lvmconf ディレクトリには LVM に関するデータと構成がバックアップされて います。構成とは、ディスクの物理ボリュームへの割り当てと物理ボリュームが 属しているボリューム・グループ、どの論理ボリュームがそのボリューム・グループ に入っているかの一覧から成ります。

壊れたディスクを交換した後、vgcfgrestore コマンドを使って LVM の データを新しい物理ボリュームに復活させます。この作業でボリューム・グループ をはじめ、すべての情報を復活できますが、論理ボリュームのデータは復活しません。 その理由は、LVM のコマンドの大部分が、変更が加わった時点で自動的に LVM 関連の データをバックアップしているからです。


次のページ 前のページ 目次へ