Linuxnfs服务

9次阅读

共计 1951 个字符,预计需要花费 5 分钟才能阅读完成。

一、概念

  • nfs server:提供服务的服务器。
  • nfs client:访问服务端的服务器。
  • RPC:远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。

关系:NFS 是一种文件系统,RPC 负责信息的传输。

二、NFS 守护进程

  • nfsd:基本的 nfs 守护进程,保证客户端能够连接服务端。
  • mountd:RPC 安装守护进程,管理 NFS 文件系统。
  • 当客户端通过 nfsd 连接到服务端时候,还要进行身份验证,根据服务端上面 /etc/exports 来对比客户端的权限。

三、安装

服务端

1. 安装相关的 rpm 包

yum install rpcbind nfs-utils -y
# nfs-utils:基本的 NFS 命令以及监控程序。# rpcbind:支持安全的 NFS RPC 服务的连接。

2. 查看 nfs 相关的配置文件

rpm -qc nfs-utils

/etc/gssproxy/24-nfs-server.conf
/etc/modprobe.d/lockd.conf
/etc/nfs.conf
/etc/nfsmount.conf
/etc/request-key.d/id_resolver.conf
/etc/sysconfig/nfs
/var/lib/nfs/etab
/var/lib/nfs/rmtab
/var/lib/nfs/state
/var/lib/nfs/xtab

3./etc/exports 是 nfs 的主配置文件,设置权限 / 共享目录等等

  • 格式(来自网络)
< 输出目录 > [客户端 1 选项 ( 访问权限, 用户映射, 其他)] [客户端 2 选项 ( 访问权限, 用户映射, 其他)]

############## 输出目录:###################

输出目录是指 NFS 系统中需要共享给客户机使用的目录;############## 客户端:####################

客户端是指网络中可以访问这个 NFS 输出目录的计算机

############# 客户端常用的指定方式 ###########

    指定 ip 地址的主机:192.168.0.200

    指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
    指定域名的主机:nfs.cnhzz.com
    指定域中的所有主机:*.cnhzz.com
    所有主机:*

################## 选项:####################

选项用来设置输出目录的访问权限、用户映射等。NFS 主要有 3 类选项:1) 访问权限选项
    设置输出目录只读:ro
    设置输出目录读写:rw
2) 用户映射选项
    all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);no_all_squash:与 all_squash 取反(默认设置);root_squash:将 root 用户及所属组都映射为匿名用户或用户组(默认设置);no_root_squash:与 rootsquash 取反;anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);3) 其它选项
    secure:限制客户端只能从小于 1024 的 tcp/ip 端口连接 nfs 服务器(默认设置);insecure:允许客户端从大于 1024 的 tcp/ip 端口连接服务器;sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;async:将数据先保存在内存缓冲区中,必要时才写入磁盘;wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);no_wdelay:若有写操作则立即执行,应与 sync 配合使用;subtree_check:若输出目录是一个子目录,则 nfs 服务器将检查其父目录的权限 (默认设置);no_subtree_check:即使输出目录是一个子目录,nfs 服务器也不检查其父目录的权限,这样可以提高效率;

4. 常用配置

/qbackup/syc 10.10.20.165(rw,sync,subtree_check,no_root_squash)

四、相关命令

1.exportfs [-aruv]

  • -a 全部挂载或者卸载 /etc/exports 下的内容
  • -r 重新读取 /etc/exports 下的内容,并且更新 /etc/exports 和 /var/lib/nfs/xtab 内容
  • -v 输出详细信息

2.nfsstat

  • 查看 NFS 的运行状态。

3.rpcinfo

  • 查看 rpcbind 的执行信息

4.showmount

  • -a 显示已经挂载在客户端上的信息
  • -e 显示次 ip 分享出来的目录
正文完
 0