web-dev-qa-db-ja.com

LVM2論理ボリュームのデフラグ

質問:LVM2論理ボリュームのデフラグをサポートするツールはありますか? (範囲を一貫したシーケンスにする)

エクステントの望ましい順序を定義することにより("ディスクの先頭ではパーティションA、Aの後にはB、PVの末尾ではX"のようなもの)

もちろん、以下のケースを考慮する必要があります。

  • VGは1つのPVで構成されます
  • VGは多数のPVで構成されていますが、各LVは1つのPVにあります
  • VGは多くのPVで構成され、LVは多くのPVに範囲があります

パーティションを取り除くことができるかどうかは、議論することができます。

ノウハウ:pvmoveを使用してエクステントの範囲を移動することができます。 :pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999

理由:pvmoveを使用して手動で多くの範囲を移動することは、純粋に繰り返し可能なことです(頭のない人がいるかどうかは疑問です)、このプロセスを自動化/サポートするツールがあるかどうか知りたいと思いました。そうでない場合...多分私自身で1つを行う-あなたはそのようなツールが他の人々に役立つと思いますか?

18

以前に LVM2デフラグツール を使用したことがあります。これは、最も単純な記述や最も優れた記述ではありませんが、トリックを実行します。

9
Jim Paris

最適化のもう1つの理由は、論理ボリュームを縮小するときにデータが失われる可能性を減らすことです。論理ボリュームを縮小する特定の理由は、古いMBRコンピューターのハードドライブ上の/ bootおよび同様のパーティションの拡張を許可するためです。私の場合、LTS 16.04.03からLTS 18.04.1にアップグレードするには、元のデフォルトインストールによって/ bootに500MB以上の割り当てが必要です。

Lvm2の数千行のソースコードを読んでいないが、単純な論理ボリュームの縮小手順が使用されている場合、lvm2がかなりブルートフォーストランケーションを使用するというオンラインヘルプ/ wikiのヒント-縮小によって解放された領域にファイルが割り当てられているかのようにおそらく、そのファイルのリストを復元する必要があります(アプリケーションまたはシステムパッケージが関係する場合、またはユーザーファイルリストが非常に大きい場合は、それ自体が野生のガチョウ追跡の可能性があります)。

1
Observation