在虚拟机中共享宿主机文件

在VMware中,可以使用虚拟机本身提供的文件共享功能实现文件共享:
vmware-share
这里是选定宿主机需要曝光的文件夹。客户机要能读取到这个文件夹,还需要借助VMware提供的VMware Tool,进入客户机后,点击VMware的虚拟机 – 安装VMware Tool:
vmtool-install
1 如果是图形界面,一般就可以自动完成安装
2 如果非图形界面,可能需要手动安装

mount /dev/cdrom2 /mnt
cd /mnt
cp VMwareTools-xxxx.tar.gz ~
cd ~
tar zxvf VMwareTools-xxxx.tar.gz
cd vmware-tools-distrib
# 最终运行,根据提示完成安装
./vmware-install.pl

工具安装完毕。运行:

/usr/bin/vmhgfs-fuse .host:/  /mnt

这样共享文件夹就mount到了/mnt,进入/mnt应该就可以看到宿主机的共享文件了。不过如果重启,这个mount点就消失了,所以还需要如下操作:

#在CentOS 7中执行
chmod +x /etc/rc.d/rc.local

#添加
vi /etc/rc.local

/usr/bin/vmhgfs-fuse .host:/  /mnt

不过这视乎仅能做文件共享,当配置Nginx指向到共享文件夹时,提示权限问题而无法使用。

在VirtualBox中,其提供的文件共享功能就比较实用:
vbox
为了让共享文件可以工作,需要在客户机中安装增强工具。

除了利用虚拟软件提供的支持,如果宿主机是Windows,SMB文件共享方案是最好的选择,SMB在Windows下是内置的,客户机可以是Windows或Linux, 如果是Linux,一般需要安装cifs软件包:

yum search cifs
cifs-utils-6.2-9.el7.x86_64

#CentOS 
yum install cifs-utils
#Ubuntu
sudo apt-get install cifs-utils

#mount共享文件夹
mount -t cifs //192.168.1.121/www /var/www -o username=administrator,password='xxx',uid=1000,gid=1000

如果宿主机是Linux,客户机也是Linux,最好的共享方式就是使用NFS(NFS不支持Windows)。