OpenStack实践(十一):Instance Live Migrate and Evacuate
admin
2023-04-08 04:22:32
0

前言:

    Live Migrate(动态迁移),是指在保证客户机上应用服务正常运行的同时,让客户机在不同的宿主机之间进行迁移,分为无共享存储的Block Migration(块迁移)方式和有共享存储两种方式,本文为有共享存储迁移方式。

    Migrate前提是计算主机的nova-compute服务正常,当某个计算主机宕机或其它异常导致服务不可用时,这时可以进行Evacuate操作,将实例迁移至其它主机。


环境

openstack版本pike
控制节点主机openstack-controller(ubuntu 16.04.5) 172.27.34.37
计算节点主机openstack-computer(ubuntu 16.04.5) 172.27.34.38
instance01
cirros0001(172.16.2.3)
instance02
cirros0002(172.16.2.6)


ubuntu安装详见:Ubuntu16.04.5以lvm方式安装全记录

openstack安装详见:OpenStack实践(一):Ubuntu16.04下DevStack方式搭建p版OpenStack

Flat网络搭建详见:OpenStack实践(三):Linux Bridge方式实现Flat Network


Live Migrate部分

修改nova.conf

修改配置文件nova.conf

stack@openstack-controller:~$ view /etc/nova/nova.conf 
[vnc]
#vncserver_listen = 127.0.0.1server_listen=0.0.0.0

重启计算服务

root@openstack-controller:~# systemctl restart devstack@n*


配置hosts文件

配置个计算节点hosts文件,使之能相互识别主机名

root@openstack-controller:/# more /etc/hosts

OpenStack实践(十一):Instance Live Migrate and Evacuate


免密访问

各计算节点的root用户能免密访问应用用户stack

root@openstack-controller:/# ssh-keygen  -t rsa

OpenStack实践(十一):Instance Live Migrate and Evacuate

root@openstack-controller:~# ssh-copy-id  -i /root/.ssh/id_rsa.pub stack@172.27.34.38

OpenStack实践(十一):Instance Live Migrate and Evacuate

密码测试

root@openstack-controller:~# ssh stack@172.27.34.38

OpenStack实践(十一):Instance Live Migrate and Evacuate


libvirt配置

本次实验无需对/etc/default/libvirt-bin和/etc/libvirt/libvirtd.conf文件进行额外配置,采用默认qemu+ssh方式传输。

验证连通性

root@openstack-controller:~# virsh -c qemu+ssh://stack@openstack-computer/system list  --all

OpenStack实践(十一):Instance Live Migrate and Evacuate


配置nfs服务

nfs服务器配置

[root@centos7 ~]# mkdir -p /opt/stack/data/nova/instances
[root@centos7 ~]# chmod -R 777 /opt/stack/data/nova/instances
[root@centos7 ~]# view /etc/exports
/opt/stack/data/nova/instances  *(rw,sync,fsid=0,no_root_squash)
[root@centos7 ~]# exportfs -r
[root@centos7 ~]# exportfs -v
/opt/stack/data/nova/instances
                (sync,wdelay,hide,no_subtree_check,fsid=0,sec=sys,rw,secure,no_root_squash,no_all_squash)


客户端挂载

各计算节点都执行如下操作

安装nfs软件

root@openstack-controller:~# apt-get install nfs-common -y

测试共享目录

root@openstack-controller:~# showmount -e 172.27.9.181
Export list for 172.27.9.181:
/opt/stack/data/nova/instances *

挂载

root@openstack-controller:~#  mount -t nfs 172.27.9.181:/opt/stack/data/nova/instances /opt/stack/data/nova/instances

OpenStack实践(十一):Instance Live Migrate and Evacuate

开启自动挂载

root@openstack-controller:~# view /etc/rc.local
mount -t nfs 172.27.9.181:/opt/stack/data/nova/instances /opt/stack/data/nova/instances


nfs搭建详见:Centos7下NFS服务器搭建及客户端连接配置


Live Migrate

查看准备迁移的实例

OpenStack实践(十一):Instance Live Migrate and Evacuate

该实例迁移前位于controller节点,为验证是热迁移,cirros01开启ping服务

OpenStack实践(十一):Instance Live Migrate and Evacuate


开始迁移

OpenStack实践(十一):Instance Live Migrate and Evacuate

目标节点选择computer,由于是共享存储方式实现本实验,不勾选‘块设备迁移’选项。


迁移

OpenStack实践(十一):Instance Live Migrate and Evacuate


迁移完成

OpenStack实践(十一):Instance Live Migrate and Evacuate

实例由controller节点成功迁移至computer节点

OpenStack实践(十一):Instance Live Migrate and Evacuate

