NFS 配置
- 参考资料
- 安装(一般系统已默认安装)
centos 5 :yum -y install nfs-utils portmap
centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :yum -y install nfs-utils rpcbind
- 系统进程
- nfsd : 基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器
- mountd : 它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
- portmap : 主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
- 文件
- /etc/exports : NFS服务的主要配置文件
- /usr/sbin/exportfs : NFS服务的管理命令
- /usr/sbin/showmount : 客户端的查看命令
- /var/lib/nfs/etab : 记录NFS分享出来的目录的完整权限设定值
- /var/lib/nfs/xtab : 记录曾经登录过的客户端信息
- 服务器端配置
- 创建共享目录
[root@centos2 /]# mkdir /usr/local/test
- /etc/exports配置
# 增加一行: /usr/local/test/ 192.168.1.226 (rw,no_root_squash,no_all_squash,sync) # 配置文件说明: /usr/local/test/ : 共享的目录,使用绝对路径。 192.168.1.226 : 客户端的地址,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com (rw,no_root_squash,no_all_squash,sync) :客户端权限,地址与权限中间没有空格, ## 权限说明: rw:read-write,可读写; ro:read-only,只读; sync:文件同时写入硬盘和内存; async:文件暂存于内存,而不是直接写入内存; no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。 root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份; all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限; anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定; anongid:匿名用户的GID值。
- 创建共享目录
- NFS服务器启动
- 手动启动
centos 5:[root@centos2 /]# service portmap start [root@centos2 /]# service nfs start
centos6:[root@centos2 /]# service rpcbind start [root@centos2 /]# service nfs start
- 查询NFS服务器状态
service portmap status service nfs status
- 停止NFS服务器
service nfs stop service portmap stop
- 设置自启动:设置系统在指定的运行级别自动启动portmap和nfs服务
- 自启动
chkconfig --list portmap chkconfig --list nfs
- 设置portmap和nfs服务在系统运行级别3和5自动启动
chkconfig --level 35 portmap on chkconfig --level 35 nfs on
- 自启动
- 手动启动
- 客户端挂载
- 创建需要挂载的目录
[root@localhost ~]# mkdir /usr/local/test
- 测试挂载
[root@localhost ~]# showmount -e 192.168.1.225 Export list for 192.168.1.225: /usr/local/test 192.168.1.226
- 挂载
[root@localhost ~]# mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test
- 创建需要挂载的目录
- 解除挂载
[root@localhost ~]# umount -v /usr/local/test
- 服务器端防火墙设置(NFS 开启防墙配置)
- 修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)
# Local services mountd 1011/tcp #rpc.mountd mountd 1011/udp #rpc.mountd rquotad 1012/tcp #rpc.rquotad rquotad 1012/udp #rpc.rquotad
- 重起NFS服务
service nfs restart
- 查询哪些端口被NFS占用
rpcinfo -p # 如果找不到rpcinfo命令,请尝试: /usr/sbin/rpcinfo -p
- 添加防火墙例外
将上述rpcinfo显示的nfs服务端口(portmapper, nlockmgr, rquotad, nfs, mountd)在防火墙中设置为例外,可用GUI设置
- 修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)