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

背景信息

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

部署NFS 服务器端

  1. 登录 NFS 服务器。

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

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

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

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

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

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

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

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

    2. 调整如下所示参数:

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

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

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

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

部署 NFS 客户端

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

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

  1. 登录 OBServer。

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

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

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

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

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

    1. 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 的性能。

    1. 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

    例如,执行结果如下:

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

注意事项

  • 使用 NFS 环境时,需要保证先挂载 NFS,再开启备份。如果备份期间 NFS 出现问题,需要先停止数据备份和日志备份,再解决 NFS 的问题。

  • 在重启 OBServer 时,需要先启动 NFS,再启动 OBServer。

  • 添加新的机器后,在启动 OBServer 前,需要保证新的机器挂载 NFS 成功或者可以备份到其他介质。