Linux-nfs服务

1、概念

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

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

2、NFS守护进程

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

3、安装

服务端

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.经常使用配置async

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

4、相关命令

1.exportfs [-aruv]tcp

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

2.nfsstatui

  • 查看NFS的运行状态。

3.rpcinfocode

  • 查看rpcbind的执行信息

4.showmountserver

  • -a 显示已经挂载在客户端上的信息
  • -e 显示次ip分享出来的目录
相关文章
相关标签/搜索