博主: haitianisgood
原博客网址:
NFS
这里包含了在Centos7、Centos6中安装
CentOS 7中安装NFS
安装:
yum install -y nfs-utils
启动服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
确认NFS服务器启动成功:
rpcinfo -p
开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
firewalld防火墙开启:
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
CentOS 6 中安装NFS
centos 5 :
yum install nfs-utils portmap
centos 6 :
yum install nfs-utils rpcbind
服务器端和客户端都以上安装
使用
服务器端
例如服务器IP:192.168.1.2
1.配置文件设置
编辑文件:/etc/exports
内容例如:
/opt/public 192.168.1.0/24(rw,sync,all_squash)
可以指定单个IP:
/opt/public 192.168.1.3(rw,all_squash)
2.创建目录
mkdir /opt/public
3.启动NFS
chkconfig nfs on
/etc/init.d/rpcbind start
/etc/init.d/nfs start
4.查看NFS状态
service nfs status
参数选项说明
ro:共享目录只读;
rw:共享目录可读可写;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
客户端挂载共享目录
查看服务器NFS共享的挂载地址:
showmount -e 192.168.1.2
临时挂载
通过mount挂载,例如:
mount -t nfs 192.168.1.2:/opt/public /mnt/public
开机启动挂载
将挂载信息写入fstab文件
vim /etc/fstab
192.168.1.2:/opt/public /mnt/public nfs defaults
保存退出
mount -a
NFS相关命令
1.exports
不重启nfs服务应用更新,相关选项如下:
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。
2.nfsstat
查看NFS的运行状态。
3.rpcinfo
查看rpc服务注册情况。
相关选项:
-p 显示所有的端口与程序信息。
示例:
rpcinfo -p localhost #列出本机的RPC注册状况。
4.showmount
查询nfs共享目录信息,相关选项如下:
-a 显示已经于客户端连接上的目录信息
-e IP或者hostname 显示此IP地址分享出来的目录
示例:
showmount -e localhost #查询本机nfs共享目录情况
showmount -a localhost #查询本机共享目录连接情况
问题
问题1 :
mount -t nfs 192.168.1.2:/data/abc /data/abc
错误:
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
解决:
mount -t nfs -o nolock 192.168.1.2:/data/abc /data/abc