1

Ubuntu 13.04 サーバーを使用しています。別の論理ボリュームを増やすために、論理ボリュームを減らしたいと思っていました。削減したい論理ボリュームのサイズは 100G で、69G が使用されていました。

以下を使用して論理ボリュームを削減しようとしました:

lvreduce -L20G /dev/mapper/root-vg

残念ながら、再起動後にシステムが正常に起動できなくなったため、おそらく間違っていました。

(initramfs) プロンプトが表示され、/root で /dev/mapper/root-vg のマウントが失敗したことを確認しました

少なくとも、データを取り戻す方法はありますか?

ありがとう。

4

1 に答える 1

2

LV を縮小する前にファイルシステムを縮小するのを忘れました。ファイルシステムの破損につながる可能性があるため、ファイルシステムを今すぐマウントまたは修復しようとしないでください。データが重要な場合は、リカバリを試みる前にフル ディスク バックアップを作成することを強くお勧めします。

VG メタデータのバックアップがある場合は、次の代わりにそれを使用して回復する必要があります。デフォルトでは、LVM は/etc/lvm/{archive,backup}/VG を変更するたびにバックアップを作成して保存しますが、このデータにアクセスできないと思います。

ファイルシステムへのアクセスを回復するには、LV を少なくとも元のサイズに再拡張する必要があります。また、新しい論理エクステントが元の順序と同じ順序で割り当てられていることを確認してください。この 2 番目の条件は、多数の PV を含む複雑な構成を使用している場合、うまくいくのが難しくなります。ただし、PV がほとんどない単純な構成で、元の論理エクステントを再割り当てまたは削除していない場合は、次のように動作する可能性があります (ライブ USB 環境で)。

lvextend --extents +100%FREE /dev/mapper/root-vg

ファイルシステムを読み取り専用でマウントできるかどうかを確認します。

mkdir -p /mnt/root-vg/
mount -o ro /dev/mapper/root-vg /mnt/root-vg/

マウントが成功した場合は、内部のファイルを大まかに調べる必要があります。fsckそれらが正しいと思われる場合は、ファイルシステム ( ext* やbtrfs scrubbtrfs など)で整合性チェックを実行します。

于 2015-08-26T09:46:10.700 に答える