内容简介:正常安装的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
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Mining
Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95
The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!