sda3のLVMをsda2に移動/マージする方法は?問題は、vg1-varとvg1-optが2つのPVに存在するため、aがpvmove
機能しないことです。
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 37G 0 part
│ ├─vg1-root 253:0 0 5G 0 lvm /
│ ├─vg1-swap 253:1 0 4G 0 lvm [SWAP]
│ ├─vg1-usr 253:2 0 8G 0 lvm /usr
│ ├─vg1-home 253:4 0 2G 0 lvm /home
│ ├─vg1-var 253:5 0 6.7G 0 lvm /var
│ ├─vg1-tmp 253:6 0 10G 0 lvm /tmp
│ └─vg1-opt 253:7 0 5G 0 lvm /opt
└─sda3 8:3 0 42.7G 0 part
├─vg1-var 253:5 0 6.7G 0 lvm /var
└─vg1-opt 253:7 0 5G 0 lvm /opt
PV VG Fmt Attr PSize PFree
/dev/sda2 vg1 lvm2 a-- 37.00g 0
/dev/sda3 vg1 lvm2 a-- <42.70g 39.00g
ベストアンサー1
最も簡単な方法は、一時的に新しいドライブを接続してpvmove /dev/sda3
再インストールすることです。これにより成長し、すべてを元に/dev/sda2
戻すことができます。
これが不可能な場合は、所有しているドライブのデータを再構成する必要があります。隣接するPVはソートの問題によって直接マージできないことが多いため、すべてを2回移動する必要があります。
容量/dev/sda3
は42.7Gで、利用可能なスペースは39Gなので、約3.7Gが使用されます。したがって、ディスクの端に新しい4Gサイズが作成さ/dev/sda3
れるように4Gを縮小する必要があります。/dev/sda4
pvresize /dev/sda3 --setphysicalvolumesize 37G
parted /dev/sda -- resizepart 3 -4G
parted /dev/sda -- mkpart primary -4G -1
すべてのデータを新しいパーティションに移動します。
vgextend vg1 /dev/sda4
pvmove /dev/sda3
vgreduce vg1 /dev/sda3
現在無料であるものを削除し、/dev/sda3
それ/dev/sda2
に応じて拡張します。
parted /dev/sda -- rm 3
parted /dev/sda -- resizepart 2 -4G
pvresize /dev/sda2
/dev/sda4
これから十分に大きくなるまですべてを移動してください/dev/sda2
。
pvmove /dev/sda4
vgreduce vg1 /dev/sda4
この時点で、VGは単一のPVです/dev/sda2
。
今無料であるものを削除して/dev/sda4
もう一度育ててください/dev/sda2
:
parted /dev/sda -- rm 4
parted /dev/sda -- resizepart 2 -1
pvresize /dev/sda2
この手順は非常に粗く、時には失敗する可能性があるため、それに応じて調整する必要があります。特にコマンドを盲目的に実行してはいけません。常に、、、、、、...parted
で何が起こっているかを確認してください。parted /dev/sda print free
vgs
lvs
pvs
lsblk
変更する理由がない場合は、そのままにしておきます。問題は多く、利益はほとんどありません。 PVが複数ある場合は、メタデータの追加コピーなど、いくつかの利点があります。