原文地址:http://blog.csdn.net/weiyuanke/article/details/7639742
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
如何根据备份的文件,在另外一台机器上恢复该虚拟机:
方法1:
我们将disk 和 disk.local磁盘文件分别和它们的base image合并,生成两个新的磁盘文件,那么这两个磁盘文件将包含虚拟机所有的数据。
qemu-img convert [-c] [-f format
] [-o options
] [-O output_format
] filename
output_filename
qemu-img convert disk –O qcow2 newdisk
qemu-img convert disk.local –O qcow2 newdisk.local
方法2:
我们修改disk和disk.local文件中backing file的位置,为当前base image的位置
qemu-img rebase [-f format
] [-u] -b backing_file
[-F backing_format
] filename
正确处理完磁盘文件后,剩下的工作就是按照libvirt.xml文件的设置,启动虚拟机了。
这一部分,网上有很多的文档可供参考。
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
如何根据备份的文件,在另外一台机器上恢复该虚拟机:
方法1:
我们将disk 和 disk.local磁盘文件分别和它们的base image合并,生成两个新的磁盘文件,那么这两个磁盘文件将包含虚拟机所有的数据。
qemu-img convert [-c] [-f format
] [-o options
] [-O output_format
] filename
output_filename
qemu-img convert disk –O qcow2 newdisk
qemu-img convert disk.local –O qcow2 newdisk.local
方法2:
我们修改disk和disk.local文件中backing file的位置,为当前base image的位置
qemu-img rebase [-f format
] [-u] -b backing_file
[-F backing_format
] filename
正确处理完磁盘文件后,剩下的工作就是按照libvirt.xml文件的设置,启动虚拟机了。
这一部分,网上有很多的文档可供参考。
分享到:
相关推荐
使用虚拟机备份软件恢复OpenStack虚拟机
OpenStack虚拟机备份步骤详解
OpenStack虚拟机管理实例
本文详细介绍了在虚拟机上面安装openstack的详细步骤
手把手教您如何使用python语言,创建OpenStack虚拟机。
一种基于OpenStack的虚拟机弹性伸缩方法及系统.pdf
openstack虚拟机创建的50个步骤和100个知识点
openstack虚拟机热迁移详解,PDFopenstack虚拟机热迁移详解,PDFopenstack虚拟机热迁移详解,PDFopenstack虚拟机热迁移详解,PDF
一种基于OpenStack的云计算虚拟机放置策略.pdf
openstack安装Windows虚拟机需要集成virtio驱动,文档为操作步骤
为了提高虚拟机备份(包括运行时状态、存储、配置)的效率,提高虚拟机运行的稳定性和平衡物理机的负载,提出一种基于混 合迁移的OpenStack云平台虚拟机在线迁移方案....
Clonezilla 还支持将备份的镜像文件恢复到云平台中,这样可以将虚拟机部署到云平台上,并实现虚拟机的高可用性和可扩展性。 Clonezilla 是一款功能强大且灵活的虚拟机备份和还原工具,可以满足不同的虚拟机备份和...
背景:用vmw are创建虚拟机,操作系统选择ubuntu14.04.5,创建了两个虚拟网卡,管理网卡选择了NAT模式,外部网卡选择了仅主机模式。问题描述:问题
OpenStack虚拟机启动机制研究,吴联盟,王洪波,云计算目前在国内和国际的发展可谓
Openstack虚拟机镜像制作指南 在你拥有虚拟机镜像(也有人叫"虚拟器件")之前,你的 OpenStack 计算云不太有用,这个指南描述了如何获取,创建以及修改 OpenStack 兼容的虚拟机镜像。
主要介绍了Openstack 创建项目和虚拟机详细介绍的相关资料,这里举例说明如何实现,图文教程,需要的朋友可以参考下
在Openstack中实例指的就是vm,本文档就是在dashboard上创建vm的基本步骤:在创建虚拟机之前,要做一些准备,添加安全组,创建ssh密钥对。本文基于vm所需的网络配置已经创建完毕的情况下进行创建,网络的配置,请...
通常我们会使用一个最基本的镜像cirros-0.3.3-x86_64-disk.img来作为镜像,使用glance命令行或者horizon的图形化界面将镜像上传,启动虚拟机的时候直接指定该镜像就可以启动虚拟机实例。有时候我们不像使用cirros...
OpenStack 虚拟机镜像制作指南 官方翻译文档
OpenStack虚拟机创建交互流程详解.pptx