Search K
Appearance
Appearance
需要保留
sdb,移除sdc
lv总使用量: 1.5G
| 物理卷 | 物理卷大小 | lv总分配量 |
|---|---|---|
| sdb | 2G | 500M |
| sdc | 2G | 500M |
lv总使用量: 3G
| 物理卷 | 物理卷大小 | lv总分配量 |
|---|---|---|
| sdb | 2G | 1.5G |
| sdc | 2G | 1G |
root@debian:/# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvg lvm2 a-- <2.00g <2.00g
/dev/sdc1 lvg lvm2 a-- <2.00g 20.00m
root@debian:/#通过pvs命令可以看到每个物理磁盘的空闲(PFree )大小,通过这个大小就可以知道结论
| 需要保留的物理磁盘空闲 | 总lv使用大小 | 迁移 |
|---|---|---|
| 1G | 500M | 是 |
| 1G | 1.5G | 否 |
如果需要移除的设备PSize减去PFree 的值小于需要保留的设备PFree 则可以迁移并移除
如果需要移除的设备PSize和自身PFree 的值一致说明这个磁盘并没有使用到,可以直接移除,不需要迁移数据
如果需要移除的设备PSize减去PFree 的值大于需要保留的设备PFree 则可以无法迁移和移除
Lvm创建请看: 从零开始创建LVM分区方案
root@debian:/# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
d1 lvg -wi-ao---- 500.00m
d2 lvg -wi-ao---- 500.00m
d3 lvg -wi-ao---- 1.00g
root@debian:/# vgs
VG #PV #LV #SN Attr VSize VFree
lvg 2 3 0 wz--n- 3.99g <2.02g
root@debian:/#root@debian:/# ls d1 d2 d3
d1:
DSM_VirtualDSM_42661.pat lost+found
d2:
DSM_DS918+_42962.pat lost+found
d3:
d3.pat lost+found
root@debian:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 953M 0 953M 0% /dev
tmpfs 197M 560K 196M 1% /run
/dev/sda2 30G 4.1G 25G 15% /
tmpfs 981M 0 981M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda1 511M 5.9M 506M 2% /boot/efi
tmpfs 197M 4.0K 197M 1% /run/user/0
/dev/mapper/lvg-d1 459M 326M 104M 76% /d1
/dev/mapper/lvg-d2 459M 347M 84M 81% /d2
/dev/mapper/lvg-d3 1.5G 347M 1.1G 26% /d3
root@debian:/#在移除硬盘之前,需要先迁移数据
pvmove命令用于将源物理卷上的物理盘区移动到一个或多个其他的目标物理卷。其基本语法格式为:
pvmove [选项] [源物理卷[:PE[-PE]...] [目标物理卷[:PE[-PE]...]...]]这里是一些常用选项和实例:
常用选项: --abort:中止正在进行的任何移动。 实例: 移动物理卷/dev/sda5上的所有物理盘区:
pvmove /dev/sda5将源物理卷/dev/sda5上的物理盘区移动到物理卷/dev/sda6上:
pvmove /dev/sda5 /dev/sda6将源物理卷/dev/sda5上的物理盘区1000~1999移动到物理卷/dev/sda6上:
pvmove /dev/sda5:1000-1999 /dev/sda6在执行pvmove命令之前,确保目标物理卷有足够的空间来容纳源物理卷上的数据,并且目标物理卷没有被其他逻辑卷使用。可以通过pvdisplay命令来查看物理卷的状态和使用情况。
需要注意的是,pvmove命令的执行可能需要一些时间,具体取决于数据的大小和系统的性能。在数据迁移过程中,建议避免对涉及的物理卷进行其他操作,以防止数据丢失或系统不稳定。
将
sdc的数据迁移到sdb
root@debian:/# pvmove /dev/sdc1 /dev/sdb1
/dev/sdc1: Moved: 0.40%
/dev/sdc1: Moved: 24.70%
/dev/sdc1: Moved: 49.41%
/dev/sdc1: Moved: 100.00%
root@debian:/#执行结束之后,查看pv信息
root@debian:/# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvg lvm2 a-- <2.00g 20.00m
/dev/sdc1 lvg lvm2 a-- <2.00g <2.00g
root@debian:/#此时可以看到,数据已经全部在sdb1了
vgreduce lvg /dev/sdc1root@debian:/# vgreduce lvg /dev/sdc1
Removed "/dev/sdc1" from volume group "lvg"
root@debian:/#root@debian:/# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvg lvm2 a-- <2.00g 20.00m
/dev/sdc1 lvm2 --- <2.00g <2.00g
root@debian:/# pvremove /dev/sdc1
Labels on physical volume "/dev/sdc1" successfully wiped.
root@debian:/# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvg lvm2 a-- <2.00g 20.00m
root@debian:/#可以看到,此时的pv已经没有sdc1了
root@debian:/# vgs
VG #PV #LV #SN Attr VSize VFree
lvg 1 3 0 wz--n- <2.00g 20.00m
root@debian:/#vg的总大小也变化了