实验:将逻辑卷迁移到其他主机
1、在源主机上新增一个独立的虚拟磁盘
[root@centos6(mit) ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 300M 0 part /boot
├─sda2 8:2 0 20G 0 part /
├─sda3 8:3 0 10G 0 part /app
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 2G 0 part [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part
│ └─vg0-lv0 (dm-0) 253:0 0 3G 0 lvm /data
└─sdb2 8:18 0 2G 0 part
└─vg0-lv0 (dm-0) 253:0 0 3G 0 lvm /data
sdc 8:32 0 20G 0 disk
2、将该硬盘sdc做为PV,扩展进卷组vg0
[root@centos6(mit) ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg0 lvm2 a--u 2.00g 0 /dev/sdb2 vg0 lvm2 a--u 2.00g 1.01g [root@centos6(mit) ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created [root@centos6(mit) ~]# vgextend /dev/sdc vg0 Volume group "sdc" not found Cannot process volume group sdc [root@centos6(mit) ~]# vgextend vg0 /dev/sdc Volume group "vg0" successfully extended
3.将所有数据都移动到将要拆卸的物理卷上
[root@centos6(mit) ~]# pvmove /dev/sdb1 /dev/sdb1: Moved: 4.1% /dev/sdb1: Moved: 100.0% [root@centos6(mit) ~]# pvmove /dev/sdb2 /dev/sdc /dev/sdb2: Moved: 1.2% /dev/sdb2: Moved: 100.0% [root@centos6(mit) ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg0 lvm2 a--u 2.00g 2.00g /dev/sdb2 vg0 lvm2 a--u 2.00g 2.00g /dev/sdc vg0 lvm2 a--u 20.00g 17.00g
4.如果卷组中除了要拆卸的硬盘外还有其他的PV,则进行vgreduce,如没有,直接第5步
root@centos6(mit) ~]# vgreduce vg0 /dev/sdb1 Removed "/dev/sdb1" from volume group "vg0" [root@centos6(mit) ~]# vgreduce vg0 /dev/sdb2 Removed "/dev/sdb2" from volume group "vg0" 5.将源卷组设置为非激活 (逻辑卷需要先卸载)
[root@centos6(mit) ~]# vgchange -an vg0 0 logical volume(s) in volume group "vg0" now active
6.将源卷组设置为export状态(逻辑卷需要先卸载)
[root@centos6(mit) ~]# vgexport vg0 Volume group "vg0" successfully exported
7、把硬盘(sdc)拆除并添加到目标主机上
关闭源主机,在目标主机上添加硬盘,选择 "使用现有虚拟磁盘(E)"这项,然后点击下一步,“文件名”要添写源主机上硬盘sdc所对应的磁盘文件,点击完成。
8、在目标主机上用命令lsblk查看新增加的硬盘
[root@centos7(mit) ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 120G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 20G 0 part / ├─sda3 8:3 0 10G 0 part /app ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 4G 0 part [SWAP] sr0 11:0 1 8.8G 0 rom
这时发现没有看到新增加的硬盘sdc,接下来用 echo '- - - ' > /sys/class/scsi_host/host0/scan 这条命令来扫描一下,结果出现了。 (如果没出现,把host0换成host2在重新扫描)
[root@centos7(mit) ~]# echo '- - -' > /sys/class/scsi_host/host0/scan [root@centos7(mit) ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 120G 0 disk ├─sda1 8:1 0 300M 0 part /boot ├─sda2 8:2 0 20G 0 part / ├─sda3 8:3 0 10G 0 part /app ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 4G 0 part [SWAP] sdb 8:16 0 20G 0 disk sr0 11:0 1 8.8G 0 rom
如果目标主机上有一块硬盘,新增加的硬盘盘符会按顺序添加而不是按源主机上的sdc。如果目标上现有三块硬盘,新增时,sdc会变成sdd,依次类推。
把vg0设置为import vgimport vg0 [root@centos7(mit) ~]# vgimport vg0 Volume group "vg0" successfully imported
9.把卷组设置为激活
vgchange -ay vg0
[root@centos7(mit) ~]# vgchange -ay vg0 1 logical volume(s) in volume group "vg0" now active
10、挂载
把新迁移过来的逻辑卷挂载起来,检查一下里面的数据,看是否迁移成功。
[root@centos7(mit) ~]# mount /dev/vg0/lv0 /data/
[root@centos7(mit) ~]# cd /data/ [root@centos7(mit) data]# ls f1 f2 f3 lost+found [root@centos7(mit) data]# ll total 28 -rw-r--r-- 1 root root 1890 Jun 24 11:56 f1 -rw-r--r-- 1 root root 1902 Jun 24 11:57 f2 -rw-r--r-- 1 root root 29 Jun 24 11:57 f3 drwx------ 2 root root 16384 Jun 24 11:53 lost+found 来对比一下原来的数据 [root@centos6(mit) data]# ll total 28 -rw-r--r-- 1 root root 1890 Jun 24 11:56 f1 -rw-r--r-- 1 root root 1902 Jun 24 11:57 f2 -rw-r--r-- 1 root root 29 Jun 24 11:57 f3 drwx------ 2 root root 16384 Jun 24 11:53 lost+found
和源主机上的数据一样,成功迁移。
备注:如果目标主机上也有逻辑卷,迁移时应该更改一下卷组和逻辑卷的名字,以免冲突。
逻辑卷重命名 lvrename VG LV LV_new
lvrename /dev/vg1/lv0 lv1
卷组重命名
vgrename VG VG_new
vgrename /dev/vg0 vg1