分享

请问openstack是怎么对实例进行备份的

shawn 发表于 2015-11-18 22:51:35 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 10 32517
现在用devstack搭好了一套openstack,但是在运维方面有点疑惑,
应该如何备份现在有的实例?
如何在一台计算节点挂了的情况下,把这些备份恢复到另外一个计算节点上呢?

请各位大神指点

已有(10)人评论

跳转到指定楼层
mituan2008 发表于 2015-11-19 10:25:00


希望对楼主有所帮助:
##################################################
openstack中,虚拟机实例一般是放在nova/instances目录底下.
该目录的典型结构如下所示:
root@node77:~# ls /opt/stack/nova/instances/
_base instance-0000001a

其中
_base目录中存放的是虚拟机实例的base image
而instance-0000001a存放的是虚拟机实例镜像的增量部分。

instance-0000001a目录有如下的一些文件:
root@node77:~# ls /opt/stack/nova/instances/instance-0000001a/
console.log disk disk.local libvirt.xml

其中
console.log 保存虚拟机启动的日志信息
disk 和 disk.local为虚拟机实例的镜像文件
libvirt.xml为配置文件。

这其中需要注意的是,disk和disk.local并没有包含该虚拟机的所有数据,它们只是基于base image的增量部分
我们通过kvm-image 工具可以查看该信息,如下:
root@node77:/opt/stack/nova/instances/instance-0000001a# kvm-img info disk
image: disk
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 1.6G
cluster_size: 2097152
backing file: /opt/stack/nova/instances/_base/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10 (actual path: /opt/stack/nova/instances/_base/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10)

root@node77:/opt/stack/nova/instances/instance-0000001a# kvm-img info disk.local
image: disk.local
file format: qcow2
virtual size: 40G (42949672960 bytes)
disk size: 4.0M
cluster_size: 2097152
backing file: /opt/stack/nova/instances/_base/ephemeral_0_40_None (actual path: /opt/stack/nova/instances/_base/ephemeral_0_40_None)
其中backing file 即是base image

因此我们在备份虚拟机实例的时候,不仅要备份instance-0000001a目录下的数据,而且要备份该虚拟机相关的base image数据,即backing file给出的文件。

对于该例子:
我们需要备份如下的文件:
(1)console.log
(2)disk
(3)disk.local
(4)libvirt.xml
(5)/opt/stack/nova/instances/_base/ephemeral_0_40_None
(6)/opt/stack/nova/instances/_base/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10


回复

使用道具 举报

shawn 发表于 2015-11-19 10:55:18
mituan2008 发表于 2015-11-19 10:25
希望对楼主有所帮助:
##################################################
openstack中,虚拟机实 ...

这个备份比较有帮助,谢谢回复

我昨天在horizon里面给虚拟实例做了个快照,可以直接在nova image-list里面反应出来,是不是可以认为,我做的那个快照就是和上传的镜像一样。
只要找出创建在了哪里,是不是可以直接当成镜像,即使是上传到另一个openstack都可以恢复?
上传的镜像在 /opt/stack/glance/image里面
但是我找不到快照在什么目录,请问大神知道吗?

谢谢
回复

使用道具 举报

shukongchengab 发表于 2015-11-19 11:07:08
能请教下楼主是怎么搭建用devstack搭好了一套openstack,是个人测试环境还是实际生产环境,有没有链接share下。谢谢
回复

使用道具 举报

shawn 发表于 2015-11-19 12:52:42
shukongchengab 发表于 2015-11-19 11:07
能请教下楼主是怎么搭建用devstack搭好了一套openstack,是个人测试环境还是实际生产环境,有没有链接share ...

生产环境吧,就是有些错误比较坑爹
docs.openstack.org/developer/devstack/guides/multinode-lab.html

注意配置完成后 vgextend第一个VG 不然只有10G大小
回复

使用道具 举报

shukongchengab 发表于 2015-11-20 10:55:22
shawn 发表于 2015-11-19 12:52
生产环境吧,就是有些错误比较坑爹
docs.openstack.org/developer/devstack/guides/multinode-lab.html
...

链接打不开。。。看来是被墙了。
回复

使用道具 举报

迷糊云 发表于 2015-12-4 09:26:39
楼主好,我想借这个帖子问一下,发现备份过程中,虚拟机控制台中断是怎么回事啊?创建备份或者快照需要中断虚拟机的业务吗?
回复

使用道具 举报

zhoumingang 发表于 2015-12-10 20:52:42
shawn 发表于 2015-11-19 10:55
这个备份比较有帮助,谢谢回复

我昨天在horizon里面给虚拟实例做了个快照,可以直接在nova image-list ...

楼主 可以一起学习,我也是刚玩,我没有试过,我想,你创建快照或者全备份backup 都是做成镜像,你应该是找不到文件的,镜像是在openstack上的glance后端的存储系统里面,你要拿到本地的话 用glance down-load 下来。可以一起探讨
回复

使用道具 举报

shawn 发表于 2015-12-21 11:25:38
迷糊云 发表于 2015-12-4 09:26
楼主好,我想借这个帖子问一下,发现备份过程中,虚拟机控制台中断是怎么回事啊?创建备份或者快照需要中断 ...

其实我也是刚玩,备份的时候中断是因为openstack用的是冷备份,他是先suspend你的虚拟机,拷贝,在重启你的虚拟机。
你的虚拟机上的状态会有镜像备份中。

如果要不中断虚拟机进行备份的话,你可以先划一块云硬盘,在划得时候,把镜像放那个里面,从硬盘开始实例,这样你备份的时候就是备份的硬盘。
不中断你的虚拟机。但是这个做的话,你的备份很难在实体机器找到。也很难恢复到另一个openstack系统中
回复

使用道具 举报

xuanxufeng 发表于 2015-12-21 12:03:07
shukongchengab 发表于 2015-11-20 10:55
链接打不开。。。看来是被墙了。


可以打开的,我这复制了一份
http://www.aboutyun.com/blog-53-2837.html
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条