障害復旧メモ(殴り書き

XenserverのHDD障害復旧は以下URLを参照。
http://d.hatena.ne.jp/faibou/20140427



以下、障害HDD復旧時に備忘録的に書いたものなので適当です。お気をつけください。
正式な復旧方法まとめは上記URL

fsckは最終手段。
ddでまず新しいHDDにコピーしてオリジナルHDDは出来るだけ触らないようにする。
ddするときはbsを必ず指定する。4M、32Mなど。指定しないと512バイトなのでめちゃ遅い。
新しいHDDにコピー出来たらこれに対して調査を行う。
Ubuntu等のLiveCDで起動して、apt-get install lvm2をインストールしてpvscan等の実行していく。
ちなみにRaid1を組んでいた場合は、それは出ないので一度Ubuntu上でRAIDを組むことになる。
以下、Xenserver復旧の際の手順。
apt-get install mdadm (なぜかpostfixの設定がでるが適当。よく調べてない)
その後、
mdadm -A /dev/md0 /dev/sda1
mdadm -A /dev/md1 /dev/sda2
mdadm -A /dev/md2 /dev/sda3
cat /proc/mdstatでRAIDが縮小モードで動いてるか確認。
動いていればpvscanでLVMのデータが見れるはず。

LVMを丸ごとコピーするという方法。
Xenserverならとりあえず新しいHDDにXenserverをインストールしてシャットダウン。
障害が起きたHDDをつないで、Ubuntu等のLiveCDで起動して、pvscan,vgscanなどでVG名確認。
障害が起きた方のHDDのVGを有効化する。これをしていないとpvmoveに失敗する。
vgchange -ay VG_*****
障害HDDを/dev/sda、新しいHDDを/dev/sdbとすると/dev/sda3と/dev/sdb3がストレージパーティションになる
新しいHDDの方のVGをvgreduceで開放(vgreduce VG_ /dev/sdb3)、vgremoveで削除。
そして、vgextendで障害が起きたVG名と同じにする(vgextend 障害が起きたVG名 /dev/sdb3)。

元のUUIDにしないといけないっぽいので、以下のような感じでPVを作らないといけないかも。
pvcreate --restorefile /etc/lvm/backup/VG_XenStorage-xxxx
--uuid XBt6PX-0fQB-61J6-264O-3BSc-xzcd-kgMV05 /dev/sda2

sr-createすると中身が消える。