1、执行命令:
sudo apt-get install nfs-kernel-server
2、建立文件夹
mkdir /var/www/owncloud/data
3、配置NFS
建立好文件夹后,接着执行命令:sudo vi /etc/exports 配置nfs
4、在文章的最后一行添加:
/var/www/owncloud/data *(rw,sync,no_root_squash,no_subtree_check)
(rw,sync,no_root_squash,no_subtree_check)这一行的含义是:
- /var/www/owncloud/data:与nfs服务客户端共享的目录,这个路径必须和你前面设置的文件的路径一致!
- *:允许所有的网段访问,也可以使用具体的IPrw:挂接此目录的客户端对该共享目录具有读写权限。
- sync:资料同步写入内存和硬盘
- no_root_squash:root用户具有对根目录的完全管理访问权限。
- no_subtree_check:不检查父目录的权限。
5、修改完上述配置文件保存退出。
6、运行命令使其生效。
root@ubuntu:/var/www/owncloud/data# exportfs -rv
exporting *:/var/www/owncloud/data
重新启动服务
root@ubuntu:/var/www/owncloud/data# /etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon... [ OK ]
* Starting NFS kernel daemon [ OK ]
可以使用如下命令看是否生效
root@ubuntu:/var/www/owncloud/data# showmount -e
Export list for ubuntu:
/var/www/owncloud/data *
7、远程挂载
root@ubuntu:/var/www/owncloud# sudo mount -t nfs 192.168.125.128:/var/www/owncloud/data /var/www/owncloud/data
root@ubuntu:/var/www/owncloud# cd data
root@ubuntu:/var/www/owncloud/data# ls
admin files_external index.html owncloud.log
root@ubuntu:/var/www/owncloud/data#
8、 测试
服务器端
root@ubuntu:/var/www/owncloud/data# touch 1.txt
root@ubuntu:/var/www/owncloud/data#
root@ubuntu:/var/www/owncloud/data# ls
1.txt admin files_external index.html owncloud.log
附录:NFS常用参数如下:
- ro 只读访问
- rw 读写访问sync 所有数据在请求时写入共享
- async nfs在写入数据前可以响应请求
- secure nfs通过1024以下的安全TCP/IP端口发送
- insecure nfs通过1024以上的端口发送
- wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
- no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
- hide 在nfs共享目录中不共享其子目录
- no_hide 共享nfs目录的子目录
- subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
- no_subtree_check 和上面相对,不检查父目录权限
- all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
- no_all_squash 保留共享文件的UID和GID(默认)
- root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
- no_root_squas root用户具有根目录的完全管理访问权限
- anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
- anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID