温馨提示×

Linux虚拟机资源共享方法

小樊
45
2025-10-18 06:36:06
栏目: 云计算

Linux虚拟机资源共享的常见方法

1. 共享文件夹(VirtualBox/VMware Tools)

共享文件夹是虚拟机与主机之间最直接的资源共享方式,适用于日常文件传输。具体步骤因虚拟机软件而异:

  • VirtualBox:启动Linux虚拟机,通过“设备→安装增强功能”安装VirtualBox Guest Additions(提供共享文件夹驱动);在VirtualBox主界面选择虚拟机→“设置→共享文件夹”,点击“添加共享文件夹”,选择主机目录(如D:\shared)并命名(如shared_folder),勾选“自动挂载”和“固定分配”;在Linux虚拟机中创建挂载点(如sudo mkdir /mnt/shared),执行sudo mount -t vboxsf shared_folder /mnt/shared挂载。
  • VMware:启动虚拟机,通过“虚拟机→安装VMware Tools”安装工具;在VMware设置中选择“选项→共享文件夹”,添加主机目录并命名(如shared),勾选“始终启用”;在Linux中创建挂载点(如sudo mkdir /mnt/hgfs),执行sudo mount -t vmhgfs .host:/shared /mnt/hgfs挂载。
    共享文件夹权限需通过chmod调整,确保主机与虚拟机用户均可访问。

2. NFS(网络文件系统)

NFS适用于Linux主机与虚拟机(或Linux虚拟机之间)的高速共享,支持实时同步。配置步骤:

  • 主机端:安装NFS服务器(sudo apt install nfs-kernel-server);创建共享目录(如sudo mkdir /srv/nfs/shared)并设置权限(sudo chmod 777 /srv/nfs/shared);编辑/etc/exports文件,添加/srv/nfs/shared *(rw,sync,no_subtree_check)(允许所有IP访问,读写权限);重启服务(sudo systemctl restart nfs-kernel-server)。
  • 虚拟机端:安装NFS客户端(sudo apt install nfs-common);创建挂载点(如sudo mkdir /mnt/nfs_shared);执行sudo mount server_ip:/srv/nfs/shared /mnt/nfs_shared挂载(server_ip为主机IP)。
    如需开机自动挂载,可将server_ip:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0添加到虚拟机的/etc/fstab文件中。

3. Samba(跨系统共享,支持Windows)

Samba实现Linux与Windows系统之间的资源共享,适用于混合环境。配置步骤:

  • 主机端(Linux):安装Samba(sudo apt install samba);编辑/etc/samba/smb.conf文件,在末尾添加共享配置(如[shared] path = /srv/samba/shared available = yes valid users = your_linux_user read only = no browsable = yes);设置Samba用户密码(sudo smbpasswd -a your_linux_user);重启服务(sudo systemctl restart smbd)。
  • 虚拟机端(Windows):通过“此电脑→映射网络驱动器”,输入\\host_ip\sharedhost_ip为主机IP),输入Samba用户密码即可访问。
    若虚拟机为Linux,可使用smbclient //host_ip/shared -U your_linux_user命令访问,或通过mount -t cifs //host_ip/shared /mnt/samba -o username=your_linux_user,password=your_password挂载。

4. SSHFS(基于SSH的安全共享)

SSHFS通过SSH协议实现安全文件共享,无需额外安装服务器(主机需开启SSH服务)。配置步骤:

  • 主机端:确保SSH服务开启(sudo systemctl status ssh,若未开启则sudo systemctl start ssh)。
  • 虚拟机端:安装SSHFS(sudo apt install sshfs);创建本地挂载点(如sudo mkdir /mnt/sshfs);执行sshfs username@host_ip:/remote/directory /mnt/sshfs挂载(username为主机用户,/remote/directory为主机共享目录)。
    断开时使用fusermount -u /mnt/sshfs命令。

5. FTP/SFTP(传统文件传输)

FTP/SFTP适用于需要远程管理的场景,支持大文件传输。配置步骤:

  • 主机端(Linux):安装FTP服务器(如vsftpd,sudo apt install vsftpd);编辑/etc/vsftpd.conf文件,修改anonymous_enable=NO(禁用匿名)、local_enable=YES(允许本地用户登录);重启服务(sudo systemctl restart vsftpd)。
  • 虚拟机端:使用FTP客户端(如FileZilla)连接主机(输入host_ip、用户名、密码),或通过命令行ftp host_ip登录。
    若需加密传输,可使用SFTP(SSH的FTP模式),命令为sftp username@host_ip

6. 网络模式配置(确保连通性)

资源共享的前提是主机与虚拟机处于同一网络环境,需正确配置虚拟机网络模式:

  • 桥接模式(Bridged):虚拟机直接连接物理网络,与主机同一网段(如主机IP为192.168.1.100,虚拟机为192.168.1.101),适用于需要虚拟机被局域网其他设备访问的场景。
  • NAT模式:虚拟机通过主机共享IP上网,主机可访问虚拟机,但虚拟机默认无法被外部访问(需配置端口转发,如VirtualBox中“设置→网络→NAT→端口转发”,添加规则将主机端口映射到虚拟机端口)。
  • Host-Only模式:虚拟机与主机形成私有网络,仅两者可通信,适用于隔离环境下的资源共享。

0