lvm卷移动至其他服务器

lvm卷移动到其他服务器且不丢失文件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

                     ***以下案例,仅供参考***

前言

Hi!这里介绍了如何将一个包含多个磁盘的卷组从一台服务器移动到另一台服务器,并且不丢失任何文件。


环境

两台linux主机系统,第一台额外添加4块硬盘(当配置完逻辑卷之后,用来移动到另一个系统中使用的)
系统:Cent Os 7.6 分别名为test和test2

磁盘:test:系统盘 40G 四块额外添加的16G硬盘
test2:系统盘40G

1.创建pv、vg、lv

(1)下面4块盘创建物理卷

[root@test ~]# fdisk -l |grep sd
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Disk /dev/sdc: 17.2 GB, 17179869184 bytes, 33554432 sectors
Disk /dev/sdd: 17.2 GB, 17179869184 bytes, 33554432 sectors
Disk /dev/sde: 17.2 GB, 17179869184 bytes, 33554432 sectors
[root@test ~]# pvcreate /dev/sd[b-e]
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.

(2)创建卷组,名为:vg_data

[root@test ~]# vgcreate vg_data /dev/sd[b-e]
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.
  Volume group "vg_data" successfully created
[root@test ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree 
  centos    1   2   0 wz--n- <39.00g     0 
  vg_data   4   0   0 wz--n-  63.98g 63.98g

(3)创建逻辑卷,卷名:lvdata,空间容量:所有

root@test ~]# lvcreate -l +100%FREE -n lvdata vg_data
  Logical volume "lvdata" created.
[root@test ~]# lvs -o +devices
  LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices        
  root   centos  -wi-ao---- <35.00g                                                     /dev/sda2(0)   
  swap   centos  -wi-ao----   4.00g                                                     /dev/sda2(8959)
  lvdata vg_data -wi-a-----  63.98g                                                     /dev/sdb(0)    
  lvdata vg_data -wi-a-----  63.98g                                                     /dev/sdc(0)    
  lvdata vg_data -wi-a-----  63.98g                                                     /dev/sdd(0)    
  lvdata vg_data -wi-a-----  63.98g                                                     /dev/sde(0)

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

[root@test ~]# mkdir /data
[root@test ~]# mkfs.xfs /dev/vg_data/lvdata 
meta-data=/dev/vg_data/lvdata    isize=512    agcount=4, agsize=4193280 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=16773120, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=8190, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@test ~]# mount /dev/vg_data/lvdata  /data/
[root@test ~]# df -h 
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root      35G  1.2G   34G   4% /
devtmpfs                    3.9G     0  3.9G   0% /dev
tmpfs                       3.9G     0  3.9G   0% /dev/shm
tmpfs                       3.9G  8.9M  3.9G   1% /run
tmpfs                       3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                  1014M  145M  870M  15% /boot
tmpfs                       783M     0  783M   0% /run/user/0
/dev/mapper/vg_data-lvdata   64G   33M   64G   1% /data
[root@test ~]# 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) copied, 0.888231 s, 1.2 GB/s
[root@test ~]# touch /data/file{1..8}.txt
[root@test ~]# ll /data/
total 1048576
-rw-r--r--. 1 root root 1073741824 Dec  9 23:38 disk.img
-rw-r--r--. 1 root root          0 Dec  9 23:39 file1.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file2.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file3.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file4.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file5.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file6.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file7.txt
-rw-r--r--. 1 root root          0 Dec  9 23:39 file8.txt

2.卸载、停用逻辑卷和卷组

(1)卸载分区,停用逻辑卷和卷组

[root@test ~]# umount /data/
[root@test ~]# lvchange -an /dev/vg_data/lvdata 
[root@test ~]# vgchange -an vg_data 
  0 logical volume(s) in volume group "vg_data" now active
[root@test ~]# lvs
  LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   centos  -wi-ao---- <35.00g                                                    
  swap   centos  -wi-ao----   4.00g                                                    
  lvdata vg_data -wi-------  63.98g

能看见lvdata卷的属性中‘a’属性没有了,表示没有激活。

注意,到这一步,我们的第一台机器就已经完成了
导出卷组:vgexport vg_data

(2)复制卷组
两台机器都处于关机的状态下,在第二台机器上"编辑设置"–“添加硬盘”–“现有硬盘”,添加第一台机器的四块硬盘保存即可
在这里插入图片描述
开启第二台机器,查看磁盘