ping服务在迁移过程中未中断。


命令方式

root@openstack-controller:~# nova live-migration d0d5bc75-da89-46a8-be79-1e2639f9eaf8  openstack-controller

d0d5bc75-da89-46a8-be79-1e2639f9eaf8为实例id,openstack-controller为目标计算节点。


日志分析

查看实例id和req id

查看实例id和req id以便于日志定位

OpenStack实践(十一):Instance Live Migrate and Evacuate

OpenStack实践(十一):Instance Live Migrate and Evacuate


源节点nova-api发送消息

root@openstack-controller:~# journalctl -f --unit devstack@n-api.service

OpenStack实践(十一):Instance Live Migrate and Evacuate


目标节点迁移准备

OpenStack实践(十一):Instance Live Migrate and Evacuate


源节点暂停实例启动迁移

OpenStack实践(十一):Instance Live Migrate and Evacuate


目标节点恢复实例

OpenStack实践(十一):Instance Live Migrate and Evacuate


源节点完成迁移并释放资源

OpenStack实践(十一):Instance Live Migrate and Evacuate



Evacuate部分

关闭计算节点openstack-computer

root@openstack-computer:~/.ssh# init 0


查看计算节点状态

OpenStack实践(十一):Instance Live Migrate and Evacuate


查看实例名和所属计算节点名

root@openstack-controller:~# nova list --fields id,name,status,instance_name,host


执行evacuate 

root@openstack-controller:~# nova evacuate  80b8a5ff-5082-4864-b05e-5766c144d2b4  openstack-controller

将实例80b8a5ff-5082-4864-b05e-5766c144d2b4由计算节点openstack-computer迁移至openstack-controller


如果同主机做evacuate操作会报错:The target host can't be the same one,如果结算节点未宕机就迁移,则报错:Compute service of openstack-computer is still in use

OpenStack实践(十一):Instance Live Migrate and Evacuate

Evacuate操作完成


登陆实例

OpenStack实践(十一):Instance Live Migrate and Evacuate

实例恢复后密码、ip、主机名都不变。


日志分析

nova-api

OpenStack实践(十一):Instance Live Migrate and Evacuate



nova-scheduler

OpenStack实践(十一):Instance Live Migrate and Evacuate


nova-computer

OpenStack实践(十一):Instance Live Migrate and Evacuate



本文参考

https://docs.openstack.org/nova/queens/admin/configuring-migrations.html#section-configuring-compute-migrations

https://docs.openstack.org/nova/queens/configuration/config.html

https://docs.openstack.org/nova/pike/admin/evacuate.html

https://blog.51cto.com/cloudman/1786423



相关内容

热门资讯

乌克兰总统办公室前主任被控涉嫌... △乌克兰总统办公室前主任叶尔马克(资料图)当地时间11日,乌克兰国家反腐败局和特别反腐败检察院表示,...
你的蓝牙耳机正在 “偷听”?国... 在科技飞速发展的当下,无线耳机、智能手表、无线键盘等蓝牙设备凭借“一键连接”带来的便捷优势,已广泛应...
光洋股份:公司立足成为最懂制造... 证券日报网5月11日讯 ,光洋股份在接受调研者提问时表示,公司近年来加快布局机器人领域,立足成为最懂...
重庆拟投千亿培育沉浸式与虚拟现... 🤖 由 文心大模型 生成的文章摘要 重庆市发布“十五五”现代服务业发展规划,明确投入1 重庆市发...
内存缩水开倒车!谷歌Pixel... 5月11日消息,据相关媒体报道,受全球DRAM供应紧缺影响,谷歌即将推出的Pixel 11系列在内存...
伊朗议长:“14点提案”无可替... 当地时间12日凌晨,伊朗议会议长卡利巴夫在社交平台上发布消息称,除了接受伊朗“14点提案”中所规定的...
交付巴基斯坦的“麒麟”级潜艇战... ‍‍近日,在国防部举行的例行消息发布中有媒体提到,中方为巴基斯坦建造的“麒麟”级常规动力潜艇首艇已经...
伊朗官员:伊美就浓缩铀处置方式... 当地时间11日,总台记者获悉,一名伊朗官员称,伊朗与美国之间的谈判在浓缩铀的处置、暂停铀浓缩活动期限...
沈阳添新地标!超级IP“巨虎东... 万众期待,神兽归沈! 5月10日,沈阳专属超级文旅IP“巨虎东东”圆满完成交付唤醒仪式,正式启程奔赴...
虹软科技:暗光增强等算法已应用... 来源:市场投研资讯 (来源:财闻) 公司前瞻把握AI眼镜作为新一代AI交互入口的战略机遇,凭借深厚的...