- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近开始使用 pyvmomi 在将实例迁移到 AWS 之前获取详细的 vmware 服务器 list 。
在 vcenter 网络界面或 vsphere 客户端中,我可以检查一个实例并查看其磁盘,它会告诉我磁盘大小(已配置),以及有多少正在使用(已用存储)。
从示例 github repo ( https://github.com/vmware/pyvmomi-community-samples ) 我可以快速学习如何获取实例信息,因此获取磁盘大小是微不足道的 (SO 中甚至有一个问题显示了获取驱动器的简单方法 - How to get sizes of VMWare VM disks using PyVMomi ),但我不知道如何获取网络/客户端可以显示的实际使用存储空间。
那么,如何获取给定实例磁盘的已用空间?
最佳答案
要通过 PyVMomi 从 VM 获取 freespace,首先您必须检查 VMware 工具是否用于VM 是否安装在您的系统上。要检查它是否已安装,请从其摘要页面(通过 MOB)检查您的 VM guest 信息是否显示:
toolsStatus - VirtualMachineToolsStatus - “toolsNotInstalled”:这意味着您必须将 VMware 工具安装到各自的 VM,您可以引用以下链接进行安装:a) https://my.vmware.com/web/vmware/details?productId=491&downloadGroup=VMTOOLS1000或者,b) https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1018377
toolsStatus - VirtualMachineToolsStatus - "toolsOk":这意味着您的 VM 已经安装了 VMware 工具,并且您可以获得磁盘路径、容量 和 freeSpace 属性值来自 vim.vm.GuestInfo.DiskInfo。 (如果你像上面提到的那样手动安装 VMware 工具,下面应该是正确的)
设置好上述环境后,您可以通过以下代码从您的虚拟机获取相应信息:
service_instance = None
vcenter_host = "HOSTNAME"
vcenter_port = NUMERIC_PORT
vcenter_username = "USERNAME"
vcenter_password = "PASSWORD"
vmName = "VM_NAME";
try:
#For trying to connect to VM
service_instance = connect.SmartConnect(host=vcenter_host, user=vcenter_username, pwd=vcenter_password, port=vcenter_port, sslContext=context)
atexit.register(connect.Disconnect, service_instance)
content = service_instance.RetrieveContent()
container = content.rootFolder # starting point to look into
viewType = [vim.VirtualMachine] # object types to look for
recursive = True # whether we should look into it recursively
containerView = content.viewManager.CreateContainerView(
container, viewType, recursive)
#getting all the VM's from the connection
children = containerView.view
#going 1 by 1 to every VM
for child in children:
vm = child.summary.config.name
#check for the VM
if(vm == vmName):
vmSummary = child.summary
#get the diskInfo of the selected VM
info = vmSummary.vm.guest.disk
#check for the freeSpace property of each disk
for each in info:
#To get the freeSPace in GB's
diskFreeSpace = each.freeSpace/1024/1024/1024
希望它能解决您的问题。
关于python - 使用 pyvmomi 在 vmware 中获取实例的实际使用(分配)磁盘空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666195/
使用 VMWare Workstation Easy Install,您无需任何输入即可安装操作系统。它是如何做到这一点的?操作系统是否支持此功能,或者 vmware 是否会自动选择正确的选项? 最佳
我最近安装了 VM ware,每当我尝试打开 VMware 时,它都会显示以下消息: “没有足够的物理内存来使用其配置的设置启动此虚拟机。 要解决此问题,请调整附加内存设置以允许交换更多虚拟机内存
我有一个在 VMWare ESX 3.1 上运行的 Linux 镜像 (debian)。是否可以复制该镜像并在我的本地 VMWare 工作站上本地运行它?怎么办? 最佳答案 只需打开 VI 客户端,关
我希望能够创建一个 VMWare 镜像,通过指定应该放入其中的组件(最好在脚本中),然后获取 VMWare 或某些第三个进程,以根据规范构建机器。 所以我希望能够说例如。 操作系统 - Windows
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我知道这个标题有点奇怪,但我想不出更好的标题。 我在寻找(谷歌搜索)创建不可更改的 VMWare 镜像时没有成功。我不确定这是否可能?这个想法是,VMWare 重新启动后我始终具有相同的状态。 有人知
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 8年前关闭。 Improve this que
VMWare 工作站使用 Windows 7 中的新任务栏预览功能 - 单击任务栏中的图标,而不是切换到应用程序,它会显示打开的选项卡。我只想切换到应用程序。有谁知道如何禁用此功能? 我试过查看 vm
我正在为我的团队分别制作带有 IE6、7 和 8 的 XP 的 3 个 VM 版本。我从我们拥有的旧 VMware 镜像开始,该镜像具有 IE6 和 SP2,并且已经使用我们需要的所有内容对其进行了自
我使用 VMWare 已经有一段时间了,对它非常满意,但我想将它与 VirtualBox 进行比较。显然磁盘镜像是兼容的,并且我已经成功启动了由 VMWare 在 VirtualBox 中创建的基于
我使用 VMware Player v6.0.1 创建了一个虚拟机,并将 vm 复制到必须运行的服务器,但是那里的播放器版本是 v5.0.0,尝试运行 VM 时出现以下错误: The configur
我目前正在使用 Simics module (见第 6 章)监听指令获取和数据访问,并对所有这些事件运行回调,以便检测在 Simics x86 上运行的内核。例如,我可以创建一个 Simics 模块,
我有一个关于 Vmware Player 统一模式的问题。当我在统一模式下运行应用程序时,它们会出现烦人的灰色边框(第一张图片)。 这本身就很烦人。有问题的是,当我在最大化模式下运行它时,顶部边框仍然
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我写了一个 cuda 程序,我正在 ubuntu 上将它作为虚拟机进行测试。原因是我有windows 7,我不想安装ubuntu作为辅助操作系统,我需要使用linux操作系统进行测试。 我的问题是:虚
我正在尝试让 VMware Clarity UI sidenav 正常工作,并且会喜欢一个可靠的例子。我正在使用 clear-seed 项目,并且在 app.component.html 内部我有他们
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。 7年前关
我是一名优秀的程序员,十分优秀!