欢迎,来自IP地址为:121.16.211.84 的朋友
学习如何安全的从LVM中移除磁盘,当磁盘卷中有磁盘出现问题或是想把磁盘卷中的磁盘重新使用时就显得十分有用。本教程将重点关注以下问题:
如何安全的从LVM中移除磁盘
如何联机从VG中移除磁盘
如何在物理层面进行磁盘数据拷贝
如何联机替换LVM中的故障磁盘
如何在物理层面将磁盘分区移动至另一磁盘
如何释放磁盘以缩小VG容量
如何安全的减少VG
首先, 我们需要了解一下服务器的情况。要了解服务器磁盘情况,可以使用lsblk命令,命令执行结果如下图所示:
可以看到,主机目前具有两个LVM,其中root是在安装系统时生成的,挂载到根目录;另一个Lv01是新添加的LVM,挂载到/mydata目录。另外,主机还安装了一块空白磁盘”sdc”,我们将要做的就是用”sdc”磁盘替换Lv01中的”sdb”磁盘,以达到安全移除LVM磁盘的目的。注意所有操作都是联机进行,并不会对系统产生任何影响。
要替换磁盘,那么很明显首先要把新磁盘”sdc”加入到vg01中。使用pvcreate命令可以将”/dev/sdc”生成一个新的pv,然后使用vgextend命令将”/dev/sdc”添加到vg01中。命令执行步骤如下图所示:
现在,我们将要移除的磁盘”/dev/sdb”和替换磁盘”/dev/sdc”都处于同vg01中,可以用pvs命令进行查看:
可以看到,”/dev/sdb”磁盘的一个分区”sdb1″加入到了vg01,现在需要做的就是将该分区移动到新安装磁盘”/dev/sdc”中。使用pvmove命令可以完成以上工作。
如图所示,”/dev/sdb1″的数据已经联机移动到了”/dev/sdc”,这样,就可以为移动磁盘做准备了。如果需要移动的数据较多,这条命令可能会执行很长时间,为了不影响其他操作,可以使用如下命令将其置于后台执行:
pvmove /dev/sdb1 2>error.log >normal.log &
以上命令会将pvmove命令置于后台执行,并将执行的结果输出至”normal.log”,标准错误输出至”error.log”。
在移除原数据盘之前,还需要将该磁盘从其属于的VG中删除,这样才不会对系统产生影响。从vg01中删除从属磁盘,并不是使用”remove”命令,而是使用vgreduce命令,命令执行如下图所示:
现在,”/dev/sdb1″的分区已经从vg01中移除了,如果该磁盘的其他分区并没有被挂载,那么,这块磁盘就可以从系统中移除了。
以上就是我们使用pvmove命令完成移除LVM卷磁盘的全过程,这条命令可以方便的进行联机数据移动。当然,这条命令还提供了一些可选参数,”-v”参数可以输出更多的命令执行细节:
而”-i”参数可以让pvmove命令按”-i”后跟的秒数为间隔来显示命令的执行进度更新,命令示例如下:
# pvmove -i 1 /dev/sdc