[root@test2 ~]# pvscan 
  PV /dev/sda2   VG centos          lvm2 [<39.00 GiB / 0    free]
  PV /dev/sdb     is in exported VG vg_data [<16.00 GiB / 0    free]
  PV /dev/sdc     is in exported VG vg_data [<16.00 GiB / 0    free]
  PV /dev/sdd     is in exported VG vg_data [<16.00 GiB / 0    free]
  PV /dev/sde     is in exported VG vg_data [<16.00 GiB / 0    free]
  Total: 5 [102.98 GiB] / in use: 5 [102.98 GiB] / in no VG: 0 [0   ]

可以看见四块硬盘都复制过来了,查看vg、lv和文件

[root@test2 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  centos    1   2   0 wz--n- <39.00g    0 
  vg_data   4   1   0 wzx-n-  63.98g    0

vg_data有个"x"属性,代表外部的卷组

// An highlighted block
var foo = 'bar';

导入卷组

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

导入卷组后可以看见x属性消失

[root@test2 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  centos    1   2   0 wz--n- <39.00g    0 
  vg_data   4   1   0 wz--n-  63.98g    0 

激活卷组

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

创建挂载点挂载文件

[root@test2 ~]# mkdir /data
[root@test2 ~]# mount /dev/vg_data/lvdata /data/
[root@test2 ~]# df -h /data/
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_data-lvdata   64G  1.1G   63G   2% /data

查看之前的数据

[root@test2 ~]# ll /data/
total 1048576
-rw-r--r--. 1 root root 1073741824 Jan 10 23:54 disk.img
-rw-r--r--. 1 root root          0 Jan 10 23:55 file1.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file2.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file3.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file4.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file5.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file6.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file7.txt
-rw-r--r--. 1 root root          0 Jan 10 23:55 file8.txt
 [root@test2 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  centos    1   2   0 wz--n- <39.00g    0 
  vg_data   4   1   0 wz--n-  63.98g    0 
[root@test2 ~]# lvs
  LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   centos  -wi-ao---- <35.00g                                                    
  swap   centos  -wi-ao----   4.00g                                                    
  lvdata vg_data -wi-ao----  63.98g                                                    
[root@test2 ~]# pvscan 
  PV /dev/sda2   VG centos          lvm2 [<39.00 GiB / 0    free]
  PV /dev/sdb    VG vg_data         lvm2 [<16.00 GiB / 0    free]
  PV /dev/sdc    VG vg_data         lvm2 [<16.00 GiB / 0    free]
  PV /dev/sdd    VG vg_data         lvm2 [<16.00 GiB / 0    free]
  PV /dev/sde    VG vg_data         lvm2 [<16.00 GiB / 0    free]
  Total: 5 [102.98 GiB] / in use: 5 [102.98 GiB] / in no VG: 0 [0   ]
[root@test2 ~]# vgs -o +devices
  VG      #PV #LV #SN Attr   VSize   VFree Devices        
  centos    1   2   0 wz--n- <39.00g    0  /dev/sda2(0)   
  centos    1   2   0 wz--n- <39.00g    0  /dev/sda2(8959)
  vg_data   4   1   0 wz--n-  63.98g    0  /dev/sdb(0)    
  vg_data   4   1   0 wz--n-  63.98g    0  /dev/sdc(0)    
  vg_data   4   1   0 wz--n-  63.98g    0  /dev/sdd(0)    
  vg_data   4   1   0 wz--n-  63.98g    0  /dev/sde(0)    
[root@test2 ~]# lvs -o +devices
  LV     VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices        
  root   centos  -wi-ao---- <35.00g                                                     /dev/sda2(0)   
  swap   centos  -wi-ao----   4.00g                                                     /dev/sda2(8959)
  lvdata vg_data -wi-ao----  63.98g                                                     /dev/sdb(0)    
  lvdata vg_data -wi-ao----  63.98g                                                     /dev/sdc(0)    
  lvdata vg_data -wi-ao----  63.98g                                                     /dev/sdd(0)    
  lvdata vg_data -wi-ao----  63.98g                                                     /dev/sde(0)    


总结

以上就是今天所记录的内容,欢迎大家补充~

PS:本文灵感来自公众号:linux就该这么学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值