在执行备份操作前,如果需要使用 NFS 软件作为备份目的地,可参考本节内容部署 NFS。
背景信息
一般建议使用 OSS 或者专用的 NFS 硬件设备,可以考虑使用阿里云的 NFS 硬件设备。
部署NFS 服务器端
登录 NFS 服务器。
执行以下命令,通过 YUM 包管理器安装 NFS。
sudo yum install nfs-utils
设置 Exports。
使用
sudo vim /``etc/exports
命令打开配置文件,设置以下信息:/data/nfs_server/ 100.xx.xx.xx/16(rw,sync,all_squash)
其中,
100.``xx.xx.xx
表示允许访问的网段。执行以下命令,为
nfsnobody
赋权,确保nfsnobody
有权限访问exports
中指定的目录。sudo chown nfsnobody:nfsnobody -R /data/nfs_server
配置 NFS 参数。
执行
sudo vim /etc/sysconfig/nfs
命令,打开配置文件。调整如下所示参数:
RPCNFSDCOUNT=8
RPCNFSDARGS="-N 2 -N 3 -U"
NFSD_V4_GRACE=90
NFSD_V4_LEASE=90
执行以下命令,重新启动 NFS。
sudo systemctl restart nfs-config
sudo systemctl restart nfs-server
设置 Slot Table。
执行
sudo vim /etc/sysctl.conf
命令,打开sysctl.conf
配置文件,在文件中添加一行如下信息:sunrpc.tcp_max_slot_table_entries=128
重启机器,使配置生效。
部署 NFS 客户端
部署 NFS 客户端时,需要在所有 OBServer 机器上进行操作。
以下以在某一台 OBServer 上的操作为例,提供操作指导。
登录 OBServer。
执行以下命令,通过 YUM 包管理器安装 NFS。
sudo yum install nfs-utils
设置 Slot Table。
执行
sudo vim /etc/sysctl.conf
命令,打开sysctl.conf
配置文件,在文件中添加一行如下信息:sunrpc.tcp_max_slot_table_entries=128
重启机器,使配置生效。
执行以下命令,挂载 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 地址。
挂载完成后,可执行以下命令,验证 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
注意事项
使用 NFS 环境时,需要保证先挂载 NFS,再开启备份。如果备份期间 NFS 出现问题,需要先停止数据备份和日志备份,再解决 NFS 的问题。
在重启 OBServer 时,需要先启动 NFS,再启动 OBServer。
添加新的机器后,在启动 OBServer 前,需要保证新的机器挂载 NFS 成功或者可以备份到其他介质。