NFS网络共享服务 挂载参数及优化 内核优化建议


 

配置NFS服务端

 

 

nfs01上安装软件

[root@nfs01 ~]# yum install nfs-utils rpcbind -y

nfs-utils:NFS服务的主程序,包括rpc.nfsd、rpc.mountd这两个daemons和相关文档说明,以及执行命令文件等。

rpebind:RPC程序,rpcbind服务用来完成端口和功能的对应映射工作,在提供NFS服务之前必须启动rpcbind服务。

 

检查RPM包:

[root@nfs01 ~]# rpm -qa nfs-utils rpcbind(方法一)

rpcbind-0.2.0-13.el6_9.1.x86_64

nfs-utils-1.2.3-75.el6_9.x86_64

[root@nfs01 ~]# rpm -qa|egrep "nfs-|rpcbind"(方法二)

rpcbind-0.2.0-16.el6.x86_64

nfs-utils-1.2.3-78.el6.x86_64

nfs-utils-lib-1.1.5-13.el6.x86_64

 

 

启动rpc服务,查看中介注册信息

[root@nfs01 ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@nfs01 ~]# /etc/init.d/rpcbind status

rpcbind (pid 1636) is running...

 

rpcbind服务启动检查

[root@nfs01 ~]# rpcinfo -p

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

运行并检查nfs服务:

[root@nfs01 ~]# /etc/init.d/nfs start

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS mountd: [ OK ]

Starting NFS daemon: [ OK ]

Starting RPC idmapd: [ OK ]

[root@nfs01 ~]# /etc/init.d/nfs status

rpc.svcgssd is stopped

rpc.mountd (pid 1872) is running...

nfsd (pid 1888 1887 1886 1885 1884 1883 1882 1881) is running...

rpc.rquotad (pid 1867) is running...

 

nfsd(rpc.nfsd) 的主要功能是管理NFS客户端是否能够登入NFS服务端主机,其中还包含登入者的ID判断等。

mountd(rpc.mountd) rpc.mountd的主要功能则是管理NFS文件系统

 

nfs服务和rpcbind服务开机自启动

[root@nfs01 ~]# chkconfig nfs on

[root@nfs01 ~]# chkconfig rpcbind on

[root@nfs01 ~]# chkconfig --list rpcbind

rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@nfs01 ~]# chkconfig --list nfs

nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off

 

 

创建对应的目录并授权 分享/data目录

第一部分:/data --指定共享目录信息

第二部分:172.16.1.0/24 --指定了一个网段信息,表示允许指定的网段主机挂载到我本地的共享目录上

第三部分:(rw,sync) --表示定义共享参数信息,

rw 表示读写,对共享目录设置的权限

sync 同步,数据会先写入到NFS服务器内存中,会立刻同步到磁盘里面==直接存储硬盘中

[root@nfs01 ~]# vim /etc/exports

#share /data to 172.16.1.0/24

/data 172.16.1.0/24(rw,sync)

[root@nfs01 ~]# mkdir -p /data

[root@nfs01 ~]# /etc/init.d/nfs reload

[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data/

 

检测共享成功否

[root@nfs01 ~]# showmount -e 172.16.1.31

 

#把nfs服务器共享的目录 挂载到nfs01本地

[root@nfs01 ~]# mount -t nfs 172.16.1.31:/data /mnt

[root@nfs01 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 19G 1.5G 17G 9% /

tmpfs 491M 0 491M 0% /dev/shm

/dev/sda1 190M 35M 146M 19% /boot

172.16.1.31:/data 19G 1.5G 17G 9% /mnt

#测试完成后,卸载挂载

[root@nfs01 ~]# umount /mnt

 

 

 

配置NFS客户端:

 

#安装NFS软件和RPC软件

[root@backup ~]# yum install nfs-utils rpcblnd -y

#先运行rpcbind服务

[root@backup ~]# /etc/init.d/rpcbind start

Starting rpcbind: [ OK ]

[root@backup ~]# /etc/init.d/rpcbind status

rpcbind (pid 1341) is running...

[root@backup ~]# chkconfig rpcbind on

[root@backup ~]# chkconfig nfs off

#backup服务器上是否能查询到分享信息

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

#nfs服务端分享的目录挂在到backup

[root@backup ~]# mkdir -p /upload

[root@backup ~]# mount -t nfs 172.16.1.31:/data /upload

[root@backup ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 19G 1.5G 17G 9% /

tmpfs 491M 0 491M 0% /dev/shm

/dev/sda1 190M 35M 146M 19% /boot

172.16.1.31:/data 19G 1.5G 17G 9% /upload

#放入到/etc/rc.local使永久生效

[root@backup ~]# vim /etc/rc.local

/bin/mount -t nfs 172.16.1.31:/data /upload

 

 

10.11排查故障==》ssh连接或服务器无法上网排查步骤

1.前提:NFS原理及部署过程

2.先在客户端排查

1.ping server_ip

2.telnet server_ip 111 #端口是否通,是否提供服务

3.showmount -e server_ip #rpcinfo -p|server_ip

 

NFS客户端挂载参数及优化

[root@backup ~]# umount /upload/ #解除挂载

[root@backup ~]# df -h #检查结果

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 19G 1.5G 17G 9% /

tmpfs 491M 0 491M 0% /dev/shm

/dev/sda1 190M 35M 146M 19% /boot

[root@backup ~]# mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 172.16.1.31:/data/ /upload #优化参数

 

NFS内核优化建议

客户端和服务端优化命令如下:

cat >>/etc/sysctl.conf<

net.core.wmen_default = 8388608

net.core.rmen_default = 8388608

net.core.rmen_max = 16777216

net.core.wmen_max = 16777216

EOF

sysct1 -p