現在使用している物理ディスクを削除するには、/varと/usrを別のlvに移行する必要があります。これを行う方法を知っている人はいますか?
LV VG Attr LSize
lvroot rootvg -wi-ao---- 10,00g
lvusr rootvg -wi-ao---- <110,00g
lvvar rootvg -wi-ao---- <123,90g
lvusrとlvvarをlvrootに移動するつもりです(必要に応じてディスクを拡張できます)、これに関する手順が見つかりません。
事前にありがとう
答え1
LVMの利点は、LVが液体と同じであるため、あるPVから別のPVに注ぐことができることです。lvusr
LVとLVを別のPVにlvvar
移動すると、実際の目標を達成できるようです。これは何も削除せずにオンラインで行うことができます。
代わりに(これらのLVの内容をに移動するlvroot
)にはアンインストールが必要であり、lvusr
システムlvvar
が正常に実行されている間にアンインストールが成功しない可能性/usr
があるため、これを行うには緊急モードで再起動する必要があります/var
。
新しい物理ディスクを追加できる場合は、次の場所に追加できますrootvg
。
<optionally partition the new disk>
pvcreate /dev/<disk or partition>
vgextend rootvg /dev/<disk or partition>
/dev/sdX
保持したい既存の物理ディスク(ディスクなど)を拡張でき、LVM PVがディスクの最後のパーティション(パーティション番号N)にある場合は、ディスクを拡張してから既存のPVを拡張できます。
growpart /dev/sdXN # or use gparted or similar
pvresize /dev/sdXN
あるいは、PVがディスク装置全体にある場合(パーティション番号/dev/sdX
なしなど)、ディスクを拡張した後にPVのみを拡張できます。
pvresize /dev/sdX
または、拡張ディスクがパーティション化されていてPVが最後のパーティションではない場合は、追加されたスペースで新しいパーティションを作成してVGに追加できます。
fdisk /dev/sdX # to create a new partition, e.g. /dev/sdXNN
pvcreate /dev/sdXNN
vgextend rootvg /dev/sdXNN
これらの4つのプロセスのうちの1つを完了したら、またはに示すrootvg
ように未割り当てスペースが必要です。現在のPVから空きスペースにLVを移動するには、を使用します。vgs
vgdisplay rootvg
pvmove
データが移動する場所が重要でない場合(またはVGに空き容量が多い場合)、データを移動するPVのデバイス名を簡単に指定できます。
pvmove /dev/<old disk or partition containing a LVM PV>
vgreduce rootvg /dev/<old disk or partition containing a LVM PV>
pvremove /dev/<old disk or partition containing a LVM PV>
このステップは、すべてのLVデータが正常に移動された場合にのみ続行されますvgreduce
。移動に失敗すると、vgreduce
PVはまだ使用中であることを示すメッセージが表示され、rootvgからPVの削除を拒否します。
必要に応じて、pvmoveに1つ以上のターゲットPVを明示的に指定できます。
pvmove /dev/<old PV> /dev/<new PV that is already part of the same VG> ...
このpvmove
コマンドは、完全に割り当てられるまで前のPVから最初の新しいPVにデータを移動し、必要に応じてリストされている別のPVに順次移動します。 (はい、単一のLVは問題なく複数のPVを占有できます。)
答え2
実際に望むのは、「論理LVMボリュームのマージ」です。すでに他のデータ(ファイルシステムなど)が含まれているため、お客様の場合は機能しません。
できることは、不要な論理ボリュームを削除し、残りの論理ボリュームを追加し、データを移動し(sudo mv source destination
LiveCDの下に)、ソース論理ボリュームを削除して、残りの論理ボリュームを再追加することです。
何を試す前に、すべてをバックアップしたことを確認してください。