パーティション間で空きディスク領域を移動する方法

パーティション間で空きディスク領域を移動する方法

あるパーティションから別のパーティションに空のディスク領域を移動したいと思います。可能ですか?

下の図では、/local(/dev/sda3)の下に空き容量があります。このスペースを// dev / sda2のスペースに割り当てたいと思います。

どうすればいいですか?

lsblk 出力

ベストアンサー1

要求されたタスクを実行するのは簡単ではありません。しかし、役に立つかもしれない2つの回避策があります。

2つのディスクがあります。最初のディスクにはデフォルトパーティションとして/bootと/があり、3番目のプライマリパーティションsda3は残りのスペースをすべて占有してLVMに提供します。同じVGのLVMにも2番目のディスクが割り当てられています。問題は、デフォルトのパーティションsda2のサイズを増やすには、sda3の先頭を移動する必要があることです。おそらくおそらく似たようなことはgpartedこれを行うことができますが、正直にはよくわかりません。 (Ubuntuでは/パーティションがすでにLVMにあるため、/bootにのみ問題があり、これは大きな問題ではありません。)

したがって、最初の可能性は/ localを10G以上減らしてVGのスペースを確保することです。pvmovesda3のすべてのエクステントをsdbに移動するために使用されます。 sda3が使用されなくなった場合は、gpartedsda3の削除やsda2の拡張などの方法を使用できます。

lvs vgsしかし、私はandの出力を好みますpvs。最後の出力は、sda3が使用されなくなったとき(恐れが少ない)と表示されます。

2番目の可能性:/のサブツリーが別のLVに外部化されます。私が決めることもできます/usr。 VGのスペースを解放するには、少なくともこのサブツリーのサイズと同じくらい/ localを減らします。 /usrという名前の新しいLVを作成し、ファイルをコピーし、/usrのマウントを解除し、/usrの名前を/usr.bakに変更し、mkdir /usr、新しいLVから/usrを再マウントし、すべて正常であることを確認します(再起動など)。 /usr.bakを削除してスペースを解放できます。このソリューションでは、シングルモードで多くのことを行う必要があり、/usrのバイナリにアクセスせずに作業するのは興味深い練習です。 :)

おすすめ記事