PV1のLVMをPV2に移動

PV1のLVMをPV2に移動

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 freevgslvspvslsblk

変更する理由がない場合は、そのままにしておきます。問題は多く、利益はほとんどありません。 PVが複数ある場合は、メタデータの追加コピーなど、いくつかの利点があります。

おすすめ記事