碰到的一个问题是,一台服务器A放不下所有的数据,部分数据只能放到另一台服务器B上,那么就涉及到如何把服务器B上的数据共享给服务器A,使得A可以看到B上的内容。需要用的是nfs文件共享工具。
详细步骤如下:
1、在B上安装nfs server, sudo apt-get install nfs-kernel-server (一般来说,会自动安装nfs 客户端,如果没有安装,则需要执行sudo apt-get install nfs-common)
2、在B上,设置nfs共享目录 sudo vim /etc/exports, 然后在文件末尾加上需要共享的目录和相关共享的权限,如:
/path-to-share *(ro,sync) //ro means read only
/home/heke/data *(ro,sync)
3、在B上,重启nfs server,sudo service nfs-kernel-server restart
4、然后可以在B上,用showmount -e显示共享的目录
5、在A上安装nfs客服端sudo apt-get install nfs-common(也可以直接安装nfs server, sudo apt-get install nfs-kernel-server, 因为server 会自动安装client)
6、查看nfs上的共享目录,showmount -e 10.***.***.***(B的IP地址)
7、在A上创建一个挂载B中共享文件的目录(即创建一个目录)
mkdir /path-to-mount
8、把在A上创建的目录挂载到B上的目录
sudo mount -t nfs 10.xxx.xxx.xxx:/path-to-share /path-to-mount
9、现在就可以直接在A上访问B上的数据了
10、当需要取消挂载时,在挂载目录上,umount /path-to-umount(可能需要sudo权限)
注:虽然实现了文件共享,但是相比于本地的文件,访问速度确实是变慢了,而且是慢了不少。但是即使是用挂载的方式,速度也比直接在53上生成tfrecord快两倍速度,不知道为啥。
参考了如下博客资源:
http://blog.csdn.net/demon_311/article/details/49357549