如何将lvm卷移动到另一台服务器中

Posted 刘遄老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将lvm卷移动到另一台服务器中相关的知识,希望对你有一定的参考价值。


在某些情况下,将卷组从一个系统移动到另一个系统可能是我们最需要的。下面看一下如何将一个包含多个磁盘的卷组从一台服务器移动到另一台服务器,而不会丢失任何文件。

环境

两台Centos8 虚拟机

第一台名字为:server1 , 第二台名字为:server2

第一台Centos8额外添加4块硬盘。当配置完逻辑卷之后,用来移动到另一个Centos8系统中使用的。

第一台Centos8 IP: 192.168.43.131

第二台Centos8 IP: 192.168.43.137

创建pv、vg、lv并挂载,复制数据到卷里面

下面4个硬盘创建为物理卷

[root@server1 ~]# fdisk -l|grep sd
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdc: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdd: 20 GiB, 21474836480 bytes, 41943040 sectors
[root@server1 ~]# pvcreate /dev/sd[a-d]
Physical volume "/dev/sda" successfully created.
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.

创建卷组,卷组名称为​​vg_data​

[root@server1 ~]# vgcreate vg_data /dev/sd[a-d]
Volume group "vg_data" successfully created
[root@server1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- <19.00g <2.00g
vg_data 4 0 0 wz--n- 79.98g 79.98g

下面创建逻辑卷,卷的名称为​​lvdata​​,空间容量使用所有的

[root@server1 ~]# lvcreate -l +100%FREE -n lvdata vg_data
WARNING: xfs signature detected on /dev/vg_data/lvdata at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/vg_data/lvdata.
Logical volume "lvdata" created.
[root@server1 ~]# lvs -o +devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
root cl -wi-ao---- 15.00g /dev/nvme0n1p2(512)
swap cl -wi-ao---- 2.00g /dev/nvme0n1p2(0)
lvdata vg_data -wi-a----- 79.98g /dev/sda(0)
lvdata vg_data -wi-a----- 79.98g /dev/sdb(0)
lvdata vg_data -wi-a----- 79.98g /dev/sdc(0)
lvdata vg_data -wi-a----- 79.98g /dev/sdd(0)

如何将lvm卷移动到另一台服务器中_centos

创建挂载点、格式化分区、挂载分区、写入数据:

[root@server1 ~]# mkdir /data
[root@server1 ~]# mkfs.xfs /dev/vg_data/lvdata
meta-data=/dev/vg_data/lvdata isize=512 agcount=4, agsize=5241856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=20967424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=10238, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@server1 ~]# mount /dev/vg_data/lvdata /data
[root@server1 ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lvdata 80G 604M 80G 1% /data
[root@server1 ~]# dd if=/dev/zero of=/data/disk.img bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 4.63086 s, 232 MB/s
[root@server1 ~]# touch /data/file1..10.txt

如何将lvm卷移动到另一台服务器中_centos_02

卸载、停用逻辑卷和卷组

下面卸载分区

[root@server1 ~]# umount /data

停用逻辑卷和卷组:

[root@server1 ~]# lvchange -an /dev/vg_data/lvdata 
[root@server1 ~]# vgchange -an vg_data
0 logical volume(s) in volume group "vg_data" now active
[root@server1 ~]# 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
lvdata vg_data -wi------- 79.98g

停用逻辑卷之后,使用lvs​​命令​​​查看逻辑卷,可看到lvdata卷的属性中​​a​​属性没有了,表示没有激活。

如何将lvm卷移动到另一台服务器中_数据_03

导出卷组

在server1中导出卷组

[root@server1 ~]# vgexport vg_data 
Volume group "vg_data" successfully exported

导出之后,我们需要关闭server1系统。然后复制它的磁盘到server2中。

复制server1的磁盘到server2目录中

将server1的四个磁盘复制到server2虚拟机的目录中。下面可以看到带有​​*-000002.vmdk​​的文件,这是因为我做了快照。需要一起复制到server2中。

如何将lvm卷移动到另一台服务器中_数据_04

复制到server2目录中:

如何将lvm卷移动到另一台服务器中_逻辑卷_05

打开server2的“编辑虚拟机设置”

如何将lvm卷移动到另一台服务器中_逻辑卷_06

添加现有虚拟磁盘

如何将lvm卷移动到另一台服务器中_centos_07

如何将lvm卷移动到另一台服务器中_数据_08

打开server2的电源。如果发现开机无法引导系统,开机按f2进入bios,设置启动项,将存在系统的磁盘顺序调到最顶。

导入卷组

server2开机之后,使用​​pvscan​​扫描一下,新添加的磁盘是否可以检测到:

[root@server2 ~]# pvscan 
PV /dev/nvme0n1p2 VG cl lvm2 [<19.00 GiB / 0 free]
PV /dev/sda is in exported VG vg_data [<20.00 GiB / 0 free]
PV /dev/sdb is in exported VG vg_data [<20.00 GiB / 0 free]
PV /dev/sdc is in exported VG vg_data [<20.00 GiB / 0 free]
PV /dev/sdd is in exported VG vg_data [<20.00 GiB / 0 free]
Total: 5 [98.98 GiB] / in use: 5 [98.98 GiB] / in no VG: 0 [0 ]

如何将lvm卷移动到另一台服务器中_逻辑卷_09

下面使用vgs​​命令​​​查看一下,可以看到vg_data卷组,但是可以看到属性,有一个​​x​​属性,这代表是外部的卷组。

[root@server2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- <19.00g 0
vg_data 4 1 0 wzx-n- 79.98g 0
[root@server2 ~]#

如何将lvm卷移动到另一台服务器中_centos_10

下面使用​​vgimport​​命令导入vg_data卷组:

[root@server2 ~]# vgimport vg_data 
Volume group "vg_data" successfully imported

如何将lvm卷移动到另一台服务器中_逻辑卷_11

可以看到​​x​​属性消失了。

激活卷组

下面使用lvs命令查看一下lvdata逻辑卷的属性:

[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- <17.00g
swap cl -wi-ao---- 2.00g
lvdata vg_data -wi------- 79.98g

如何将lvm卷移动到另一台服务器中_数据_12

发现没有​​a, o​​这两个属性。a表示激活、o表示是否挂载。

下面激活卷组:

[root@server2 ~]# vgchange -ay vg_data 
1 logical volume(s) in volume group "vg_data" now active
[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- <17.00g
swap cl -wi-ao---- 2.00g
lvdata vg_data -wi-a----- 79.98g

如何将lvm卷移动到另一台服务器中_逻辑卷_13

可以看到a属性显示了。

挂载文件系统

首先创建挂载点,然后挂载文件系统:

[root@server2 ~]# mkdir /data
[root@server2 ~]# mount /dev/vg_data/lvdata /data/
[root@server2 ~]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_data-lvdata 80G 1.6G 79G 2% /data

如何将lvm卷移动到另一台服务器中_数据_14

再使用lvs命令查看一下,发现lvdata逻辑卷的o属性也显示了。

[root@server2 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- <17.00g
swap cl -wi-ao---- 2.00g
lvdata vg_data -wi-ao---- 79.98g

下面是导入之后,物理卷、卷组、逻辑卷的内容:

如何将lvm卷移动到另一台服务器中_逻辑卷_15

总结

就这样我们已经成功完成了将卷组从一个系统移动到另一个系统的工作。

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




以上是关于如何将lvm卷移动到另一台服务器中的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Jenkins 从一台 PC 移动到另一台 PC

如何在 PHP 中将上传的文件移动到另一台主机

如何将 redis 数据库从一台服务器移动到另一台服务器?

如何将 redis 数据库从一台服务器移动到另一台服务器?

如何将 ASP.NET 网站导出到另一台计算机 [关闭]

如何将弹性数据从一台服务器传输到另一台服务器