注意:CentOS 6.2以后版本变更了portmap服务为rpcbind,在使用nfs时这点与centos5不同。
需求:局域网有两台机器Server A 和Server B,现在A是NFS Server,B是client,现在需要将A上的/home 目录共享给B。
环境:
Server A 172.16.42.136
Server B 172.16.42.135
配置过程如下:
两台机器上都需要安装NFS套件和rpcbind(centos5上叫portmap)服务
1
2
|
yum -y install nfs-utils*
yum -y install rpcbind
|
NFS服务器端配置:
1
2
|
vim /etc/exports
/home 172.16.42.0 /24 (rw,no_root_squash)
|
这一行表明本机的/home这个目录为nfs共享目录,可访问的ip地址段为172.16.42.0/24,权限为读写,当访问者为root用户时访问该目录具有root权限
启动nfs服务
1
2
|
/etc/init .d /rpcbind start
/etc/init .d /nfs start
|
NFS客户端配置:
测试能够访问NFS服务
1
2
3
|
# showmount -e 172.16.42.136 Export list for 172.16.42.136:
/home *
|
表示可以访问,如不可访问查看nfs服务端nfs服务是否启用,防火墙是否允许通过。
挂载NFS共享目录
1
|
mount -t nfs 172.16.42.136: /home /home
|
NFS权限说明
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相关命令
1、exportfs
不重启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注册状况。
3、showmount
查询nfs共享目录信息,相关选项如下:
-a 显示已经于客户端连接上的目录信息
-e IP或者hostname 显示此IP地址分享出来的目录
示例:
showmount -e localhost #查询本机nfs共享目录情况
showmount -a localhost #查询本机共享目录连接情况
四、linux客户端挂载共享目录
1、临时挂载
通过mount挂载,例如:
mount -t nfs 192.168.1.1:/opt/public /mnt/public
2、启动挂载
将挂载信息写入fstab文件
vi /etc/fstab
192.168.1.1:/opt/public /mnt/public nfs defaults
保存退出
mount -a
3、基于autofs自动挂载
autofs可以在使用到挂载文件系统时自动挂载,当长时间不使用时自动卸载,配置灵活方便。
安装autofs:
centos,rhl:
yum install autofs
ubuntu:
apt-get install autofs
编辑主配置文件/etc/auto.master,在末尾添加需挂载的目录信息。
格式为:本机挂载主目录 对应的加载配置文件名 -挂载参数
挂载参数同mount的挂载参数,多个参数以逗号分隔。此处的挂载参数可以与对应的加载配置文件中定义的参数产生叠加作用。
示例:
vi /etc/auto.master
#本机挂载主目录为/mnt,与之对应的加载配置文件为/etc/auto.nfs
/mnt /etc/auto.nfs
保存退出
编辑加载配置文件,添加需要挂载的文件系统。
格式为:挂载目录 -挂载参数 挂载文件系统
挂载参数同mount的挂载参数,多个参数以逗号分隔。
示例:
vi /etc/auto.nfs
public -rw,bg,soft,rsize=32768,wsize=32768,nosuid,noexec,nodev 192.168.1.1:/opt/public
保存退出
重启autofs
/etc/init.d/autofs restart