Ubuntu部署NFS服务¶
服务端¶
安装NFS服务
# 执行以下命令安装NFS服务器, # apt会自动安装 nfs-common、rpcbind 等13个软件包 $ sudo apt install nfs-kernel-server
配置文件
$ cat /etc/exports /data/use *(rw,sync,no_subtree_check,no_root_squash)
/data/useNFS服务器端的目录,用于与nfs客户端共享*允许所有的网段访问,也可以使用具体的IPrw挂接此目录的客户端对该共享目录具有读写权限sync资料同步写入内存和硬盘no_root_squashroot用户具有对根目录的完全管理访问权限no_subtree_check不检查父目录的权限创建共享目录
$ sudo mkdir -p /data/use
重启nfs服务
$ sudo service nfs-kernel-server restart
常用命令工具
# 在安装NFS服务器时,已包含常用的命令行工具,无需额外安装。 # 显示已经mount到本机nfs目录的客户端机器。 $ sudo showmount -e localhost # 将配置文件中的目录全部重新export一次!无需重启服务。 $ sudo exportfs -rv # 查看NFS的运行状态 $ sudo nfsstat # 查看rpc执行信息,可以用于检测rpc运行情况 $ sudo rpcinfo # 查看网络端口,NFS默认是使用111端口。 $ sudo netstat -tu -4
客户端¶
安装客户端工具
# 在需要连接到NFS服务器的客户端机器上, # 需要执行以下命令,安装nfs-common软件包。 # apt会自动安装 nfs-common、rpcbind 等12个软件包 4 sudo apt install nfs-common
查看NFS服务器上的共享目录
# 显示指定的(hcg-bg-as-01)NFS服务器上export出来的目录 # hcg-bg-as-01为服务端主机名或IP地址 $ sudo showmount -e hcg-bg-as-01
创建本地挂载目录
$ sudo mkdir -p /data/use
挂载共享目录
# 将NFS服务器192.168.3.167上的目录,挂载到本地的/data/use/目录下 $ mount -t nfs hcg-bg-as-01:/data/use /data/use $ mount -t nfs -o sync,noac hcg-nfs-01:/data/freeswitch /data/freeswitch自动挂载
$ cat /etc/fstab hcg-nfs-01:/data/freeswitch /data/freeswitch nfs defaults 0 0 hcg-nfs-01:/data/freeswitch /data/freeswitch nfs sync,noac 0 0
附录¶
注:在没有安装
nfs-common或者nfs-kernel-server软件包的机器上,直接执行showmount、exportfs、nfsstat、rpcinfo等命令时,系统会给出友好的提示,比如直接showmount会提示需要执行sudo apt install nfs-common命令,比如直接rpcinfo会提示需要执行sudo apt install rpcbind命令。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文件中匿名用户的UIDanongid=xxx:指定nfs服务器/etc/passwd文件中匿名用户的GID