34.理解并配置虚拟机的热迁移
-
- 虚拟机的动态迁移
|
如何配置热迁移:
-
- 创建一个共享存储
- 查看实例的硬盘文件存放在什么地方,然后挂载到共享存储里
测试nfs 可用:compute1和compute2上
-
- 因为要挂在的目录是/var/lib/nova/instances/ 所以先修改共享目录的权限,防止无法存储
[[email protected] ~]# chown -R 162.162 /vdisk/
[[email protected] ~]# ls /vdisk/ -dl
drwxr-xr-x. 2 nova nova 6 Feb 8 15:42 /vdisk/
[[email protected]~]# vim /etc/fstab [[email protected] ~]# mount -a [[email protected] ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 xfs 36G 1.6G 35G 5% / devtmpfs devtmpfs 984M 0 984M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 8.7M 985M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup tmpfs tmpfs 199M 0 199M 0% /run/user/0 controller:/vdisk nfs4 60G 12G 49G 20% /var/lib/nova/instances |
-
- 修改配置文件,开启虚拟机的热迁移功能:
[[email protected] ~]# vim /etc/nova/nova.conf
-
- 重启服务:
控制节点和计算节点
[[email protected] ~]# systemctl restart openstack-nova-api.service openstack-nova-compute.service openstack-nova-conductor.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-novncproxy.service
[[email protected] ~]# systemctl restart openstack-nova-compute.service
-
- 修改每台计算节点的libvirtd的配置文件
libvirt主要支持的功能 虚拟机管理:包括不同的领域生命周期操作,比如:启动、停止、暂停、保存、恢复和迁移。支持多种设备类型的热插拔操作,包括:磁盘、网卡、内存和CPU
[[email protected] ~]# vim /etc/sysconfig/libvirtd
# vim /etc/libvirt/libvirtd.conf----默认情况下,libvirtd不支持tcp,只支持tls
[[email protected] ~]# systemctl restart libvirtd
[[email protected] ~]# systemctl restart openstack-nova-compute.service
-
- 每个计算节点nova用户之间要建立ssh 的信任关系
[[email protected] ~]# getent passwd nova
nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/sbin/nologin
[[email protected] ~]# usermod -s /bin/bash nova
[[email protected] ~]# echo redhat | passwd --stdin nova
Changing password for user nova.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# su - nova
-bash-4.2$ ssh-****** -N ""
ssh-copy-id compute1
ssh-copy-id compute2
-
- 做虚拟机的热迁移,一定要保证所有的计算节点的配置一定要一样,比如CPU/RAM等
创建虚拟机进行测试:
新建的vms002位于compute2上,将其热迁移到compute1上
执行热迁移:
成功迁移到compute1上