SDB:VMware Tools

跳转到:导航搜索
VMware Tools 是一系列增强功能,安装在 Guest VM 中以提供扩展的功能。 从 kernel 4.x 开始,这些增强功能中的大部分已集成到主线 kernel 中,但共享文件夹除外。 但是,即使共享文件夹也发生了变化,现在以 FUSE 文件系统的形式实现,而不是以前使用 Plan 9 协议访问的文件系统。

共享文件夹可以提供一个或多个 Guest VM 和 Host 访问同一机器上的一个或多个文件夹的通用访问权限,而无需依赖网络功能。

本 SDB 描述了如何在任何 HostOS 和任何 openSUSE 作为 GuestOS 上运行 VMware 时设置和配置共享文件夹,以及使用任何 VMware 产品。



共享文件夹

我的 openSUSE 安装了哪个 kernel?

除非您安装了不寻常的 kernel,否则 openSUSE 13.2 和 13.1(及更早版本)将运行在 3.x 或更早版本的 kernel 上。 任何较新的版本,包括 Leap 42.1/42.2 和 Tumbleweed,都将运行在 4.x 或更高版本的 kernel 上。

如果您想确定您的 kernel,请在控制台中运行以下命令

uname -r

对于 kernel 4.x 及更高版本

共享文件夹现在以 FUSE 文件系统的形式实现,不再需要构建 Kernel Loadable Modules。

1. 关闭您的 Guest

2. 修改您的 Guest 的属性,
选项 > 共享文件夹 > 启用并配置

3. 启动您的 Guest。

4. 在您的 Guest 中,您可以列出可用的共享文件夹(在步骤 2 中配置)通过运行以下命令

vmware-hgfsclient

5. 现在,您可以像挂载任何其他 FUSE 系统一样挂载共享文件夹,尽管有些工具被命名为 vmware 文件夹挂载,但这些工具的功能与通用 FUSE 工具相同。

重要概念 - 指定文件夹名称或不指定

如果您通过名称指定共享文件夹(如在运行步骤 4 时列出),您将在指定的挂载位置挂载 FUSE 文件系统(共享文件夹)。

但是,如果您<不>通过名称指定共享文件夹(仅描述 host:),则将为所有共享文件夹自动创建一个具有共享文件夹名称的临时子目录。

示例

以下命令将在 /mnt 中挂载名为“VirShared”的共享目录。 这可能有点限制性,因为这意味着任何其他挂载都不应挂载在 /mnt 中,这可能会导致对重叠目录树的混淆

vmhgfs-fuse .host:/VirShared /mnt/

以下命令将不直接在 /mnt 中挂载名为“VirShared”的共享目录,而是将在 /mnt 中创建一个与共享文件夹同名的子目录,其中包含共享目录的内容。 请注意,当您不指定共享文件夹名称时,所有可用的共享文件夹都将使用指定的挂载点作为根挂载点进行挂载。

vmhgfs-fuse .host: /mnt/

我鼓励第一次使用的用户尝试上述两种配置,以了解每种配置的工作方式。 要卸载共享文件夹,请参阅下文

卸载共享文件夹

没有 vmware 特定工具,因此使用通用的 FUSE 工具卸载

fusermount -u /mnt/

注意
FUSE 文件系统可能无法卸载,因为它“繁忙”。 不幸的是,可能没有明确的方法来跟踪确切的阻止卸载的进程。 一个好的尝试是使用标准的强制卸载命令如下,然后等待(命令可能需要一些时间才能生效)

umount -f /mnt/

启用对共享文件夹的非 root 访问权限

所有挂载的 FUSE 文件系统默认设置为仅 root 访问。 有关更多信息,FUSE 项目主页讨论了安全影响
https://github.com/libfuse/libfuse

尽管如此,虚拟化部署通常默认启用对共享文件夹的非 root 访问权限。
要启用非 root 访问权限,在挂载时设置“allow_other”选项,如下所示

vmhgfs-fuse -o allow_other .host: /mnt/

一种常见的情况是,像 /mnt/ 这样的位置可能已经挂载了一个设备,在本例中为 /mnt/cdrom。 可以用逗号分隔,不加空格地传递多个参数,因此对于本例,以下命令将挂载所有共享文件夹,同时从视图中删除挂载的 cdrom

vmhgfs-fuse -o nonempty,allow_other .host: /mnt/

对于 kernel 3.x(以及可能运行 2.x 的任何人)

共享文件夹由 Kernel Loadable Modules 支持,这些模块在安装 VMware Guest Tools 时按需编译。 截至撰写本文时,VMware 已停止将其商业 VMware 产品的一部分发布 Guest Tools,但支持基于社区的 Tools。 由于安装先决条件和安装 Tools 本身可能很困难且复杂,因此用户应改为使用 rasa vmware-tools 项目:

https://github.com/rasa/vmware-tools-patches

克隆(使用 git)或下载并提取后,按照项目主页上的说明运行 master 脚本,该脚本会自动更新您的系统、安装依赖项并安装 Tools。

patched-open-vm-tools.sh

硬件直通

VMware Tools 支持简单的硬件直通,无需在 Guest 设置中进行特殊设备添加和配置。 只需将鼠标光标悬停在图形控制台底部的状态栏沿的各种图标上。 您应该看到列出的许多设备,包括您的虚拟磁盘和 Host 的 GPU。 您还可能看到连接到 Host 的其他设备,包括外部设备(USB、SATA 等)。 您可以选择任何一个并单击“连接…”,但请注意,任何类型的硬件直通都意味着对该设备的完全垄断,甚至从 HostOS 中删除它。 因此,例如,连接到唯一的网络设备可能会给 Host 和任何其他 Guest 带来真正的问题,并且连接到显示器会对 Host 和所有其他 Guest 产生非常大的影响。

更多阅读

如前所述,共享文件夹现在以普通的 FUSE 文件系统的形式实现,因此所有通用的 FUSE 文档(如果需要)和 FUSE 工具都可以用来修改共享文件夹的部署方式。

获取进一步帮助

问题和澄清可以发布到标准支持选项、SUSE/openSUSE IRC 频道和技术帮助论坛(强烈建议使用虚拟化论坛,而不是其他论坛)

所有支持选项
https://en.opensuse.net.cn/Portal:Support


参见

相关文章