内容简介:正常安装的OpenStack中,实例存放在/var/lib/nova/instances/目录;使用kolla安装的OpenStack中,实例存放在/var/lib/docker/volumes/nova_compute/_data/instances/目录。共享存储,需要两个步骤:
《OpenStack中虚拟机的在线迁移》 一文中,虚拟机迁移时,把block一起进行了迁移。生产环境中,这些虚拟机往往是共享存储设备,不需要对block进行迁移。所以,本文就来重新配置一下环境,实现共享存储的虚拟机在线迁移。
原理
正常安装的OpenStack中,实例存放在/var/lib/nova/instances/目录;使用kolla安装的OpenStack中,实例存放在/var/lib/docker/volumes/nova_compute/_data/instances/目录。
共享存储,需要两个步骤:
1、有一台NFS(Network File System)服务器,共享某个目录,比如/nfs/share/instances。
2、所有计算节点的instances目录,都挂载上NFS服务器的/nfs/share/instances目录。
主机准备
使用virtualbox创建一个新的ubuntu16虚拟机,或者clone其他节点并且通过快照恢复初始状态,作为nfs存储节点。这里通过clone的方法得到一个新的主机,设置IP为192.168.56.130。参考 《VirtualBox中Ubuntu扩容》 ,对虚拟机进行扩容。
NFS
NFS服务器
首先,我们要搭建一个NFS服务器,参考 Ubuntu 16.04系统上NFS的安装与使用 和 使用NFS实现Ubuntu的文件共享 。
1、安装nfs软件包
apt install nfs-kernel-server
2、编写配置文件
vim /etc/exports
添加如下内容:
# openstack instances /nfs/share/instances *(rw,sync,no_root_squash)
3、创建共享目录并修改权限
mkdir -p /nfs/share/instances chmod o+x /nfs/share/instances
4、重启nfs服务
service nfs-kernel-server restart
5、查看共享信息
exportfs
控制节点
在控制节点删除demo1实例,或者在horizon控制台删除demo1的实例。
计算节点
1、安装nfs客户端
apt-get install nfs-common
2、查看共享信息
showmount -e 192.168.56.130
3、挂载nfs目录
mount -t nfs 192.168.56.130:/nfs/share/instances /var/lib/docker/volumes/nova_compute/_data/instances/
instances目录中还有文件和文件夹,直接挂载覆盖确定没有影响吗?没有。
两个计算节点都执行同样的操作,此时它们的instances目录是同一个目录。
4、修改instances目录权限
chmod -R 777 /var/lib/docker/volumes/nova_compute/_data/instances/
一定要修改,否则创建实例时会报错。
5、自动挂载
vim /etc/fstab
,添加:
192.168.56.130:/nfs/share/instances /var/lib/docker/volumes/nova_compute/_data/instances nfs default 0 0
6、重启compute服务
docker stop nova_compute docker start nova_compute
如果不重启,那么创建的实例会存放在计算节点本地磁盘上,卸载instances目录后可以看到。
迁移
创建实例
参考 《Kolla安装OpenStack多节点》 的初始化配置部分,使用cirros镜像创建demo2实例。
1、使管理员环境生效
source /etc/kolla/admin-openrc.sh
2、创建实例
openstack server create \ --image cirros \ --flavor m1.tiny \ --key-name mykey \ --nic net-id=25e6c0ef-6a0a-481c-a08a-46f7ef67ad3e \ demo2
3、分配浮动IP
openstack network list openstack floating list openstack floating ip create public1 openstack server add floating ip demo2 10.0.2.156
3、查看实例
计算节点上,在/var/lib/docker/volumes/nova_compute/_data/instances目录中,可以看到新创建的实例。
迁移实验
1、查看实例列表
nova list
2、查看实例信息
nova show demo2
可以看到demo2位于compute节点。
3、实例迁移
nova live-migration demo2 compute2
4、再次查看实例信息
nova show demo2
可以看到demo2迁移到了compute2节点,迁移成功,nice。
以上所述就是小编给大家介绍的《OpenStack中共享存储的虚拟机在线迁移》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Windows Server 2019 存储迁移服务
- 针对存储替换迁移中风险点的关键策略分析
- 图数据库设计实践:存储服务的负载均衡和数据迁移
- 2个Kubernetes使用同一个Ceph存储达到Kubernetes间持久化数据迁移
- 银行核心海量数据无损迁移:TDSQL数据库多源异构迁移方案
- 再无需从头训练迁移学习模型!亚马逊开源迁移学习数据库 Xfer
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度学习核心技术与实践
猿辅导研究团队 / 电子工业出版社 / 2018-2 / 119.00元
《深度学习核心技术与实践》主要介绍深度学习的核心算法,以及在计算机视觉、语音识别、自然语言处理中的相关应用。《深度学习核心技术与实践》的作者们都是业界一线的深度学习从业者,所以书中所写内容和业界联系紧密,所涵盖的深度学习相关知识点比较全面。《深度学习核心技术与实践》主要讲解原理,较少贴代码。 《深度学习核心技术与实践》适合深度学习从业人士或者相关研究生作为参考资料,也可以作为入门教程来大致了......一起来看看 《深度学习核心技术与实践》 这本书的介绍吧!