1、首先判断Linux上是否安装nfs服务,通过rpcinfo -p来查看:
如果不存在,则执行下列命令安装nfs
sudo apt-get install nfs-common nfs-kernel-server
sudo apt-get install portmap
2、启动nfs服务
sudo service rpcbind start
通过ps ax | grep rpcbind检测rpc服务:
编辑/etc/exports文件
/ *(rw,sync,no_subtree_check,no_root_squash)
启动nfs服务:
/etc/init.d/nfs-kernel-server start
检测nfs服务是否启动成功:
showmount -e localhost
3、挂载nfs:
mount -t 192.168.2.106:/ /mnt
4、卸载nfs:
umount /mnt
4、总结:nfs网络文件系统只需要确认nfs服务启动,并配置/etc/exports文件即可挂载成功。
5、注意:每次修改exports文件后,可通过执行exportfs -ra命令来避免重启nfs服务。
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_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID
exportfs参数说明:
-a:全部挂载(或卸载) /etc/exports的设置;
-r:重新挂载/etc/exports的设置;
-u:卸载某一个目录;
-v:在输出的时候,把共享目录显示出来。
(可以通过man exportfs查看)