イントラネットサーバーには、100.00 GiBパーティション/ dev/sda5があり、lvm2の物理ボリュームとして使用しています。
Lv01を約97GiBに減らしたいので、約でlv02を作成できます。 3 GiB(lvmスナップショットを取得するために必要です)。
私がこれまでにしたこと:
e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G
これはうまくいきました。しかし今、私は走らなければなりません
lvreduce --size ? /dev/mapper/vg01-lv01
そして、どのexact値を指定する必要があるのかわかりません。 lvreduce
のマニュアルページは、結果のサイズがファイルシステムより小さくてはならないことを明示的に警告しています。また、必要以上に大きくしたくありません。しかし今、私は異なる数を持っています:
97G
を指定しました。df -h
によると、96Gです。df
によると、1001159361Kブロックです。lvreduce
には何を指定する必要がありますか?
現在受け入れられている回答は、優れた回避策を提供します。ただし、そのようなものをソリッドスクリプトなどに統合するために、私は通常、代わりに正確な測定値を使用することを好みます。または、サイズ変更手順全体を1つのステップで実行する信頼性の高い(!)スクリプトまたはツールがすでにあるのでしょうか。
私の経験では、LVMとresize2fsは「97G」の意味について同じ考えを持っているので、両方の場所で同じサイズを指定することは問題ないはずです。しかし、私は偏執的であり、可能な限り、質問のコメントでlarsksによって提案された戦略を常に使用し、必要なサイズより1 GB小さくサイズ変更し、必要なサイズにlvresizeを実行してから、resize2fsを再実行します(サイズ)LV全体を埋めるために拡張して戻します。
これは、-resizefsオプションを使用してlvreduce/lvresizeを実行するのが最適だと思います。
-r, --resizefs
Resize underlying filesystem together with the logical volume using fsadm(8).
確かに、それはあなたを助けません今、しかしそれは将来かもしれません。