首页 帮助中心 香港服务器租用 Centos8对逻辑卷进行迁移
Centos8对逻辑卷进行迁移
时间 : 2023-04-23 09:40:34 编辑 : 华纳云 阅读量 : 103

迁移逻辑卷是通过将分区从一个PV(物理卷)移动至另一个PV。迁移逻辑卷是替换磁盘最安全的方法之一。

将要执行迁移的方法是使用pvmove操作。

假设在我们的设置中,只有一个磁盘 /dev/sda1,大小为20gb。此时 /dev/sda1处于故障警告状态,需要更换新的同等容量的硬盘。让我们使用pvmove选项将分区移动到一个新的PV中。

使用pvmove命令是通过将底层旧物理卷替换为新的物理卷。此外,使用文件系统的用户将不会注意到在底层发生的更改。

为什么需要迁移逻辑卷?

\1. 更换故障磁盘。

\2. 将现有的磁盘替换为较大的磁盘。

创建PV、VG和LV

https://www.hncloud.com/uploads/UEditorImages/202304/23/d09c7f7d97e487a87637908518babe01.jpg

创建完成之后格式化并挂载文件系统。

[root@localhost ~]# mkfs.xfs /dev/vg

[root@localhost ~]# mkfs.xfs /dev/vg_data/lv_data

[root@localhost ~]# mkdir /data

[root@localhost ~]# mount /dev/vg_data/lv_data /data

列出现有的逻辑卷

下面列出逻辑卷使用率:

[root@localhost ~]# df -h /data

Filesystem                   Size  Used Avail Use% Mounted on

/dev/mapper/vg_data-lv_data   20G  2.2G   18G  11% /data

下面列出所有的物理卷、卷组、逻辑卷:

https://www.hncloud.com/uploads/UEditorImages/202304/23/de2f08d4203c2a40ee9ec123786a5333.jpg

下面检验一下逻辑卷使用到的磁盘是哪块,使用lvs命令并使用-o +devices选项,可以显示逻辑卷使用到的是哪块磁盘:

[root@localhost ~]# lvs -o +devices /dev/vg_data/lv_data  

LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log 

Cpy%Sync Convert Devices    

 lv_data vg_data -wi-ao---- 

使用dmsetup命令获取逻辑卷的主编号和次编号。

[root@localhost ~]# dmsetup deps /dev/vg_data/lv_data

1 dependencies : (8, 1)

记住主编号和次编号。一旦我们将故障PV替换为另一个PV,它将改变。

开始迁移逻辑卷

可以通过运行pvmove命令来执行逻辑卷的迁移。下面首先开始创建一个新的物理卷:

[root@localhost ~]# pvcreate /dev/sdb1

 Physical volume "/dev/sdb1" successfully created.

然后将新创建的物理卷添加到已存在的卷组中,下面图中可看到vg_data卷组容量增加了:

[root@localhost ~]# vgextend vg_data /dev/sdb1

 Volume group "vg_data" successfully extended

使用pvs命令添加-o +pv_used选项可以显示物理卷的使用情况:

[root@localhost ~]# pvs -o +pv_used

 PV             VG      Fmt  Attr PSize   PFree   Used  

 /dev/nvme0n1p2 cl      lvm2 a--  

下面就可以使用pvmove命令迁移逻辑卷啦,下面是用法:

# pvmove -n

下面是常用选项解释:

  • -n 指定逻辑卷的名称。

  • -b 可以添加-b选项,意思是在后台运行,如果容量大,文件多可以配合screen在后台运行。

  • -i 5 表示每5秒打印一次状态。

下面将逻辑卷lv_data从/dev/sda1迁移到/dev/sdb1中:

[root@localhost ~]# pvmove -n /dev/vg_data/lv_data /dev/sda1 

/dev/sdb1  /dev/sda1: Moved: 1.29%

 /dev/sda1: Moved: 39.99%

 /dev/sda1: Moved: 73.90%  

/dev/sda1: Moved: 100.00%

迁移完成后,运行命令lvs -o +devices。在这里,我们看到旧磁盘/dev/sda1已经被/dev/sdb1替换了。

[root@localhost ~]# lvs -a -o +devices /dev/vg_data/lv_data  

LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices      

lv_data vg_data -wi-ao---- 

运行pvs -o +pv_used命令查看可看到,/dev/sda1使用空间为0。/dev/sdb1的使用空间用满了。

[root@localhost ~]# pvs -o +pv_used

 PV             VG      Fmt  Attr PSize   PFree   Used    /dev/nvme0n1p2 cl      lvm2 a--  

与此同时我们检查一下/data目录中的内容仍然保留,逻辑卷仍然挂载着。这就说明迁移逻辑卷的时候不影响用户使用该逻辑卷。

移除故障磁盘

下面我们可以使用vgreduce命令将故障的物理卷移除。

[root@localhost ~]# vgreduce vg_data /dev/sda1  

Removed "/dev/sda1" from volume group "vg_data"

移除故障的物理卷:

[root@localhost ~]# pvremove /dev/sda1

 Labels on physical volume "/dev/sda1" successfully wiped.

下面使用dmsetup命令查看逻辑卷的主编号和次编号是否变了:

[root@localhost ~]# dmsetup deps /dev/vg_data/lv_data

1 dependencies : (8, 17)

就这样,我们已经完成迁移逻辑卷了。

 

华纳云 推荐文章
如何提高Ubuntu服务器的安全性? IIS应用程序池自动停止 关闭 假死 处理 Linux下Apache虚拟主机配置 IIS上传文件大小配置步骤(默认200K) Centos7系统如何通过resolv.conf文件修改dns Debian8系统如何用unix2dos将unix格式文件转为dos格式 iis创建用户隔离模式FTP站点的方法 Windows IIS配置Jsp和php环境方法 如何在Linux中提高MySQL服务器的安全性? 如何在Ubuntu操作系统上配置MySQL服务器?
客服咨询
7*24小时技术支持
技术支持
渠道支持