Files
2022-02-10 14:51:49 +08:00

3.2 KiB

部署 NFS

在执行备份操作前,如果需要使用 NFS 软件作为备份目的地,可参考本节内容部署 NFS。

背景信息

一般建议使用 OSS 或者专用的 NFS 硬件设备,可以考虑使用阿里云的 NFS 硬件设备。

部署NFS 服务器端

  1. 登录 NFS 服务器。

  2. 执行以下命令,通过 YUM 包管理器安装 NFS。

    sudo yum install nfs-utils
    
  3. 设置 Exports。

    1. 使用 sudo vim /``etc/exports 命令打开配置文件,设置以下信息:

      /data/nfs_server/ 100.xx.xx.xx/16(rw,sync,all_squash)
      

      其中,100.``xx.xx.xx 表示允许访问的网段。

    2. 执行以下命令,为 nfsnobody 赋权,确保 nfsnobody 有权限访问 exports 中指定的目录。

      sudo chown nfsnobody:nfsnobody -R /data/nfs_server
      
  4. 配置 NFS 参数。

    1. 执行 sudo vim /etc/sysconfig/nfs 命令,打开配置文件。

    2. 调整如下所示参数:

      RPCNFSDCOUNT=8
      RPCNFSDARGS="-N 2 -N 3 -U"
      NFSD_V4_GRACE=90
      NFSD_V4_LEASE=90
      
    3. 执行以下命令,重新启动 NFS。

      sudo systemctl restart nfs-config
      
      sudo systemctl restart nfs-server
      
  5. 设置 Slot Table。

    1. 执行 sudo vim /etc/sysctl.conf 命令,打开 sysctl.conf 配置文件,在文件中添加一行如下信息:

      sunrpc.tcp_max_slot_table_entries=128
      
    2. 重启机器,使配置生效。

部署 NFS 客户端

部署 NFS 客户端时,需要在所有 OBServer 机器上进行操作。

以下以在某一台 OBServer 上的操作为例,提供操作指导。

  1. 登录 OBServer。

  2. 执行以下命令,通过 YUM 包管理器安装 NFS。

    sudo yum install nfs-utils
    
  3. 设置 Slot Table。

    1. 执行 sudo vim /etc/sysctl.conf 命令,打开 sysctl.conf 配置文件,在文件中添加一行如下信息:

      sunrpc.tcp_max_slot_table_entries=128
      
    2. 重启机器,使配置生效。

  4. 执行以下命令,挂载 NFS。

    sudo mount -tnfs4 -o rw,timeo=30,wsize=1048576,rsize=1048576,namlen=512,sync,lookupcache=positive 100.xx.xx.xx:/data/nfs_server /data/nfs
    

    说明

    • 在设置 timeo 时,建议不要设置的过大。

    • 命令中100.xx.xx.xx表示 NFS 服务器的 IP 地址。

  5. 挂载完成后,可执行以下命令,验证 NFS 的性能。

    fio -filename=/data/nfs/fio_test -direct=1  -rw=randwrite -bs=2048K -size=100G  -runtime=300 -group_reporting -name=mytest  -ioengine=libaio -numjobs=1 -iodepth=64 -iodepth_batch=8 -iodepth_low=8 -iodepth_batch_complete=8
    

    例如,执行结果如下:

    Run status group 0 (all jobs):
    WRITE: io=322240MB, aggrb=1074.2MB/s, minb=1074.2MB/s, maxb=1074.2MB/s, mint=300006msec, maxt=300006msec