你的位置:首页 > 操作系统

[操作系统]NFS网络共享服务部署


10.3 NFS服务端部署环境准备

10.3.1 NFS服务部署服务器准备

服务器系统角色IP
Centos6.7 x86_64NFS服务器端(NFS-server)192.168.1.14
Centos6.7 x86_64NFS客户端(Web-lamp01)192.168.1.15
Centos6.7 x86_64NFS客户端(Web-lnmp02)192.168.1.16

 

 

 

 

10.3.2 NFS服务部署架构图

 

10.3.3 NFS服务器端操作系统及内核版本

1 [root@NFS-server ~]# cat /etc/redhat-release 2 CentOS release 6.7 (Final)3 [root@NFS-server ~]# username -r4 [root@NFS-server ~]# uname -r5 2.6.32-573.el6.x86_646 [root@NFS-server ~]# uname -m7 x86_64

10.4 NFS服务安装前准备

10.4.1 查询nfs-utils和rpcbind包是否安装

 

1 [root@NFS-server ~]# rpm -qa nfs-utils rpcbind  ##查询结果为两个安装包都未安装2 [root@NFS-server ~]#

知识扩展:

安装NFS软件安装的3种方法:

检查:rpm -qa nfs-utils rpcbind ←最佳

1)方法1:yum -y install nfs-utils rpcbind

2)方法2:通过系统光盘里的rpm包安装,命令如:rpm -ivh nfs-utils-1.2.3-36.e16.x86_64.rpm

3)方法3:LANG=en

yum grouplist|grep -i nfs

yum groupinstall "NFS file server" -y

 

10.4.2使用方法1安装所需软件包

 

10.4.3检查安装包是否安装上

1 [root@NFS-server ~]# rpm -qa nfs-utils rpcbind2 rpcbind-0.2.0-11.el6_7.x86_643 nfs-utils-1.2.3-64.el6.x86_64

10.4.4 接下来启动相应的服务

 1 [root@NFS-server ~]# /etc/init.d/rpcbind status <==检查rpcbind服务状态 2 rpcbind is stopped 3 [root@NFS-server ~]# rpcinfo -p localhost <==rpcbind服务未启动检查 rpcinfo信息报错 4 rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused 5 [root@NFS-server ~]# /etc/init.d/rpcbind start <==启动rpcbind服务 6 Starting rpcbind:                     [ OK ] 7 [root@NFS-server ~]# /etc/init.d/rpcbind status 8 rpcbind (pid 2083) is running... 9 ​[root@NFS-server ~]# /etc/init.d/nfs status <==查看nfs服务状态10 rpc.svcgssd is stopped11 rpc.mountd is stopped12 nfsd is stopped13 rpc.rquotad is stopped14 [root@NFS-server ~]# /etc/init.d/nfs start <==启动nfs服务15 Starting NFS services:                   [ OK ]16 Starting NFS quotas:                    [ OK ]17 Starting NFS mountd:                    [ OK ]18 Starting NFS daemon:                    [ OK ]19 Starting RPC idmapd:                    [ OK ]

10.4.5 设置开机自启动

1 [root@NFS-server ~]# chkconfig --level 35 nfs on <==设置nfs服务开机自启动2 [root@NFS-server ~]# chkconfig --list nfs3 nfs       0:off  1:off  2:off  3:on  4:off  5:on  6:off4 [root@NFS-server ~]# chkconfig --level 35 rpcbind on5 [root@NFS-server ~]# chkconfig --list rpcbind   <==<==设置rpcbind服务开机自启动6 rpcbind     0:off  1:off  2:on  3:on  4:on  5:on  6:off

10.5 配置NFS服务端

10.5.1 NFS服务端配置文件路径

NFS服务配置文件路径为:/etc/exports,并且默认是为空。

1 [root@NFS-server ~]# ll /etc/exports2 -rw-r--r--. 1 root root 0 Jan 12 2010 /etc/exports3 [root@NFS-server ~]# cat /etc/exports4 [root@NFS-server ~]# 

10.5.2 编辑NFS服务端配置文件

1 [root@NFS-server ~]# vim /etc/exports2 /data 192.168.1.0/24(rw,sync,all_squash) <==添加如下内容

1 [root@NFS-server ~]# vim /etc/exports2 /data 192.168.1.0/24(rw,sync,all_squash) <==添加如下内容3 ​[root@NFS-server ~]# mkdir -p /data <==创建共享目录/data4 [root@NFS-server ~]# ls -ld /data5 drwxr-xr-x. 3 root root 4096 Nov 26 15:19 /data <==当前共享目录的属主属组分别为root6 [root@NFS-server ~]# chown -R nfsnobody.nfsnobody /data <==修改/data及子文件属主属组为nfsnobody7 [root@NFS-server ~]# ls -ld /data           8 drwxr-xr-x. 3 nfsnobody nfsnobody 4096 Nov 26 15:19 /data

10.5.3 重新加载NFS服务(优雅重启)

