CENTOS7の物理マシンをVMに移行したらXFS errorが出た話


いいかげん引退しなきゃの物理マシン(壊れそう)のCENTOS7.5をVM化したときの話です。ddでrawデータを取り出した後、Starwizard V2V Conbverterというアプリでvmdk化して、VMware Workstationに取り込もうとしたのですが、表題の通りXFS errorとなり起動できませんでした。この記事ではXFS errorの修復手順について記載しています。

この前にも1回VM化に失敗してます(SCSIモード)

そのときはHDDをSCSIモードでVM化しようとしたのですが、どうしてもdracutのエラーが消せず。
/dev/centos/rootや/dev/centos/swapがないと怒られ続けました。レスキューからリビルド方法がネット記事にあったので試してみるもうまくいかず。

今回はVMのHDDをIDEモードに変更しての再チャレンジです

SCSIでダメだったものでもIDEだと成功するかもみたいな記事をネットで見つけてやってみたのですが、今度はXFS errorが出ちゃってストップ!インストールしているrescueモードでは残念ながら対処できなかったのでDVDのISOを用意して修復してみることにしました。

VMをISOイメージから起動しRescueモードで立ち上げ

1.起動ロゴからBIOSへのF2での切替が間に合わないよ!
そんなときはVMを構成するファイルの<マシン名>.vmxのファイルの最後にbios.bootDelay = “5000”を追記します。これで5秒は起動ロゴが表示されるのでF2をおせるはず。

2.VM側ではISOイメージへの起動時の接続を忘れずに
意外と忘れがちです。※対応後は取り出しも忘れずに。

3.DVDのどのモード?
Trouble Shooting->Rescue a CentOS systemを選択します。レスキュー画面では1.continueを選択すればOK。

XFS errorの直し方

今回はxfsファイルシステムの破損が発生していたので、xfs_repairコマンドで修復します。

ファイルシステムの確認

lsblk
ツリー上に表示されることを確認。でもどれが起動デバイスなのかなー。
んー。一応、fdiskいっとこう。

fdisk -l|more
/dev/sda 999.0GB
Bootに*
Device Boot ~中略~ system
/dev/sda1 * ~中略~ Linux
/dev/sda2 ~中略~ Linux LVM

おお、これしかないよ。sda1だよ。

対象ファイルの修復コマンド

xfs_repair /dev/sda1

phase1からphase7まで処理が行われた・・そしてdone。
いけたいのか?いけてないのか?
なおってくれ!と念じながら、再起動してみます。

コマンドプロンプト来た。ネットも使える。OK!

困ったときは一旦IDEモードが正解?

あのままSCSIモードでも頑張ればいけたのかもですが、IDEモードの方であっさり解決できたので結果オーライとします。
ありがとう。xfs_repair。ありがとうIDEモード。

その他参考

CENTOSのP2V
レスキューモードの参考
https://thinkit.co.jp/story/2014/11/28/5408?page=1