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

177 lines
3.2 KiB
Markdown

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