LinuxProbe 发表于 2022-9-7 03:32:55

Centos8中迁移逻辑卷


迁移逻辑卷是通过将分区从一个PV(物理卷)移动至另一个PV。迁移逻辑卷是替换磁盘最安全的方法之一。
将要执行迁移的方法是使用pvmove操作。假设在我们的设置中,只有一个磁盘 /dev/sda1,大小为20gb。此时 /dev/sda1处于故障警告状态,需要更换新的同等容量的硬盘。让我们使用pvmove选项将分区移动到一个新的PV中。使用pvmove命令是通过将底层旧物理卷替换为新的物理卷。此外,使用文件系统的用户将不会注意到在底层发生的更改。为什么需要迁移逻辑卷?
1. 更换故障磁盘。2. 将现有的磁盘替换为较大的磁盘。创建PV、VG和LV
# 创建PV# pvcreate /dev/sda1   Physical volume "/dev/sda1" successfully created.# 创建VG# vgcreate vg_data /dev/sda1   Volume group "vg_data" successfully created# 创建LV,使用所有空间。# lvcreate -l 100%FREE -n lv_data vg_dataLogical volume "lv_data" created.https://www.linuxprobe.com/wp-content/uploads/2021/05/image1-1.png
创建完成之后格式化并挂载文件系统。# mkfs.xfs /dev/vg# mkfs.xfs /dev/vg_data/lv_data # mkdir /data# mount /dev/vg_data/lv_data /datahttps://www.linuxprobe.com/wp-content/uploads/2021/05/image2-1.png列出现有的逻辑卷
下面列出逻辑卷使用率:# df -h /dataFilesystem                   SizeUsed Avail Use% Mounted on/dev/mapper/vg_data-lv_data   20G2.2G   18G11% /datahttps://www.linuxprobe.com/wp-content/uploads/2021/05/image3-1.png
下面列出所有的物理卷、卷组、逻辑卷:# pvsPV             VG      FmtAttr PSize   PFree   /dev/nvme0n1p2 cl      lvm2 a--<19.00g <2.00g/dev/sda1      vg_data lvm2 a--<20.00g   0 # vgsVG      #PV #LV #SN Attr   VSize   VFree   cl      1   2   0 wz--n- <19.00g <2.00gvg_data   1   1   0 wz--n- <20.00g   0 # lvsLV      VG      Attr       LSize   Pool Origin Data%Meta%Move Log Cpy%Sync Convertroot    cl      -wi-ao----15.00g                                                      swap    cl      -wi-ao----   2.00g                                                      lv_data vg_data -wi-a----- <20.00g               https://www.linuxprobe.com/wp-content/uploads/2021/05/image4-1.png
下面检验一下逻辑卷使用到的磁盘是哪块,使用lvs命令并使用-o +devices选项,可以显示逻辑卷使用到的是哪块磁盘:# lvs -o +devices /dev/vg_data/lv_dataLV      VG      Attr       LSize   Pool Origin Data%Meta%Move Log Cpy%Sync Convert Devices       lv_data vg_data -wi-ao---- <20.00g                                                   /dev/sda1(0)https://www.linuxprobe.com/wp-content/uploads/2021/05/image5-1.png
使用dmsetup命令获取逻辑卷的主编号和次编号。# dmsetup deps /dev/vg_data/lv_data 1 dependencies : (8, 1)记住主编号和次编号。一旦我们将故障PV替换为另一个PV,它将改变。开始迁移逻辑卷
可以通过运行pvmove命令来执行逻辑卷的迁移。下面首先开始创建一个新的物理卷:# pvcreate /dev/sdb1   Physical volume "/dev/sdb1" successfully created.https://www.linuxprobe.com/wp-content/uploads/2021/05/image6-1.png
然后将新创建的物理卷添加到已存在的卷组中,下面图中可看到vg_data卷组容量增加了:# vgextend vg_data /dev/sdb1   Volume group "vg_data" successfully extendedhttps://www.linuxprobe.com/wp-content/uploads/2021/05/image7.png
使用pvs命令添加-o +pv_used选项可以显示物理卷的使用情况:# pvs -o +pv_usedPV             VG      FmtAttr PSize   PFree   Used   /dev/nvme0n1p2 cl      lvm2 a--<19.00g<2.00g17.00g/dev/sda1      vg_data lvm2 a--<20.00g      0<20.00g/dev/sdb1      vg_data lvm2 a--<20.00g <20.00g      0 https://www.linuxprobe.com/wp-content/uploads/2021/05/image8.png
下面就可以使用pvmove命令迁移逻辑卷啦,下面是用法:# pvmove -n   下面是常用选项解释:
[*]-n 指定逻辑卷的名称。
[*]-b 可以添加-b选项,意思是在后台运行,如果容量大,文件多可以配合screen在后台运行。
[*]-i 5 表示每5秒打印一次状态。
下面将逻辑卷lv_data从/dev/sda1迁移到/dev/sdb1中:# 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%https://www.linuxprobe.com/wp-content/uploads/2021/05/image9.png
迁移完成后,运行命令lvs -o +devices。在这里,我们看到旧磁盘/dev/sda1已经被/dev/sdb1替换了。# lvs -a -o +devices /dev/vg_data/lv_dataLV      VG      Attr       LSize   Pool Origin Data%Meta%Move Log Cpy%Sync Convert Devices       lv_data vg_data -wi-ao---- <20.00g                                                   /dev/sdb1(0)https://www.linuxprobe.com/wp-content/uploads/2021/05/image10.png
运行pvs -o +pv_used命令查看可看到,/dev/sda1使用空间为0。/dev/sdb1的使用空间用满了。# pvs -o +pv_usedPV             VG      FmtAttr PSize   PFree   Used   /dev/nvme0n1p2 cl      lvm2 a--<19.00g<2.00g17.00g/dev/sda1      vg_data lvm2 a--<20.00g <20.00g      0   /dev/sdb1      vg_data lvm2 a--<20.00g      0<20.00g与此同时我们检查一下/data目录中的内容仍然保留,逻辑卷仍然挂载着。这就说明迁移逻辑卷的时候不影响用户使用该逻辑卷。# df -h /dataFilesystem                   SizeUsed Avail Use% Mounted on/dev/mapper/vg_data-lv_data   20G2.2G   18G11% /data# ll /data/total 2097152-rw-r--r-- 1 root root 2147483648 Apr 26 15:17 disk.imghttps://www.linuxprobe.com/wp-content/uploads/2021/05/image11.png移除故障磁盘
下面我们可以使用vgreduce命令将故障的物理卷移除。# vgreduce vg_data /dev/sda1   Removed "/dev/sda1" from volume group "vg_data"https://www.linuxprobe.com/wp-content/uploads/2021/05/image12.png
移除故障的物理卷:# pvremove /dev/sda1   Labels on physical volume "/dev/sda1" successfully wiped.下面使用dmsetup命令查看逻辑卷的主编号和次编号是否变了:# dmsetup deps /dev/vg_data/lv_data 1 dependencies : (8, 17)https://www.linuxprobe.com/wp-content/uploads/2021/05/image13.png
就这样,我们已经完成迁移逻辑卷了。总结
本文使用了pvmove命令从逻辑卷迁移数据而无需停机。
https://www.51cto.com/it/news/2022/0905/34207.html
https://www.51cto.com/it/news/2022/0905/34208.html
https://www.csdn.net/article/2022-09-06/126720771

zmjeffwc 发表于 2022-9-7 09:41:31

{:6_267:}{:6_267:}
页: [1]
查看完整版本: Centos8中迁移逻辑卷