Linux虛擬機資源共享的常見方法及配置步驟
資源共享是虛擬機環境中的核心需求,以下是Linux虛擬機與主機或其他虛擬機之間實現資源共享的主要方法,涵蓋配置步驟及注意事項:
共享文件夾通過虛擬機軟件(如VMware、VirtualBox)實現主機與虛擬機之間的直接文件共享,無需復雜網絡配置,適合快速傳輸小文件。
sudo apt-get install open-vm-tools
(Debian系)或sudo yum install open-vm-tools
(RedHat系),安裝完成后重啟虛擬機。/home/user/Documents
),勾選“始終啟用”。/mnt/hgfs
),運行sudo vmhgfs-fuse .host:/ /mnt/hgfs
,共享文件夾內容將顯示在該目錄下。sudo /mnt/VBoxLinuxAdditions.run
),重啟虛擬機。/mnt/shared
),運行sudo mount -t vboxsf <共享文件夾名> /mnt/shared
(如sudo mount -t vboxsf shared_folder /mnt/shared
)。NFS是Linux/Unix系統間的標準網絡共享協議,適合局域網內多臺Linux主機共享目錄,傳輸效率高。
sudo apt-get install nfs-kernel-server
(Debian系)或sudo yum install nfs-utils
(RedHat系)。/etc/exports
文件,添加共享規則(如/home/user/shared 192.168.1.0/24(rw,sync,no_subtree_check)
),其中192.168.1.0/24
是允許訪問的網段,rw
表示讀寫權限。sudo exportfs -a
使配置生效,然后sudo systemctl restart nfs-kernel-server
啟動服務。sudo apt-get install nfs-common
(Debian系)或sudo yum install nfs-utils
(RedHat系)。sudo mkdir -p /mnt/nfs_shared
。sudo mount <主機IP>:/home/user/shared /mnt/nfs_shared
(如sudo mount 192.168.1.100:/home/user/shared /mnt/nfs_shared
)。Samba實現Linux與Windows系統間的文件共享,兼容性強,適合混合環境。
sudo apt-get install samba
(Debian系)或sudo yum install samba
(RedHat系)。/etc/samba/smb.conf
文件,在末尾添加共享配置(如[shared] path = /home/user/shared writable = yes valid users = user create mask = 0777 directory mask = 0777
),其中[shared]
是共享名稱,valid users
指定允許訪問的用戶。sudo smbpasswd -a user
為用戶user
設置Samba密碼。sudo systemctl restart smbd
啟動服務。\\192.168.1.100\shared
),點擊“完成”,輸入Samba用戶名和密碼即可訪問。SSHFS通過SSH協議實現安全的文件共享,無需額外安裝服務,適合遠程主機或虛擬機之間的文件傳輸。
sudo apt-get install sshfs
(Debian系)或sudo yum install sshfs
(RedHat系)。sudo mkdir -p /mnt/ssh_shared
。sshfs <用戶名>@<主機IP>:/path/to/remote/directory /mnt/ssh_shared
(如sshfs user@192.168.1.100:/home/user/shared /mnt/ssh_shared
),輸入密碼后即可訪問。fusermount -u /mnt/ssh_shared
。SCP(安全拷貝)和RSYNC(增量同步)是基于SSH的命令行工具,適合批量傳輸文件或目錄,無需掛載共享目錄。
scp /path/to/local/file user@vm_ip:/path/to/remote/directory
(如scp ~/Documents/file.txt user@192.168.1.100:/home/user/
)。scp user@host_ip:/path/to/remote/file /path/to/local/directory
(如scp user@192.168.1.100:/home/user/file.txt ~/Downloads/
)。rsync -avz /path/to/local/directory/ user@vm_ip:/path/to/remote/directory/
(-a
表示歸檔模式,-v
表示詳細輸出,-z
表示壓縮傳輸)。rsync -avz user@host_ip:/path/to/remote/directory/ /path/to/local/directory/
。rw
權限、Samba的writable = yes
)。