上一篇博文介绍移除物理卷时,需要删除逻辑卷,昨晚想了一晚,今天早上起床后继续查阅相关资料,发现这是不对的,如果真的删除了逻辑卷,那么数据就全没了,LVM不可能那么弱。

        经过查找资料发现,终于找到了一个靠谱的解决方案,那就是新增一个物理卷,并添加到逻辑卷中,这时可以把要移除物理卷的数据移动到新增的物理卷中,然后再移除物理卷(但在这里我有一个疑问就是:当新增的物理卷的容量没有要移除的物理卷容量大时,就需要新增多个物理卷来备份数据,那怎么把数据备份到多个物理卷呢?暂时还没找到解决方案)

注意:本文的操作需要在root用户下

实验环境:

1  unbuntu(其它类型的linux应该也适用)、VMware

2  卷组名称Vgroup,逻辑卷名称lvtest,磁盘盘符路径:/dev/sdb   /dev/sdc,文件系统类型ext4

使用pvs  -o+pv_used查看逻辑卷的使用情况:

centos删除物理卷的命令是 linux怎么删除物理卷_centos删除物理卷的命令是

 查看挂载信息:

centos删除物理卷的命令是 linux怎么删除物理卷_centos删除物理卷的命令是_02

可以看到逻辑卷lvtest的挂载点是/zxy_data,进入/zxy_data目录查看文件使用情况

 

centos删除物理卷的命令是 linux怎么删除物理卷_LVM_03

 注意:如果是自动挂载,则先umount

一切准备就绪,本实验移除盘符/dev/sdc

具体步骤如下:

1  添加一个2G的硬盘,用于备份/dev/sdc的数据

centos删除物理卷的命令是 linux怎么删除物理卷_移除物理卷_04

 

开启虚拟机

centos删除物理卷的命令是 linux怎么删除物理卷_linux_05

从上图可以看到sdd即为我们刚新增的硬盘对于的盘符

 2   把sdd设为物理卷并添加到逻辑卷lvtest中

2.1 把sdd设为物理卷

pvcreate  /dev/sdd

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_06

 2.2 把sdd添加到卷组Vgroup中

vgextend    Vgroup    /dev/sdd

centos删除物理卷的命令是 linux怎么删除物理卷_linux_07

 2.3  将/dev/sdc的数据备份到/dev/sdd中

查看卷组的大小

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_08

 可以看到卷组中还有511个PE空闲(即为我们刚才插入的2G硬盘的容量)

再次使用pvs  -o+pv_used查看逻辑卷的使用情况

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_09

移动sdc的数据到sdd中

 pvmove  /dev/sdc  /dev/sdd

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_10

可以看到已经移动完毕,时间有点久,再次使用pvs  -o+pv_used查看逻辑卷的使用情况

centos删除物理卷的命令是 linux怎么删除物理卷_移除物理卷_11

 可以看到sdc的used为0,sdd的used为2.00g

2.4  把sdc从卷组中移除

vgreduce   Vgroup  /dev/sdc

centos删除物理卷的命令是 linux怎么删除物理卷_centos删除物理卷的命令是_12

可以看到sdc已经被移除了,你去试试移除正在使用的sdd试试

centos删除物理卷的命令是 linux怎么删除物理卷_LVM_13

 

 马上报Physical  volume  "/dev/sdd" still  in use

这时,可以看到sdc已经从卷组Vgroup中移除了

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_14

 

注意:写到这里,刚想起,我使用的是手工挂载目录,如果是自动挂载,则先umount

把逻辑卷lvtest挂载到zxy_data中,并查看zxy_data下的文件信息

centos删除物理卷的命令是 linux怎么删除物理卷_linux_15

centos删除物理卷的命令是 linux怎么删除物理卷_linux_16

 

可以看到之前的数据还在 

2.5  把sdc 设为非物理卷

先看一下逻辑卷的信息

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_17

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_18

 

可以看到sdc虽然已经从卷组Vgroup中移除了,但还是物理卷

把sdc设为非物理卷

pvremove  /dev/sdc

centos删除物理卷的命令是 linux怎么删除物理卷_移除物理卷_19

再来查看逻辑卷及挂载信息

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_20

 

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_21

 

 可以看到sdc已经回到最初的状态了

拓展(下面的方案不可行):

当我把前面的sdd对应的硬盘移除了(即模拟sdd硬盘出现故障,不能正常使用了,不知这种模拟的方式是否正确),再进入系统,发现整个逻辑卷不能正常使用,查看逻辑卷信息,发现有一个unknown device

centos删除物理卷的命令是 linux怎么删除物理卷_linux_22

 这时需要使用

vgreduce  --removemissing    /dev/卷组名称

如:vgredduce --removemissing  /dev/Vgroup

centos删除物理卷的命令是 linux怎么删除物理卷_LVM_23

发现移除不了,但后面的提示信息告诉我们需要加--force参数,即:

 vgredduce --removemissing  --force  /dev/Vgroup

 

centos删除物理卷的命令是 linux怎么删除物理卷_移动物理卷_24

虽有警告信息,但好歹也移除了,注意观察,输出看到Removing  particl LV  lvtest,即把lvtest逻辑卷也给删除了

centos删除物理卷的命令是 linux怎么删除物理卷_centos删除物理卷的命令是_25

 从上图可以看出,虽然移除了,但逻辑卷lvtest却不见了,重启系统试试

重启后,发现问题依旧,lvtest逻辑卷彻底废了

centos删除物理卷的命令是 linux怎么删除物理卷_linux_26

 

centos删除物理卷的命令是 linux怎么删除物理卷_移除物理卷_27