
私は、LVM 構成のパーティションを持つ Ubuntu 18.04 を実行している VMware ESXi 仮想マシンを持っています。/ としてマウントされている論理ボリュームの 1 つを拡張しようとしましたが、誤って cfdisk を使用して LVM パーティションを削除してしまいました (パーティションは ext4 としてフォーマットされていました)。問題の原因となった操作は次のとおりです。
- vSphere ESXiのVMディスクサイズを増加
- SCSIデバイスの再スキャンを実行して、再起動せずにディスクのサイズ変更を認識できるようにしました。
- fdisk -lを使用して新しいディスクを確認しました
- cfdisk を使用して LVM パーティション (sda2) を愚かにも削除し、新しいサイズで再作成しました (実際には、新しいパーティション タイプを LVM に変更したかどうかは覚えていません)
- pvresize /dev/sda2 を使用して PV サイズを増やそうとしました。PV のサイズが変更されなかった理由を確認するために partprobe を実行しようとしましたが、パーティションがシステムによって使用中であることを示すメッセージが表示されました。
- 再起動しましたが、パーティションをマウントできなかったため OS は起動しませんでした。これが問題の始まりです。私が試したこと:
- GParted の起動ディスクを使用してシステムを起動し、同じ UUID と vgcfgrestore を使用して LVM パーティションを復元しました (testdisk ツールを使用して古い lvm バックアップを復元しました)。ルート パーティションを含むボリュームがマウントできない (不明なファイル システム) ため、成功しませんでした。
- 重要なディレクトリとファイルを回復するために testdisk を実行しようとしましたが、復元されたファイルの一部 (config ファイルや php ファイルなどの一部のテキスト ファイルは確認しました) の内容が乱れていました。
答え1
解決は簡単でしたが、理解するのに時間がかかりました。
- testdisk /dev/sda を実行しました (ディスク全体)
- 簡単に検索したところ、2つのパーティション(500 MBのext2 /bootパーティション1つと60 GBのLVM2パーティション1つ)が見つかりました。
- 見つかったパーティションテーブルをディスクに書き込みました
- pvscan、vgscan、vgchange -ay を実行しました (VG サイズが PV より大きいことを示すエラーが発生したため、lvs は一時停止フラグ付きのルート lv を表示します)。
- cfdiskを使用して、ディスク上の残りの空き領域を消費するように/dev/sda2(LVMパーティション)を拡張しました。
- もう一度 vgchange -ay one を実行すると、システムが正常に再起動できるようになりました。