创建虚拟机快照

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 会被忽略。

 from oslo_vmware import api
from oslo_vmware import vim_util # Create the vmware session
session = api.VMwareAPISession(
'<vCenter_server_ip>',
'<vCenter_server_username>',
'<vCenter_server_password>',
1,
0.1) # Get the instances list with vmware SDK
instances = session.invoke_api(
vim_util,
'get_objects',
session.vim,
'VirtualMachine',
100) # Select a instance if you want to create snapshot
instance = instances.objects[2].obj # Start to create the snapshot
session.invoke_api(session.vim,
"CreateSnapshot_Task",
instance,
name="JMILKFAN",
description='Just Create',
memory=False,
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 虚拟机快照的更多相关文章

  1. Openstack_通用模块_Oslo_vmware 创建/删除 vCenter 虚拟机

    目录 目录 oslovmware Connect to vCenter Server Create VirtualMachine for vCenter 常用的虚拟机配置项 删除虚拟机 oslo.vm ...

  2. Openstack_通用模块_Oslo_vmware 创建 vSS PortGroup

    目录 目录 vSS vSSPG vSphere SDK 中相关的网络对象 创建 vSS PortGroup vSS & vSSPG vSS(Standard vSwitch 标准交换机) 为在 ...

  3. VMware 接入 Openstack — 使用 Openstack 创建 vCenter 虚拟机

    目录 目录 软件环境 前言 Openstack 接口驱动 使用 KVM 在 Compute Node 上创建虚拟机的流程 使用 VCDirver 在 vCenter 上创建虚拟机的流程 配置 vCen ...

  4. 使用virsh命令创建KVM虚拟机快照

    查看虚拟机所在主机和虚拟机名称:[root@node-1 ~]# nova show a88dcf5d-c8b2-46a5-af27-a176d8235c9d|grep hyper| OS-EXT-S ...

  5. centos6.5虚拟机快照技术

    一.查看现有磁盘镜像格式与转换 查看磁盘格式 [root@localhost ~]# qemu-img info /var/lib/libvirt/images/centos7.img image: ...

  6. KVM虚拟机快照链创建,合并,删除及回滚研究

    1 QEMU,KVM,libvirt关系 QEMU QEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU ...

  7. (转)使用qemu-img管理虚拟机磁盘镜像(创建虚拟机,虚拟机快照)

    转自:http://blog.csdn.net/bravezhe/article/details/8461386 一台虚拟机的核心就是一个磁盘镜像,这个镜像可以理解成虚拟机的磁盘,里面有虚拟机的操作系 ...

  8. 虚拟机快照,克隆,静态ip地址的设置(centos 6.5)

    一.快照 例如,当我们在虚拟机上做实验或是作测试时,难免碰到一些不熟悉的地方,此时做个快照,备份一下当前的系统状态,一旦操作错误,可以很快还原到出错前的状态,完成实验,最终避免一步的失误导致重新开始整 ...

  9. kvm+libvirt虚拟机快照浅析[转]

    浅析snapshots, blockcommit,blockpull 作者:Kashyap Chamarthy <kchamart#redhat.com> Date: Tue, 23 Oc ...

随机推荐

  1. Window Batch编程示例

    日期时间相关示例 将下面的代码保存为批处理文件 ,命名为GetDate.bat 可以在另外的批处理文件中call GetDate.bat,并直接使用GetDate.bat里面定义的变量,如下图所示: ...

  2. PHPCMS v9 安全防范教程!

    一.目录权限设置很重要:可以有效防范黑客上传木马文件.如果通过 chmod 644 * -R 的话,php文件就没有权限访问了.如果通过chmod 755 * -R 的话,php文件的权限就高了. 所 ...

  3. Oracle 11.2.0.4在线(Online mode)打补丁14084247解决WRH$_ACTIVE_SESSION_HISTORY不会自动切割的问题

      安装了Oracle Database Release 11.2.0.4之后,发现WRH$_ACTIVE_SESSION_HISTORY始终不会自动分割删除,   后来才发现需要应用补丁:14084 ...

  4. 当遇到not a dynamic executable时怎么做

    当我使用ldd查找Drcom所缺少的32为库的时候提示not a dynamic executable 最后网上找到答案 来自http://forum.ubuntu.org.cn/viewtopic. ...

  5. aarch64_n2

    nodejs-is-dotfile-1.0.2-2.fc26.noarch.rpm 2017-02-12 00:27 9.5K fedora Mirroring Project nodejs-is-e ...

  6. 安装Visual Studio Scrum 1.0过程模板

    近几年里,Scrum变成了相当流行的软件开发方法学.因为它轻量.可迭代且快速等优点,以致于在敏捷开发中极受欢迎.微软甚至将TFS2010自带的MSF Agile5.0过程模板做得像Scrum,开发者们 ...

  7. ModelState验证部分属性

    ModelState.Remove("Name") 去掉不需要验证的属性.

  8. JUnit基本介绍

    一.什么是单元测试 单元测试(Unit  Testing)是指在计算机编程中,针对程序模块来进行正确性检验的测试工作.单元测试的特点如下: ※ 程序单元是应用最小的可测试部件,通常采用基于类或者类的方 ...

  9. vue项目中遇到的一些问题

    或访问:https://github.com/littleHiuman/experiences-about-vue  欢迎补充! vuex 状态 vue-cli 命令行 vue vue vue-rou ...

  10. apache代理配置https

    原文:https://mp.weixin.qq.com/s/Tw4UzX73Q7MSw3GJXnpN8A 微信小程序开发https设置 2017-04-06 格里菲斯 互联网工作者 微信官方规定小程序 ...