迁移逻辑卷是通过将分区从一个PV(物理卷)移动至另一个PV。迁移逻辑卷是替换磁盘最安全的方法之一。
将要执行迁移的方法是使用pvmove
操作。
假设在我们的设置中,只有一个磁盘 /dev/sda1
,大小为20gb。此时 /dev/sda1
处于故障警告状态,需要更换新的同等容量的硬盘。让我们使用pvmove
选项将分区移动到一个新的PV中。
使用pvmove
命令是通过将底层旧物理卷替换为新的物理卷。此外,使用文件系统的用户将不会注意到在底层发生的更改。
\1. 更换故障磁盘。
\2. 将现有的磁盘替换为较大的磁盘。
# 创建PV
[root@localhost ~]# pvcreate /dev/sda1
Physical volume "/dev/sda1" successfully created.
# 创建VG
[root@localhost ~]# vgcreate vg_data /dev/sda1
Volume group "vg_data" successfully created
# 创建LV,使用所有空间。
[root@localhost ~]# lvcreate -l 100%FREE -n lv_data vg_data
Logical volume "lv_data" created.
创建完成之后格式化并挂载文件系统。
[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
下面列出所有的物理卷、卷组、逻辑卷:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 cl lvm2 a-- # vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 15.00g
swap cl -wi-ao---- 2.00g
lv_data vg_data -wi-a-----
下面检验一下逻辑卷使用到的磁盘是哪块,使用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
下面是常用选项解释:
下面将逻辑卷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目录中的内容仍然保留,逻辑卷仍然挂载着。这就说明迁移逻辑卷的时候不影响用户使用该逻辑卷。
[root@localhost ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data 20G 2.2G 18G 11% /data
[root@localhost ~]# ll /data/
total 2097152
-rw-r--r-- 1 root root 2147483648 Apr 26 15:17 disk.img
下面我们可以使用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)
就这样,我们已经完成迁移逻辑卷了。
本文使用了pvmove命令从逻辑卷迁移数据而无需停机。
新闻名称:Centos8对逻辑卷进行迁移
标题来源:http://www.shufengxianlan.com/qtweb/news8/433008.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联