1. 程式人生 > >open-vm-tools實現vmware的客戶機和主機的檔案共享

open-vm-tools實現vmware的客戶機和主機的檔案共享

open-vm-tools實現vmware的客戶機和主機的檔案共享

以前使用vmware建立的虛擬機器要和主機之間共享目錄,需要安裝官方提供的Vmware Tools。現在由於linux核心的支援,vmware也將原先Vmware Tools的程式碼以LGPL協議開放。在debian系中為open-vm-tools,其包含以下工具:

  • vmtoolsd => 負責彙報虛擬機器狀態的服務
  • vmware-checkvm => 用於檢測虛擬機器中是否在執行著某程式的工具
  • vmware-toolbox-cmd => 用於收集宿主系統資訊的工具
  • vmware-user => 使用者宿主系統和客戶系統間剪貼簿的資料共享
  • vmware-vmblock-fuse => 檔案系統。基於 FUSE (Filesystem in Userspace) 實現了宿主 / 客機之間拖拽檔案
  • vmware-xferlogs => 向虛擬機器的日誌檔案輸出日誌與除錯資訊
  • vmhgfs-fuse => 掛載 HGFS 共享目錄的工具

核心模組:

  • vmhgfs => 舊有的 HGFS 驅動。這是傳統的宿主機-客機間共享目錄的方案
  • vmxnet => 舊有的 VMXNET 網絡卡驅動

手動共享目錄

  1. 在客戶機中列舉出共享目錄

    	vmware-hgfsclient
    
  2. 掛載共享目錄

    	 vmhgfs-fuse -o allow_other -o auto_unmount .host:/<shared_folder> <shared folders root directory>
    

fstab自動掛載

  1. 編輯/etc/fstab,新增如下內容

    	.host:/<shared_folder> /home/user1/shares fuse.vmhgfs-fuse defaults 0 0
    

systemd掛載

將掛載目錄的命令寫成 Systemd的service

# /etc/systemd/system/<shared folders root directory>-<shared_folder>.service
[Unit]
Description=Load VMware shared folders
Requires=vmware-vmblock-fuse.service
After=vmware-vmblock-fuse.service
ConditionPathExists=.host:/<shared_folder>
ConditionVirtualization=vmware

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=
ExecStart=/usr/bin/vmhgfs-fuse -o allow_other -o auto_unmount .host:/<shared_folder> <shared folders root directory>

[Install]
WantedBy=multi-user.target