概述

简单说,基于该功能,可以在虚拟机没有连接网络的情况下,向虚拟机内传送文件。

例如中了恶意软件的虚拟机,已经断网,需要安装杀毒软件到虚拟机内进行查杀,传统的方式是将杀毒软件打包成ISO,上传到内容库,然后挂载到虚拟机的光驱中再进行安装。

GuestStore则可以利用 VMware Tools,直接在虚拟机内下载杀毒软件安装包,而无需虚拟机联网。

要使用 GuestStore 功能,虚拟机必须满足以下要求:

  • 使用 Windows 客户机操作系统的虚拟机必须在 vSphere 7.0 U2 及更高版本和 VMware Tools 11.2.5 及更高版本上运行。
  • 使用 Linux 客户机操作系统的虚拟机必须在 vSphere 7.0 U3 及更高版本和 open-vm-tools 11.3.0 及更高版本上运行。注意:近期由于vSphere 7.0 U3的多个版本出现了重大的bug,故VMware撤回了vSphere 7.0 U3相关的所有版本和补丁
  • 通过 GuestStore 分发的文件必须等于或小于 512 MB。

有趣的GuestStore--vSphere 7.0 U2 引入新功能_esxi


实验步骤:

  1. 准备一台Windows虚拟机,将VMware Tools 升级到 11.2.5 ,并重启

有趣的GuestStore--vSphere 7.0 U2 引入新功能_杀毒软件_02


  1. 在该虚拟机所在主机创建 GuestStore 存储库,如果该存储库需要在多台主机之间共享,建议使用共享存储,如NFS、iSCSI

建立目录aaa和子目录bbb,这里可以根据需要主机定义位置、名称、目录结构

[root@esxi3:~] ll /aaa
total 12
drwxr-xr-x 1 root root 512 Dec 2 09:10 .
drwxr-xr-x 1 root root 512 Dec 2 09:04 ..
drwxr-xr-x 1 root root 512 Dec 2 09:10 bbb

在bbb目录下创建文件1.txt

[root@esxi3:~] cd /aaa/bbb
[root@esxi3:/aaa/bbb] ls
1.txt

设置 GuestStore 存储库 URL

[root@esxi3:~] esxcli system settings gueststore repository set --url "ds:///aaa"

查看 GuestStore 存储库 URL

[root@esxi3:/aaa/bbb] esxcli system settings gueststore repository get
URL: ds:///aaa
  1. 在Windows虚拟机中下载文件,/bbb/1.txt 为要下载的文件路径,c:\1.txt 为虚拟机内保存路径
C:\>cd "Program Files\VMware\VMware Tools"

C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe gueststore getcontent /bbb/1.txt c:\1.txt
内容大小 (字节): 12
进度: 100% [====================>]
“getcontent”成功。

可以看到此处禁用了唯一的网卡

有趣的GuestStore--vSphere 7.0 U2 引入新功能_杀毒软件_03


  1. 取消 GuestStore 存储库
[root@esxi3:/aaa/bbb] esxcli system settings gueststore repository set --url ""
[root@esxi3:/aaa/bbb] esxcli system settings gueststore repository get
URL: <not set>