Centos8中迁移逻辑卷
  ylVzsNi3dukr 2023年11月02日 289 0

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

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

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

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

为什么需要迁移逻辑卷?

1. 更换故障磁盘。

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

创建PV、VG和LV

# 创建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.

Centos8中迁移逻辑卷_sed


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

[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

Centos8中迁移逻辑卷_sed_02

列出现有的逻辑卷

下面列出逻辑卷使用率:

[root@localhost ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lv_data 20G 2.2G 18G 11% /data

Centos8中迁移逻辑卷_文件系统_03


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

[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g
/dev/sda1 vg_data lvm2 a-- <20.00g 0
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- <19.00g <2.00g
vg_data 1 1 0 wz--n- <20.00g 0
[root@localhost ~]# 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----- <20.00g

Centos8中迁移逻辑卷_文件系统_04


下面检验一下逻辑卷使用到的磁盘是哪块,使用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---- <20.00g /dev/sda1(0)

Centos8中迁移逻辑卷_逻辑卷_05


使用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.

Centos8中迁移逻辑卷_sed_06


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

[root@localhost ~]# vgextend vg_data /dev/sdb1 
Volume group "vg_data" successfully extended

Centos8中迁移逻辑卷_sed_07


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

[root@localhost ~]# pvs -o +pv_used
PV VG Fmt Attr PSize PFree Used
/dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g 17.00g
/dev/sda1 vg_data lvm2 a-- <20.00g 0 <20.00g
/dev/sdb1 vg_data lvm2 a-- <20.00g <20.00g 0

Centos8中迁移逻辑卷_文件系统_08


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

# pvmove -n <logical_volume_to_move> <source_device> <destination_device>

下面是常用选项解释:

  • -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%

Centos8中迁移逻辑卷_sed_09


迁移完成后,运行命令​​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---- <20.00g /dev/sdb1(0)

Centos8中迁移逻辑卷_逻辑卷_10


运行​​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-- <19.00g <2.00g 17.00g
/dev/sda1 vg_data lvm2 a-- <20.00g <20.00g 0
/dev/sdb1 vg_data lvm2 a-- <20.00g 0 <20.00g

与此同时我们检查一下/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

Centos8中迁移逻辑卷_逻辑卷_11

移除故障磁盘

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

[root@localhost ~]# vgreduce vg_data /dev/sda1 
Removed "/dev/sda1" from volume group "vg_data"

Centos8中迁移逻辑卷_逻辑卷_12


移除故障的物理卷:

[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)

Centos8中迁移逻辑卷_逻辑卷_13


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

总结

本文使用了pvmove命令从逻辑卷迁移数据而无需停机。

TRANSLATE with x

English

​Arabic​

​Hebrew​

​Polish​

​Bulgarian​

​Hindi​

​Portuguese​

​Catalan​

​Hmong Daw​

​Romanian​

​Chinese Simplified​

​Hungarian​

​Russian​

​Chinese Traditional​

​Indonesian​

​Slovak​

​Czech​

​Italian​

​Slovenian​

​Danish​

​Japanese​

​Spanish​

​Dutch​

​Klingon​

​Swedish​

​English​

​Korean​

​Thai​

​Estonian​

​Latvian​

​Turkish​

​Finnish​

​Lithuanian​

​Ukrainian​

​French​

​Malay​

​Urdu​

​German​

​Maltese​

​Vietnamese​

​Greek​

​Norwegian​

​Welsh​

​Haitian Creole​

​Persian​

 

 

TRANSLATE with

COPY THE URL BELOW

Back

EMBED THE SNIPPET BELOW IN YOUR SITE


Enable collaborative features and customize widget: ​​Bing Webmaster Portal​

Back



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  sX9JkgY3DY86   2023年11月13日   42   0   0 idesedImage
  sX9JkgY3DY86   2023年11月13日   42   0   0 idesedflutter
  sX9JkgY3DY86   2023年11月13日   37   0   0 ideTextsed
  nQkVcpdWfLDr   2023年11月13日   28   0   0 cisedLua
  sX9JkgY3DY86   2023年11月13日   32   0   0 Textsed
ylVzsNi3dukr