博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Openstack_通用模块_Oslo_vmware 创建 vCenter 虚拟机快照
阅读量:5812 次
发布时间:2019-06-18

本文共 2292 字,大约阅读时间需要 7 分钟。

目录

前文列表

创建虚拟机快照

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 apifrom oslo_vmware import vim_util# Create the vmware sessionsession = api.VMwareAPISession(            '
', '
', '
', 1, 0.1)# Get the instances list with vmware SDKinstances = session.invoke_api( vim_util, 'get_objects', session.vim, 'VirtualMachine', 100) # Select a instance if you want to create snapshotinstance = instances.objects[2].obj# Start to create the snapshotsession.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 返回的对象.

转载于:https://www.cnblogs.com/jmilkfan-fanguiju/p/10589877.html

你可能感兴趣的文章
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
iOS人脸识别核心代码(备用)
查看>>
基本概念复习
查看>>
C++:成员运算符重载函数和友元运算符重载函数的比较
查看>>
[Polymer] Introduction
查看>>
【iCore3 双核心板】例程三十:U_DISK_IAP_FPGA实验——更新升级FPGA
查看>>
前端技术的发展和趋势
查看>>
Android文件下载之进度检测
查看>>
重构第10天:提取方法(Extract Method)
查看>>
吐血整理 Delphi系列书籍 118本(全)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
“Info.plist” couldn’t be removed
查看>>
Linux创建系统用户
查看>>
多线程day01
查看>>
JSON path
查看>>
Win8 Metro(C#)数字图像处理--2.43图像马赛克效果算法
查看>>
动画库NineOldAndroids
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>