system management
1748219 メンバー
4523 オンライン
108759 解決策
新規ポスト

LVMコンフィグ情報復元について

 
hiro_760329
アドバイザー

LVMコンフィグ情報復元について

VG00内のひとつのPVが障害となった場合、LVM情報をvgcfgrestoreコマンドにて回復しようと考えているのですが、manページにて確認すると、vgcfgrestoreコマンドの前提条件に対象vgを非活性化する必要があるとの記述があります。vg00はbootディスクも存在することから、vg00を非活性化することへの影響が多大であることから、vg00を非活性する必要性についてご教授いただきたく。宜しくお願いします。
7件の返信7
hazelwood
信頼あるコントリビューター

LVMコンフィグ情報復元について

そんなこと書いてあったかなと思ってman pageを読み返してみたところ、3箇所ほどありました。

1. 「共用モードでアクティブ化されている場合」

2. 「カーネル内のデータとPV数が一致しない場合」

3. 「警告」の「使用不能にしておくことを推奨」

1の場合は、クラスタのもう一方と構成情報が一致しなくなる可能性があるからでしょう。

2,3はカーネル内の情報と一致しなくなることを回避するためと思われます。

(つけくわえるなら、3は「必須」ではなく「推奨」ですね。)

構成情報のバックアップファイルが確実に正しいものであれば、非活性化しなくても問題ないと思います。

ただし、対象のディスクがディスク交換後などでVGに組み込まれていないことが前提です。

正常な状態でvgcfgrestoreを行なうとどうなるかはわかりませんが、データ破壊を引き起こすかもしれません。
cube0015
レギュラーアドバイザー

LVMコンフィグ情報復元について

vg00はミラーor非ミラーのどちらなのでしょうか?

#非ミラーなら、vg00を構成するPV故障でシステムダウン!?ですね(苦笑)

大半は、hazelwoodさんが回答されいますので、1つだけ付け加えさせて頂きます。

非活性化やる場合は、LVM構成情報の確実なバックアップであることが重要なので、以下のコマンドで確認後、リストアされた方がベターだと思います。

# vgcfgrestore -n /dev/vg00 -l

Volume Group Configuration information in "/etc/lvmconf/vg00.conf"

VG Name /dev/vg00

---- Physical volumes : 2 ----

/dev/rdsk/cXtYdZ (Bootable)

/dev/rdsk/cAtBdC (Non-bootable)

※どのPVのLVM構成情報なのか確認する

 
Ku_O
レギュラーアドバイザー

LVMコンフィグ情報復元について

VG00 が2つのディスクでミラーされているとします。その場合、オンラインで片方のディスクを交換するとき、途中で VG を非活性化することは不可能です。ファイルシステムが mount されたままだとエラーになります。交換後にそのディスクに対して vgcfgrestore(と mkboot)して vgchange -a y を行うと、同期が始まりますから、あえて非活性化する必要はありません。

ミラーではなく、VG00 なんだけど OS の入ってる部分ではないディスクの故障の場合は、mount を外した後交換し、vgcfgrestore して vgchange -a y で活性化し、lvol が見えるようになったら newfs でフォーマットという流れになるかと思います。umount できないようだと厄介ですので、プロにお願いした方がよいかと思います。

ミラーでなく、OS が入っている領域で問題があったら、ディスク交換後 OS 入れなおし、あるいは Ignite/UX 等で取得したバックアップのリストアをすることになるでしょう。

VG00 をどうしても非活性化状態にしたい場合は、OS をメンテナンスモードで起動させるしかありません。
hiro_760329
アドバイザー

LVMコンフィグ情報復元について

hazelwood様

cube0015様

Kuni様

早速のご回答大変ありがとうございます。簡単に当システムをご説明させていただきますと、vg00は2つのPVより構成されておりミラーリングしております。また、/etc/lvmconf/vg00.confについては定期的に更新(vgcfgbackupを定期的に実行)しており常に最新となっております。皆様のご回答をご参考にさせていただき、以下の手順にてディスク交換後の回復作業を実施したいと思います。

�VG00バックアップファイル情報の確認

# vgcfgrestore -l -n /dev/vg00

�交換したディスクへLVM情報(vg00)の回復

# vgcfgresore -n /dev/vg00 /dev/rdsk/******

�vg00活性化

# vgchange -a y /dev/vg00

�ミラー同期

# vgsync /dev/vg00

もう一点だけご確認させてください。�って必要ですよね???�vgchangeで非活性vgを活性化した場合は、バックグラウンドでミラー同期も実行されると認識しておりますが、今回は上記内容にあてはまらないことから、�が必要と認識しているのですが・・・。
Ku_O
レギュラーアドバイザー

LVMコンフィグ情報復元について

hiro_760329 さん、

そういった構成だと、最低限以下のような手順になります(PA-RISC 版 HP-UX で、ディスクがオンライン交換可能な場合)。

�ディスクをオンラインで交換。

�vgcfgrestore -n /dev/vg00 /dev/dsk/XXXX

�vgchange -a y /dev/vg00

これで普通は sync が走りますが、もし走らなければ vgsync してください。

�mkboot /dev/rdsk/XXXX

�交換したディスクがミラーのプライマリなら

mkboot -a "hpux" /dev/rdsk/XXXX

セカンダリなら

mkboot -a "hpux -lq" /dev/rdsk/XXXX

-lq オプションは、quarum check をしないというオプションです。セカンダリのディスクから上がってくるときは普通プライマリディスクが壊れているので、起動時チェックに引っかからないようこのオプションをつけておいたほうが無難です。

�lvlnboot -v や vgdisplay -v で交換前と同じか確認。

mkboot しないと、データはミラーされても起動できないディスクになってしまいます。

IA64 版の場合は EFI パーティションのあたりでやらないといけない作業が増えます。ですが、私にはわかりません。すみません。
hiro_760329
アドバイザー

LVMコンフィグ情報復元について

Kuni様

ご回答いただきありがとうございます。

AUTOファイルの設定について一点確認させてください。

プライマリ:hpux セカンダリ:hpux -lqとのことですが、セカンダリディスク障害時、プライマリからのOS起動は可能なのでしょうか?起動不可の場合はプライマリもquarum checkを外す設定が望ましいのでしょうか???
Ku_O
レギュラーアドバイザー

LVMコンフィグ情報復元について

hiro_760329 さん、

確かにそう感じられるかもしれません。ただ、普段何もないときもプライマリから起動しています。そのときに quarum check がいらなければ、-lq つけてても OK です。

-lq をつけるメリットは、起動ディスクの片側で障害があっても生き残ってるほうだけで勝手に立ち上がれるようにするためです。そうじゃないと、check に引っかかって立ち上がれません。

自動的に立ち上がるのがいいか、障害が起きてることが分かるのがいいか、どちらを選択するかで決めてもらえればいいと思います。

なお余談ですが、ISL(立ち上がり時にセルフテストの後キーを押してると出てくるメニューのところ)で Alternate bootpath がちゃんとミラーのセカンダリパスに設定されていないと、当然ながら自動的に立ち上がれません。この設定をみたり変更したりはオンラインでも setboot(1M) コマンドでできます。