LVM 管理之四: 缩减 VG 大小

今天学习了 pvmove 命令,pvmove 命令用来将一块盘上的数据移到另一块盘,可以移动整块盘的数据,也可以移动指定 extent 范围的数据, 接下来演示 pvmove 的一个例子,下面这个例子的 VG 由三个 PV 组成,我们想将其中一个 PV 的数据移动其它 PV中,空闲的PV 可以用来创建新的 VG。

1 显示 pv 使用信息

1
2
3
4
5
[root@redhat6 ~]# pvs -o+pv_used  
PV VG Fmt Attr PSize PFree Used
/dev/sda2 vg_redhat6 lvm2 a-- 14.51g 0 14.51g
/dev/sdb vg_redhat6 lvm2 a-- 4.00g 2.62g 1.38g
/dev/sdc vg_redhat6 lvm2 a-- 6.00g 5.60g 404.00m

备注:从上面看出,有三块 pv 。

2 移动 /dev/sdb 数据到 /dev/sdc 盘上

1
2
3
4
5
6
7
[root@redhat6 ~]# pvmove /dev/sdb /dev/sdc /dev/sdb: Moved: 0.8%  
/dev/sdb: Moved: 28.3%
/dev/sdb: Moved: 42.5%
/dev/sdb: Moved: 57.2%
/dev/sdb: Moved: 72.8%
/dev/sdb: Moved: 92.6%
/dev/sdb: Moved: 100.0%

备注:上述命令将 /dev/sdb 文件移动 /dev/sdc 上。

3 再次查看 pv 信息

1
2
3
4
5
[root@redhat6 ~]# pvs -o+pv_used  
PV VG Fmt Attr PSize PFree Used
/dev/sda2 vg_redhat6 lvm2 a-- 14.51g 0 14.51g
/dev/sdb vg_redhat6 lvm2 a-- 4.00g 4.00g 0
/dev/sdc vg_redhat6 lvm2 a-- 6.00g 4.22g 1.77g

备注:从上面看出 /dev/sdb 盘使用空间为 0,说明空间被腾出。

4 将 /dev/sdb 从 VG vg_redhat6 中移出

1
2
3
4
5
6
7
[root@redhat6 ~]# vgreduce /dev/vg_redhat6 /dev/sdb  
Removed "/dev/sdb" from volume group "vg_redhat6"
[root@redhat6 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_redhat6 lvm2 a-- 14.51g 0
/dev/sdb lvm2 a-- 4.00g 4.00g
/dev/sdc vg_redhat6 lvm2 a-- 6.00g 4.22g

备注: 根据pvs 信息, /dev/sdb 已经不是 VG vg_redhat6 的成员了。 那么 /dev/sdb 盘可以移除,或者它用。

5 在 /dev/sdb 上创建新的 VG

1
2
3
4
5
6
[root@redhat6 ~]# vgcreate vg_pgroot /dev/sdb  
Volume group "vg_pgroot" successfully created
[root@redhat6 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_pgroot 1 0 0 wz--n- 4.00g 4.00g
vg_redhat6 2 4 0 wz--n- 20.50g 4.22g

6 再次查看 PV /dev/sdb 信息

[root@redhat6 ~]# pvs  
 PV VG Fmt Attr PSize PFree  
 /dev/sda2 vg_redhat6 lvm2 a-- 14.51g 0  
 /dev/sdb vg_pgroot lvm2 a-- 4.00g 4.00g  
 /dev/sdc vg_redhat6 lvm2 a-- 6.00g 4.22g

备注:/dev/sdb 已经是 VG vg_pgroot 的成员了。

最后推荐和张文升共同编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级特性、并行查询、分区表、物理复制、逻辑复制、备份恢复、高可用、性能优化、PostGIS等,涵盖大量实战用例!

购买链接:https://item.jd.com/12405774.html

PostgreSQL实战
感谢支持!
0%