1 [root@NFS-server ~]# /etc/init.d/nfs reload ===exportfs -r2 [root@NFS-server ~]# cat /var/lib/nfs/etab        3 /data  192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,all_squash)4 [root@NFS-server ~]# showmount -e 192.168.1.14 <==挂载前首先检查有权限需要挂载的信息5 Export list for 192.168.1.14:6 /data 192.168.1.0/24 <---可以看到共享/data目录

10.5.4 检查或测试挂载

1 [root@NFS-server test]# mount -t nfs 192.168.1.14:/data /mnt ##将/data共享目录挂载到/mnt目录2 [root@NFS-server test]# df -h3 Filesystem     Size Used Avail Use% Mounted on4 /dev/sda3      7.1G 1.5G 5.3G 22% /5 tmpfs        279M   0 279M  0% /dev/shm6 /dev/sda1      190M  36M 145M 20% /boot7 192.168.1.14:/data 7.1G 1.5G 5.3G 22% /mnt

注意:

大型企业工作场景统一按照运维规范将服务的启动写到/etc/rc.local文件里,而不用chkconfig管理。把/etc/rc.local文件作为本机的重要档案,所有服务的开机自启动都必须放入/etc/rc.local。这样规范的好处是,一旦有运维人员离职,或者业务迁移时都通过/etc/rc.local很容易查看服务器相关的服务,可以方便运维管理。并且把启动命令放入到/etc/rc.local文件中一定要加上启动服务的注释。

 

 1 [root@NFS-server test]# vim /etc/rc.local  2 #!/bin/sh 3 # 4 # This script will be executed *after* all the other init scripts. 5 # You can put your own initialization stuff in here if you don't 6 # want to do the full Sys V style init stuff. 7  8 touch /var/lock/subsys/local 9 #start up nfs services by zhurui at 2016022610 /etc/init.d/rpcbind start <==开机自启rpcbind服务11 /etc/init.d/nfs start <==开机自启nfs服务

Web-lamp01客户端部署:

 1 1.安装软件 2 [root@Web-lamp01 ~]# yum -y install nfs-utils rpcbind   3 Loaded plugins: fastestmirror, security 4 Setting up Install Process 5 Loading mirror speeds from cached hostfile 6 * base: mirrors.sina.cn 7 * extras: mirrors.opencas.cn 8 * updates: centos.ustc.edu.cn 9 base                       | 3.7 kB   00:00   10 extras                      | 3.4 kB   00:00   11 extras/primary_db                | 34 kB   00:00   12 updates                     | 3.4 kB   00:00 13 2.启动rpcbind14 [root@Web-lamp01 ~]# /etc/init.d/rpcbind start15 Starting rpcbind:                     [ OK ]16 [root@Web-lamp01 ~]# 17 3.配置开机自启动18 [root@Web-lamp01 ~]# chkconfig --level 35 rpcbind on19 [root@Web-lamp01 ~]# chkconfig --list rpcbind20 rpcbind     0:off  1:off  2:on  3:on  4:on  5:on  6:off21 [root@Web-lamp01 ~]# 22 4.测试服务端共享23 [root@Web-lamp01 ~]# showmount -e 192.168.1.1424 Export list for 192.168.1.14:25 /data 192.168.1.0/2426 5.挂载27 [root@Web-lamp01 ~]# mount -t nfs 192.168.1.14:/data /mnt28 [root@Web-lamp01 ~]# df -h29 Filesystem     Size Used Avail Use% Mounted on30 /dev/sda3      7.1G 1.5G 5.3G 22% /31 tmpfs        279M   0 279M  0% /dev/shm32 /dev/sda1      190M  36M 145M 20% /boot33 192.168.1.14:/data 7.1G 1.5G 5.3G 22% /mnt34 6.测试读,写35 服务器端:36 [root@NFS-server test]# cd /data/37 [root@NFS-server data]# ll38 total 839 -rw-r--r--. 1 nfsnobody nfsnobody  0 Nov 28 12:20 fs.sf40 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test41 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui42 [root@NFS-server data]# mkdir zhurui143 [root@NFS-server data]# ll44 total 1245 -rw-r--r--. 1 nfsnobody nfsnobody  0 Nov 28 12:20 fs.sf46 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test47 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui48 drwxr-xr-x. 2 root   root   4096 Nov 28 12:21 zhurui149 客户端:50 [root@Web-lamp01 ~]# cd /mnt/51 [root@Web-lamp01 mnt]# ll52 total 453 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test54 [root@Web-lamp01 mnt]# touch fs.sf55 [root@Web-lamp01 mnt]# ll56 total 457 -rw-r--r--. 1 nobody nobody  0 Nov 28 12:20 fs.sf58 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test59 [root@Web-lamp01 mnt]# mkdir zhurui60 [root@Web-lamp01 mnt]# ls -ld zhurui/61 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/62 [root@Web-lamp01 mnt]# ll63 total 1264 -rw-r--r--. 1 nobody nobody  0 Nov 28 12:20 fs.sf65 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test66 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui67 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui168 7.开机自启动69 ​[root@Web-lamp01 mnt]# vim /etc/rc.local 70 ​#start up rpcbind services by zhurui 2016022671 72 /etc/init.d/rpcbind start73 74 /bin/mount -t nfs 192.168.1.14:/data /mnt

