NFS服务器端:nfs-utils


nfs服务器启动的进程: nfsd(nfs服务主进程),mountd(挂载进程),quotod(磁盘配额进程) 

nfsd端口:2049/tcp, 2049/udp


让mountd和quotod等进程监控在固定端口,编辑配置文件:/etc/sysconfig/nfs

wKioL1i8uuKBCRfdAAV-qnVT8XI845.jpg



nfs服务配置文档为/etc/exports格式为:

/path/to/somedir CLIENT_LIST

多个客户端之间使用空白字符分隔,每个客户端后面必须跟一个小括号,里面定义了此客户访问特性,

如访问权限等。

Usage:

172.16.0.0/16(ro,async) 192.168.0.0/24(rw,sync)  #ro只读访问,rw,读写访问,async异步写入,sync同步写入


showmount -e NFS_SERVER: 查看NFS服务器到处的个文件系统

showmount -a NFS_SERVER: 查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应列表

showmount -d NFS_SERVER: 显示NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表


exportfs命令:

     -a:跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统;

     -r: 重新导出

     -u:取消导出

     -v:显示详细信息

Usage: exportfs -rav


 文件系统导出属性:

    ro: 只读   rw: 读写   sync:同步写入    async: 异步写入

    root_squash: 将root用户映射为来宾账号;(默认选项)

    no_root_squash:root用户映射为root用户自身

    all_squash:

    anonuid,anongid:指定映射的来宾账号的UID和GID;


[root@johntest ~]# rpcinfo -p localhost  #查看rpc进程占用本地端口情况

   程序 版本 协议   端口

    100000    2   tcp    111  portmapper

    100000    2   udp    111  portmapper

    100024    1   udp    807  status

    100024    1   tcp    810  status

    100011    1   udp    871  rquotad

    100011    2   udp    871  rquotad

    100011    1   tcp    874  rquotad

    100011    2   tcp    874  rquotad

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    4   udp   2049  nfs

    100021    1   udp  47928  nlockmgr

    100021    3   udp  47928  nlockmgr

    100021    4   udp  47928  nlockmgr

    100003    2   tcp   2049  nfs

    100003    3   tcp   2049  nfs

    100003    4   tcp   2049  nfs

    100021    1   tcp  48117  nlockmgr

    100021    3   tcp  48117  nlockmgr

    100021    4   tcp  48117  nlockmgr

    100005    1   udp    910  mountd

    100005    1   tcp    913  mountd

    100005    2   udp    910  mountd

    100005    2   tcp    913  mountd

    100005    3   udp    910  mountd

    100005    3   tcp    913  mountd


[root@johntest ~]# service nfs start

[root@johntest ~]# chkconfig --add nfs  #增加到开机启动列表

[root@johntest ~]# chkconfig nfs on

[root@johntest ~]# chkconfig --list nfs

nfs            0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭



[root@johntest ~]# mkdir /shared

[root@johntest ~]# vim /etc/exports

[root@johntest ~]#service nfs restart

关闭 NFS mountd:                                      [确定]

关闭 NFS 守护进程:                                     [确定]

关闭 NFS quotas:                                      [确定]

关闭 NFS 服务:                                          [确定]

启动 NFS 服务:                                          [确定]

关掉 NFS 配额:                                          [确定]

启动 NFS 守护进程:                                  [确定]

启动 NFS mountd:                                      [确定]


[root@johntest ~]# showmount -e 10.109.134.249  #查看10.109.134.249服务器共享了那些目录

Export list for 10.109.134.249:

/shared 10.109.0.0/16


客户端使用mount命令挂载:

mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /PATH/TO/SOMEWHERE


 登录到客户端10.109.134.237,进行挂载测试:

[root@mail ~]# showmount -e 10.109.134.249  #首先在客户端上查看134.249服务器共享了那些目录

Export list for 10.109.134.249:

/shared 10.109.0.0/16

[root@mail ~]# mkdir /mnt/nfs

[root@mail ~]# mount -t nfs 10.109.134.249:/shared /mnt/nfs

[root@mail nfs]# cp /etc/inittab /mnt/nfs  #复制文件至远端共享目录,提示为只读

cp: 无法创建普通文件"/mnt/nfs/inittab": 只读文件系统  #因为nfs服务器端设置共享为ro

[root@mail nfs]# showmount -a 10.109.134.249  #查看NFS服务器所有被挂载的文件系统

及其挂载的客户端对应列表

All mount points on 10.109.134.249:

10.109.134.237:/shared


如何实现客户端开机自动挂载选项:

编辑/etc/fstab文件,增加一行内容如下:

[root@mail nfs]# 

10.109.134.249:/shared  /mnt/nfs   nfs     defaults,_rnetdev  0  0

#10.109.134.249:/shared网络共享的nfs  /mnt/nfs本地挂载路径   nfs挂载类型

_rnetdev表示如果该网络路径不存在直接跳过该路径的挂载,直接进入系统,这样避免因为分区无法挂载而无法开机。