LVM PVおよびLUKSコンテナ/パーティションの最小化[閉じる]

LVM PVおよびLUKSコンテナ/パーティションの最小化[閉じる]

swap現在LUKSコンテナからLVM LVを削除し、暗号化されないようにしたいと思います。

gparted私はプロセスのすべてのステップを制御するのと同じことを避けたいと思います。

  1. lvremoveLVで作業を完了しswappvmove隣接するPV範囲を取得した後に渡す最小サイズをどのように把握しますかpvresize

  2. 減らされたPVを考慮して、LUKSパーティションをそれに合わせて縮小するためにLUKSコンテナに含める必要があるセクタまたはMiBの数をどのように知ることができますか?

  3. LUKSコンテナは長さがなく、パーティションだけ縮小すると縮小されると思うのが正しいですか?

  4. PVの最終範囲にまだアクセスできるか、つまり実際に縮小されたパーティションのアドレス指定可能セクタ内にあるかどうかをLVMレベルで確認する方法はありますか?

ベストアンサー1

1.)

マニュアルページから:

pvresize 物理ボリュームの新しい終了位置の後にエクステントが割り当てられると、物理ボリュームの縮小は拒否されます。

だから試行錯誤で作業を行います。実際、pvresizeその一部をお話しします。

/dev/dm-7: cannot resize to 17564 extents as 18620 are allocated.

正確なサイズを確認するには、PEサイズ(4MiBなど)と最初のPEオフセット(1MiBなど)を知る必要があります。もちろん、最後に割り当てられた範囲の番号も同様です。

pvs -o pv_name,pe_start,vg_extent_size,seg_pe_ranges

したがって、合計サイズは1MiB(最初のPE)+ 18620 * 4MiB(PEサイズ)にすることができます。

2.)

LUKSヘッダーサイズ/データオフセットを知る必要があります。通常、これは4096セクタ、つまり2MiBです。確認してくださいcryptsetup luksDumpPayload offset

したがって、新しいパーティションサイズは、LUKSペイロードオフセットにPV自体のサイズを変更したサイズを加えた値です。

3.)

はい、いいえ。 LUKSはメタデータのサイズを保持しないため、LUKSコンテナをシャットダウンまたは再起動するときは、ブロックデバイス自体のサイズのみを使用します。

cryptsetup resizeただし、オンラインサイズ変更の場合は、使用してから使用するサイズに設定する必要がありますpvresize

4.)

時には、読み取り専用モードで問題のあるデバイスをqemu / KVMインスタンスに渡し、いくつかのLinux回復システムを実行してこれを実行します。 LVMは冗長PV UUIDまたはVG / LV名を見るのが好きではないため、ホストを確認することは困難です(読み取り専用ループデバイスを使用するなど)。 PV が予想より小さい場合、LVM はアクティブ化を拒否します。

おすすめ記事