云主机迁移@yfort
二、云主机迁移操作
1、登录资源池A的自服务门户,云主机关机,分别对云主机的系统盘和数据盘制作快照,并把系统盘快照转成私有镜像。
2、远程登录资源池A管理节点(这一步使用xshell或者SecureCRT等软件),把私有镜像拷贝到B资源池的/var/lib/glance/image目录下。
(1)检索出私有镜像的uuid:glance image-list | grep [门户私有镜像名称]
(2)切换至镜像保存目录;cd /var/lib/glance/images
(3)在该目录下查询出私有镜像:ls -lh | grep [镜像uuid]
(4)将私有镜像从A资源池scp拷贝到B资源池:
scp /var/lib/glance/images/[uuid] root@[B的管理节点ip]:/var/lib/glance/images
3、远程登录到资源池B的管理节点,将镜像上传到B资源池的镜像库中:
1)查看root分区
管理节点上执行:source /home/match/keystonerc_admin
virt-filesystems -a 镜像文件名
virt-filesystems -a centos56x64 --partitions -l --extra
2)glance image-create --name [镜像名字]
–is-public True
–min-disk [镜像大小]
–property os_type=linux
–property zabbix_config_path=/etc/zabbix/zabbix_agentd.conf
–property telegraf_config_path=/etc/telegraf/telegraf.conf
–property root_partition=[’root分区’]
–container-format bare
–disk-format qcow2
举例:
glance image-create --name CENT_6.3_S_64_X_20_X
–is-public True
–min-disk 20
–property os_type=linux
–property zabbix_config_path=/etc/zabbix/zabbix_agentd.conf
–property telegraf_config_path=/etc/telegraf/telegraf.conf
–property root_partition=’/dev/sda3’
–container-format bare
–disk-format qcow2
3)mv 镜像文件名 镜像uuid
4)glance image-update --location file://路径/镜像uuid 镜像uuid
4、登录到在资源池B的运维平台门户,配置镜像资源,将私有镜像上传到门户中。(此过程需要运维平台管理员权限进行配置)
glance add name=“Ubuntu 12.04 cloudimg amd64” is_public=true container_format=ovf \disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
5、使用各自的用户账号登录到资源池B自服务门户中,用私有镜像创建与源端相同规格的云主机B
6、在资源池B中创建与源端相同大小的数据盘B,并挂载至云主机B中
7、在资源池A中,使用rbd命令把数据盘A导出成文件A,
(1)nova list --all |grep [云主机的名称或者ip]:检索出云主机的uuid
(2)nova show [云主机uuid]:查看云主机的计算节点信息
(3)登录到云主机所在的的计算节点,执行virsh domblklist [云主机A uuid],查看资源池A的poolname
管理节点上执行:source /home/match/keystonerc_admin
sudo virsh domblklist a9a5efa2-1106-48e3-8151-8d81f2da2f84
(4)rbd export [poolnameA/volume-块uuid] [文件名A] >> [日志名] 2>&1
举例:
nohup rbd export volumes/volume-0dc0c657-358d-4642-969f-2b497d108c44 /var/lib/glance/images/2020-08-29/298a8179 >> /var/lib/glance/images/2020-08-29/298a8179.log 2>&1 &
可使用nohup后台执行。
8、把文件A通过SCP拷贝至资源池B的管理节点上,
9、执行数据文件导入的操作。
(1)nova list --all |grep [云主机的名称或者ip]:检索出云主机的uuid
nova list --all|grep 192.168.1.5
(2)nova show [云主机B uuid]:查看云主机B的计算节点信息
nova show ad746f0a-edee-4fa1-93eb-82a2020ce0e5
(3)登录到云主机B所在的的计算节点,执行virsh domblklist [云主机B uuid],查看资源池B的poolname
[match@hci0006 ~]$ sudo virsh domblklist ad746f0a-edee-4fa1-93eb-82a2020ce0e5
Target Source
vda volumes/volume-ca498854-4ac3-4d91-ba94-db7b8afb0b17
vdc volumes/volume-403fb75b-e740-4512-aa38-4a6949e7c409
(4)修改数据盘B的名字,
rbd mv [poolnameB/volume-块uuid] [poolnameB/volume-块uuid.bak]
举例:
rbd mv volumes/volume-403fb75b-e740-4512-aa38-4a6949e7c409 volumes/volume-403fb75b-e740-4512-aa38-4a6949e7c409.bak
(5)数据导入:
rbd import [文件名A] [poolnameB/volume-块uuid] >>[日志名称] 2>&1
举例:
nohup rbd import /var/lib/cinder/2020-08-29/298a8179 volumes_wocloud/volume-05bf2d77-9ec7-4867-b665-bc99ea8e087f >>/var/lib/cinder/2020-08-29/05bf2d77.out 2>&1 &
[match@RGCC01 ~(keystone_admin)]$ rbd import /tmp/yaoyuan1019 volumes/volume-403fb75b-e740-4512-aa38-4a6949e7c409
Importing image: 100% complete…done.
可使用nohup后台执行。
10、登录资源池B的自服务门户,将云主机开机,验证数据与资源池A的云主机数据是否一致。
注意:
1.迁移过程中,也可以使用rsync或者其他数据同步工具达到源端和目标端数据同步的目的。
[root@ansible-server /]# rsync -r /tmp 172.16.3.40:/tmp # 将本地/tmp目录拷贝到远程主机172.16.3.40的/tmp下,以保证远程/tmp目录和本地/tmp保持同步
[ ]中的内容为需要加的参数。