Openstack_通用模块_Oslo_vmware 创建 vCenter 虚拟机快照
2017-11-24 15:42
639 查看
创建虚拟机快照
vSphere Create Snapshot 文档Snapshot 是虚拟机磁盘文件(VMDK)在某个点及时的复本。包含了虚拟机所有虚拟磁盘上的数据状态和这个虚拟机的电源状态(on/off/suspended)。你可以在虚拟机起电, 关电, 挂起的状态下创建一个 Snapshot。
当你创建了一个 Snapshot, 系统会为其在 Datastore 上创建了一个 delta 磁盘文件并且写入所有变化到这个 delta 磁盘文件中。
vSphere 的 MO 对象 VirtualMachine 提供了创建快照, 恢复到 snapshot_tree 上任何快照点和移除快照的方法。
VirtualMachine.CreateSnapshot_Task 方法可以创建一个虚拟机的新快照, 并且附带的, 当前快照会变成这个新快照的父级快照。该方法允许设置快照名, 同时也需要设置 memory 和 quiesce 属性。
memory: 若为 true, 则虚拟机内存状态 dump(memory dump) 被包含在快照里。内存快照会消耗时间和资源, 需要较长的时间来创建。若为 false, 则快照电源状态被设置成关闭, 无需处理内存快照。
quiesce: 若为 true 且创建快照时虚拟机处于开机状态, VMware Tools 通常会用于静默虚拟机中的文件系统, 确保磁盘快照和 GuestOS 文件系统状态是一致。假如
虚拟机的电源状态为关闭状态或 VMware Tools 不可用, 那么 quiesce 会被忽略。
1 from oslo_vmware import api 2 from oslo_vmware import vim_util 3 4 # Create the vmware session 5 session = api.VMwareAPISession( 6 '<vCenter_server_ip>', 7 '<vCenter_server_username>', 8 '<vCenter_server_password>', 9 1, 10 0.1) 11 12 # Get the instances list with vmware SDK 13 instances = session.invoke_api( 14 vim_util, 15 'get_objects', 16 session.vim, 17 'VirtualMachine', 18 100) 19 20 # Select a instance if you want to create snapshot 21 instance = instances.objects[2].obj 22 23 # Start to create the snapshot 24 session.invoke_api(session.vim, 25 "CreateSnapshot_Task", 26 instance, 27 name="JMILKFAN", 28 description='Just Create', 29 memory=False, 30 quiesce=False)
NOTE: 方法
session.invoke_api()的第一个参数为提供函数调用的模块, 第二个参数为要从中调用的函数, 其余的参数会作为实参传入第二个参数(函数)中. 至于这些被传入的实参是怎么来确定的呢? 我们可以通过查看 vSphere SDK 文档来确定.
EXAMPLE:
从上图可以看出
CreateSnapshot_Task()函数需要传入 _this/name/description/memory/quiesce 等 5 个参数. 其含义分别为:
_this: 需要创建快照的虚拟机
name: 指定快照的名称
description: 指定快照的描述
memory/quiesce: 在上文中已经提到了
最后
恢复一个快照VirtualMachine.RevertToSnapshot_Task
恢复快照的方法需要指定一个目标 Host 和指定虚拟机是否开机, 当恢复一个快照的电源状态为 True 的虚拟机时, 就必须指定一个目标的 Host 或者将 SupressPowerOn 指定为 True.
删除一个快照
VirtualMachine.RemoveAllSnapshots
删除一个虚拟机的所有快照.
VirtualMachineSnapshot.RemoveSnapshot_Task
删除一个虚拟机指定的快照, 其中 VirtualMachineSnapshot 是创建快照函数 CreateSnapshot_Task 返回的对象.
转自:
http://blog.csdn.net/jmilk/article/details/53174277
相关文章推荐
- Openstack_通用模块_Oslo_vmware 创建 vCenter 虚拟机快照
- Openstack_通用模块_Oslo_vmware 创建/删除 vCenter 虚拟机
- Openstack_通用模块_Oslo_vmware 创建 vSS PortGroup
- 详解VMware接入Openstack―使用Openstack创建vCenter虚拟机
- VMware 接入 Openstack — 使用 Openstack 创建 vCenter 虚拟机
- openstack API 创建虚拟机快照备份对应image
- Vcenter5.5+vmwarePowercli6.5+powershell5批量创建虚拟机
- [管理篇2]VMWare搭建Openstack——在Horizon中创建虚拟机实例
- 在VMware vCenter Server上创建虚拟机共享磁盘
- Vmware Vcenter创建虚拟机模板
- [管理篇3]VMWare搭建Openstack——批量创建虚拟机实例
- [镜像制作]VMWare搭建Openstack——Libvirt工具创建虚拟机镜像
- vMware 5.5 利用vcenter的powershell 批量创建虚拟机
- openstack 云服务上创建的虚拟机,主机名修改
- 在VMware5.5.2虚拟机的虚拟XP内创建与真实硬盘文件夹共享的SHARE FOLDER
- Mirantis对OpenStack的性能测试:高并发创建75000台虚拟机
- 原创:openstack创建虚拟机流程图(完成到scheduler向nova-compute发送rpc请求)
- Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化 .
- 1.1 VMware 一步一步创建虚拟机
- 使用qemu-img管理虚拟机磁盘镜像(创建虚拟机,虚拟机快照)