Web-lnmp02客户端部署跟Web-lamp01部署步骤相同,这里就不多加说明

14 1 1.安装软件15 2 [root@Web-lnmp02 ~]# yum -y install nfs-utils rpcbind  16 3 Loaded plugins: fastestmirror, security17 4 Setting up Install Process18 5 Loading mirror speeds from cached hostfile19 6 * base: mirrors.sina.cn20 7 * extras: mirrors.opencas.cn21 8 * updates: centos.ustc.edu.cn22 9 base                       | 3.7 kB   00:00   23 10 extras                      | 3.4 kB   00:00   24 11 extras/primary_db                | 34 kB   00:00   25 12 updates                     | 3.4 kB   00:00 26 13 2.启动rpcbind27 14 [root@Web-lnmp02 ~]# /etc/init.d/rpcbind start28 15 Starting rpcbind:                     [ OK ]29 16 [root@Web-lnmp02 ~]# 30 17 3.配置开机自启动31 18 [root@Web-lnmp02 ~]# chkconfig --level 35 rpcbind on32 19 [root@Web-lnmp02 ~]# chkconfig --list rpcbind33 20 rpcbind     0:off  1:off  2:on  3:on  4:on  5:on  6:off34 21 [root@Web-lnmp02 ~]# 35 22 4.测试服务端共享36 23 [root@Web-lnmp02 ~]# showmount -e 192.168.1.1437 24 Export list for 192.168.1.14:38 25 /data 192.168.1.0/2439 26 5.挂载40 27 [root@Web-lnmp02 ~]# mount -t nfs 192.168.1.14:/data /mnt41 28 [root@Web-lnmp02 ~]# df -h42 29 Filesystem     Size Used Avail Use% Mounted on43 30 /dev/sda3      7.1G 1.5G 5.3G 22% /44 31 tmpfs        279M   0 279M  0% /dev/shm45 32 /dev/sda1      190M  36M 145M 20% /boot46 33 192.168.1.14:/data 7.1G 1.5G 5.3G 22% /mnt47 34 6.测试读,写48 35 服务器端:49 36 [root@NFS-server test]# cd /data/50 37 [root@NFS-server data]# ll51 38 total 852 39 -rw-r--r--. 1 nfsnobody nfsnobody  0 Nov 28 12:20 fs.sf53 40 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test54 41 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui55 42 [root@NFS-server data]# mkdir zhurui156 43 [root@NFS-server data]# ll57 44 total 1258 45 -rw-r--r--. 1 nfsnobody nfsnobody  0 Nov 28 12:20 fs.sf59 46 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test60 47 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui61 48 drwxr-xr-x. 2 root   root   4096 Nov 28 12:21 zhurui162 49 客户端:63 50 [root@Web-lnmp02 ~]# cd /mnt/64 51 [root@Web-lnmp02 mnt]# ll65 52 total 466 53 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test67 54 [root@Web-lnmp02 mnt]# touch fs.sf68 55 [root@Web-lnmp02 mnt]# ll69 56 total 470 57 -rw-r--r--. 1 nobody nobody  0 Nov 28 12:20 fs.sf71 58 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test72 59 [root@Web-lnmp02 mnt]# mkdir zhurui73 60 [root@Web-lnmp02 mnt]# ls -ld zhurui/74 61 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/75 62 [root@Web-lnmp02 mnt]# ll76 63 total 1277 64 -rw-r--r--. 1 nobody nobody  0 Nov 28 12:20 fs.sf78 65 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test79 66 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui80 67 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui181 68 7.开机自启动82 69 ​[root@Web-lnmp02 mnt]# vim /etc/rc.local 83 70 ​#start up rpcbind services by zhurui 2016022684 71 85 72 /etc/init.d/rpcbind start86 73 87 74 /bin/mount -t nfs 192.168.1.14:/data /mnt

10.6 mount挂载性能优化参数选项

(1)禁止更新目录及文件时间戳挂载

1 mount -t nfs -o noatime,nodiratime 192.168.1.14:/data

(2)安全加优化的挂载方式

1 mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 192.168.1.14:/data /mnt

(3)默认的挂载方式

1 mount -t nfs 192.168.1.14:/data /mnt

10.7 NFS内核优化

对应的具体内核优化命令:

1 cat >>/etc/sysctl.conf<<EOF2 net.core.wmem_default = 83886083 net.core.rmem_default = 83886084 net.core.rmem_max = 167772165 net.core.wmem_max = 167772166 EOF

执行sysctl -p生效