olga 发表于 2018-5-18 10:00:13

linux命令:NFS服务

  

  NFS服务器端:nfs-utils
  
  nfs服务器启动的进程: nfsd(nfs服务主进程),mountd(挂载进程),quotod(磁盘配额进程)
  nfsd端口:2049/tcp, 2049/udp
  

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

  

  

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;
  

  # rpcinfo -p localhost#查看rpc进程占用本地端口情况
  程序 版本 协议   端口
  100000    2   tcp    111portmapper
  100000    2   udp    111portmapper
  100024    1   udp    807status
  100024    1   tcp    810status
  100011    1   udp    871rquotad
  100011    2   udp    871rquotad
  100011    1   tcp    874rquotad
  100011    2   tcp    874rquotad
  100003    2   udp   2049nfs
  100003    3   udp   2049nfs
  100003    4   udp   2049nfs
  100021    1   udp47928nlockmgr
  100021    3   udp47928nlockmgr
  100021    4   udp47928nlockmgr
  100003    2   tcp   2049nfs
  100003    3   tcp   2049nfs
  100003    4   tcp   2049nfs
  100021    1   tcp48117nlockmgr
  100021    3   tcp48117nlockmgr
  100021    4   tcp48117nlockmgr
  100005    1   udp    910mountd
  100005    1   tcp    913mountd
  100005    2   udp    910mountd
  100005    2   tcp    913mountd
  100005    3   udp    910mountd
  100005    3   tcp    913mountd
  

  # service nfs start
  # chkconfig --add nfs#增加到开机启动列表
  # chkconfig nfs on
  # chkconfig --list nfs
  nfs            0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
  

  

  # mkdir /shared
  # vim /etc/exports
  #service nfs restart
  关闭 NFS mountd:                                    [确定]
  关闭 NFS 守护进程:                                     [确定]
  关闭 NFS quotas:                                    [确定]
  关闭 NFS 服务:                                          [确定]
  启动 NFS 服务:                                          [确定]
  关掉 NFS 配额:                                          [确定]
  启动 NFS 守护进程:                                  [确定]
  启动 NFS mountd:                                    [确定]
  

  # 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,进行挂载测试:
  # showmount -e 10.109.134.249#首先在客户端上查看134.249服务器共享了那些目录
  Export list for 10.109.134.249:
  /shared 10.109.0.0/16
  # mkdir /mnt/nfs
  # mount -t nfs 10.109.134.249:/shared /mnt/nfs
  # cp /etc/inittab /mnt/nfs#复制文件至远端共享目录,提示为只读
  cp: 无法创建普通文件"/mnt/nfs/inittab": 只读文件系统 #因为nfs服务器端设置共享为ro
  
  # showmount -a 10.109.134.249#查看NFS服务器所有被挂载的文件系统
  及其挂载的客户端对应列表
  All mount points on 10.109.134.249:
  10.109.134.237:/shared
  
如何实现客户端开机自动挂载选项:
  编辑/etc/fstab文件,增加一行内容如下:
  #
  10.109.134.249:/shared/mnt/nfs   nfs   defaults,_rnetdev00
  #10.109.134.249:/shared网络共享的nfs/mnt/nfs本地挂载路径   nfs挂载类型
  _rnetdev表示如果该网络路径不存在直接跳过该路径的挂载,直接进入系统,这样避免因为分区无法挂载而无法开机。
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  
页: [1]
查看完整版本: linux命令:NFS服务