ext4 LVMパーティションの回復に助けが必要

ext4 LVMパーティションの回復に助けが必要

私は、LVM 構成のパーティションを持つ Ubuntu 18.04 を実行している VMware ESXi 仮想マシンを持っています。/ としてマウントされている論理ボリュームの 1 つを拡張しようとしましたが、誤って cfdisk を使用して LVM パーティションを削除してしまいました (パーティションは ext4 としてフォーマットされていました)。問題の原因となった操作は次のとおりです。

  1. vSphere ESXiのVMディスクサイズを増加
  2. SCSIデバイスの再スキャンを実行して、再起動せずにディスクのサイズ変更を認識できるようにしました。
  3. fdisk -lを使用して新しいディスクを確認しました
  4. cfdisk を使用して LVM パーティション (sda2) を愚かにも削除し、新しいサイズで再作成しました (実際には、新しいパーティション タイプを LVM に変更したかどうかは覚えていません)
  5. pvresize /dev/sda2 を使用して PV サイズを増やそうとしました。PV のサイズが変更されなかった理由を確認するために partprobe を実行しようとしましたが、パーティションがシステムによって使用中であることを示すメッセージが表示されました。
  6. 再起動しましたが、パーティションをマウントできなかったため OS は起動しませんでした。これが問題の始まりです。私が試したこと:
  7. GParted の起動ディスクを使用してシステムを起動し、同じ UUID と vgcfgrestore を使用して LVM パーティションを復元しました (testdisk ツールを使用して古い lvm バックアップを復元しました)。ルート パーティションを含むボリュームがマウントできない (不明なファイル システム) ため、成功しませんでした。
  8. 重要なディレクトリとファイルを回復するために testdisk を実行しようとしましたが、復元されたファイルの一部 (config ファイルや php ファイルなどの一部のテキスト ファイルは確認しました) の内容が乱れていました。

答え1

解決は簡単でしたが、理解するのに時間がかかりました。

  1. testdisk /dev/sda を実行しました (ディスク全体)
  2. 簡単に検索したところ、2つのパーティション(500 MBのext2 /bootパーティション1つと60 GBのLVM2パーティション1つ)が見つかりました。
  3. 見つかったパーティションテーブルをディスクに書き込みました
  4. pvscan、vgscan、vgchange -ay を実行しました (VG サイズが PV より大きいことを示すエラーが発生したため、lvs は一時停止フラグ付きのルート lv を表示します)。
  5. cfdiskを使用して、ディスク上の残りの空き領域を消費するように/dev/sda2(LVMパーティション)を拡張しました。
  6. もう一度 vgchange -ay one を実行すると、システムが正常に再起動できるようになりました。

関連情報