10.3 NFS服务端部署环境准备

10.3.1 NFS服务部署服务器准备

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

10.3.2 NFS服务部署架构图

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

 [root@NFS-server ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@NFS-server ~]# username -r
[root@NFS-server ~]# uname -r
2.6.32-573.el6.x86_64
[root@NFS-server ~]# uname -m
x86_64

10.4 NFS服务安装前准备

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

 [root@NFS-server ~]# rpm -qa nfs-utils rpcbind   ##查询结果为两个安装包都未安装
[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检查安装包是否安装上

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

10.4.4 接下来启动相应的服务

 [root@NFS-server ~]# /etc/init.d/rpcbind status  <==检查rpcbind服务状态
rpcbind is stopped
[root@NFS-server ~]# rpcinfo -p localhost <==rpcbind服务未启动检查 rpcinfo信息报错
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
[root@NFS-server ~]# /etc/init.d/rpcbind start <==启动rpcbind服务
Starting rpcbind: [ OK ]
[root@NFS-server ~]# /etc/init.d/rpcbind status
rpcbind (pid 2083) is running...
​[root@NFS-server ~]# /etc/init.d/nfs status <==查看nfs服务状态
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rquotad is stopped
[root@NFS-server ~]# /etc/init.d/nfs start <==启动nfs服务
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]

10.4.5 设置开机自启动

 [root@NFS-server ~]# chkconfig --level 35  nfs on  <==设置nfs服务开机自启动
[root@NFS-server ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
[root@NFS-server ~]# chkconfig --level 35 rpcbind on
[root@NFS-server ~]# chkconfig --list rpcbind <==<==设置rpcbind服务开机自启动
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,并且默认是为空。

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

10.5.2 编辑NFS服务端配置文件

 [root@NFS-server ~]# vim /etc/exports
/data 192.168.1.0/24(rw,sync,all_squash) <==添加如下内容,这里要注意加all_squash是将所有的普通用户压缩成匿名用户nobody,如果参数不加,客户端普通用户有可能将没有写的权限。
 [root@NFS-server ~]# vim /etc/exports
/data 192.168.1.0/24(rw,sync,all_squash) <==添加如下内容
​[root@NFS-server ~]# mkdir -p /data <==创建共享目录/data
[root@NFS-server ~]# ls -ld /data
drwxr-xr-x. 3 root root 4096 Nov 26 15:19 /data <==当前共享目录的属主属组分别为root
[root@NFS-server ~]# chown -R nfsnobody.nfsnobody /data <==修改/data及子文件属主属组为nfsnobody
[root@NFS-server ~]# ls -ld /data
drwxr-xr-x. 3 nfsnobody nfsnobody 4096 Nov 26 15:19 /data

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

 [root@NFS-server ~]# /etc/init.d/nfs reload ===exportfs -r
[root@NFS-server ~]# cat /var/lib/nfs/etab
/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)
[root@NFS-server ~]# showmount -e 192.168.1.14 <==挂载前首先检查有权限需要挂载的信息
Export list for 192.168.1.14:
/data 192.168.1.0/24 <---可以看到共享/data目录

10.5.4 检查或测试挂载

 [root@NFS-server test]# mount -t nfs 192.168.1.14:/data /mnt  ##将/data共享目录挂载到/mnt目录
[root@NFS-server test]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.1G 1.5G 5.3G 22% /
tmpfs 279M 0 279M 0% /dev/shm
/dev/sda1 190M 36M 145M 20% /boot
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文件中一定要加上启动服务的注释。

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

Web-lamp01客户端部署:

 1.安装软件
[root@Web-lamp01 ~]# yum -y install nfs-utils rpcbind
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.sina.cn
* extras: mirrors.opencas.cn
* updates: centos.ustc.edu.cn
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 34 kB 00:00
updates | 3.4 kB 00:00
2.启动rpcbind
[root@Web-lamp01 ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@Web-lamp01 ~]#
3.配置开机自启动
[root@Web-lamp01 ~]# chkconfig --level 35 rpcbind on
[root@Web-lamp01 ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@Web-lamp01 ~]#
4.测试服务端共享
[root@Web-lamp01 ~]# showmount -e 192.168.1.14
Export list for 192.168.1.14:
/data 192.168.1.0/24
5.挂载
[root@Web-lamp01 ~]# mount -t nfs 192.168.1.14:/data /mnt
[root@Web-lamp01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.1G 1.5G 5.3G 22% /
tmpfs 279M 0 279M 0% /dev/shm
/dev/sda1 190M 36M 145M 20% /boot
192.168.1.14:/data 7.1G 1.5G 5.3G 22% /mnt
6.测试读,写
服务器端:
[root@NFS-server test]# cd /data/
[root@NFS-server data]# ll
total 8
-rw-r--r--. 1 nfsnobody nfsnobody 0 Nov 28 12:20 fs.sf
drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
[root@NFS-server data]# mkdir zhurui1
[root@NFS-server data]# ll
total 12
-rw-r--r--. 1 nfsnobody nfsnobody 0 Nov 28 12:20 fs.sf
drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
drwxr-xr-x. 2 root root 4096 Nov 28 12:21 zhurui1
客户端:
[root@Web-lamp01 ~]# cd /mnt/
[root@Web-lamp01 mnt]# ll
total 4
drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
[root@Web-lamp01 mnt]# touch fs.sf
[root@Web-lamp01 mnt]# ll
total 4
-rw-r--r--. 1 nobody nobody 0 Nov 28 12:20 fs.sf
drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
[root@Web-lamp01 mnt]# mkdir zhurui
[root@Web-lamp01 mnt]# ls -ld zhurui/
drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/
[root@Web-lamp01 mnt]# ll
total 12
-rw-r--r--. 1 nobody nobody 0 Nov 28 12:20 fs.sf
drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui
drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui1
7.开机自启动
​[root@Web-lamp01 mnt]# vim /etc/rc.local
​#start up rpcbind services by zhurui 20160226 /etc/init.d/rpcbind start /bin/mount -t nfs 192.168.1.14:/data /mnt

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

  1 1.安装软件
2 [root@Web-lnmp02 ~]# 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.启动rpcbind
14 [root@Web-lnmp02 ~]# /etc/init.d/rpcbind start
15 Starting rpcbind: [ OK ]
16 [root@Web-lnmp02 ~]#
17 3.配置开机自启动
18 [root@Web-lnmp02 ~]# chkconfig --level 35 rpcbind on
19 [root@Web-lnmp02 ~]# chkconfig --list rpcbind
20 rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
21 [root@Web-lnmp02 ~]#
22 4.测试服务端共享
23 [root@Web-lnmp02 ~]# showmount -e 192.168.1.14
24 Export list for 192.168.1.14:
25 /data 192.168.1.0/24
26 5.挂载
27 [root@Web-lnmp02 ~]# mount -t nfs 192.168.1.14:/data /mnt
28 [root@Web-lnmp02 ~]# df -h
29 Filesystem Size Used Avail Use% Mounted on
30 /dev/sda3 7.1G 1.5G 5.3G 22% /
31 tmpfs 279M 0 279M 0% /dev/shm
32 /dev/sda1 190M 36M 145M 20% /boot
33 192.168.1.14:/data 7.1G 1.5G 5.3G 22% /mnt
34 6.测试读,写
35 服务器端:
36 [root@NFS-server test]# cd /data/
37 [root@NFS-server data]# ll
38 total 8
39 -rw-r--r--. 1 nfsnobody nfsnobody 0 Nov 28 12:20 fs.sf
40 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
41 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
42 [root@NFS-server data]# mkdir zhurui1
43 [root@NFS-server data]# ll
44 total 12
45 -rw-r--r--. 1 nfsnobody nfsnobody 0 Nov 28 12:20 fs.sf
46 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
47 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
48 drwxr-xr-x. 2 root root 4096 Nov 28 12:21 zhurui1
49 客户端:
50 [root@Web-lnmp02 ~]# cd /mnt/
51 [root@Web-lnmp02 mnt]# ll
52 total 4
53 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
54 [root@Web-lnmp02 mnt]# touch fs.sf
55 [root@Web-lnmp02 mnt]# ll
56 total 4
57 -rw-r--r--. 1 nobody nobody 0 Nov 28 12:20 fs.sf
58 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
59 [root@Web-lnmp02 mnt]# mkdir zhurui
60 [root@Web-lnmp02 mnt]# ls -ld zhurui/
61 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/
62 [root@Web-lnmp02 mnt]# ll
63 total 12
64 -rw-r--r--. 1 nobody nobody 0 Nov 28 12:20 fs.sf
65 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
66 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui
67 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui1
68 7.开机自启动
69 ​[root@Web-lnmp02 mnt]# vim /etc/rc.local
70 ​#start up rpcbind services by zhurui 20160226
71
72 /etc/init.d/rpcbind start
73
74 /bin/mount -t nfs 192.168.1.14:/data /mnt

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

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

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

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

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

(3)默认的挂载方式

 mount -t nfs 192.168.1.14:/data /mnt

10.7 NFS内核优化

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

 cat >>/etc/sysctl.conf<<EOF
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
EOF
执行sysctl -p生效

NFS网络共享服务部署的更多相关文章

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

    配置NFS服务端 nfs01上安装软件 [root@nfs01 ~]# yum install nfs-utils rpcbind -y nfs-utils:NFS服务的主程序,包括rpc.nfsd. ...

  2. nfs网络共享服务基础

    nfs原理 1.开启RPC服务 2.NFS向RPC服务注册启动的端口 3.用户向RPC询问NFS服务的端口 4.RPC返回端口给客户端 5.客户端通过获得的端口与NFS服务器进行数据传输 实验步骤 一 ...

  3. NFS网络共享介绍与使用

    什么是NFS(网络文件系统)? NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.它的主要功 ...

  4. 企业级NFS网络文件共享服务_【all】

    1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...

  5. Linux实战教学笔记22:企业级NFS网络文件共享服务

    目录 第二十二节 企业级NFS网络文件共享服务 第一章 NFS网络文件共享服务 1.1 NFS介绍 1.2 NFS系统原理介绍 1.3 NFS服务端部署环境准备 1.4 NFS server端的设置 ...

  6. (转)企业级NFS网络文件共享服务

    企业级NFS网络文件共享服务 原文:http://www.cnblogs.com/chensiqiqi/archive/2017/03/10/6530859.html --本教学笔记是本人学习和工作生 ...

  7. 【集群实战】NFS网络文件共享服务

    1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. ...

  8. ubuntu 10.10配置NFS网络共享步骤

    安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享.如果是windows和linux的共享则需用samba服务. NFS(Net ...

  9. 搭建企业级NFS网络文件共享服务说明[一]

    1.1.0. 概述: 共享/NFS目录给整个192.168.25.0/24网段主机读写 man nfs 可以查看mount的信息 rpc端口111 nfs主端口2049 1.1.1. 搭建NFS环境 ...

随机推荐

  1. Html5 快速排序演示

    快速排序(Quicksort)是对冒泡排序的一种改进.快速排序由C. A. R. Hoare在1962年提出. 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另 ...

  2. Oracle数据库操作知道

    SELECT TGTID,PHONENUM,REGISTERDATE ,to_date(REGISTERDATE,'YYYY-MM-DD HH24:MI:SS') AS T FROM WTRESSEN ...

  3. ASP.NET MVC Bundle使用 合并压缩

    2017-01-06 更新 在 BundleCollection 的构造函数中添加了 3种默认规则 public BundleCollection() { BundleCollection.AddDe ...

  4. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  5. require() 源码解读

    2009年,Node.js 项目诞生,所有模块一律为 CommonJS 格式. 时至今日,Node.js 的模块仓库 npmjs.com ,已经存放了15万个模块,其中绝大部分都是 CommonJS ...

  6. C# 复制PDF页面到另一个PDF文档

    C# 复制PDF页面到另一个PDF文档 有时候我们可能有这样一个需求,那就是把PDF页面从一个PDF文档复制到另一个PDF文档中.由于PDF文档并不像word文档那样好编辑,因此复制也相对没有那么容易 ...

  7. 微信JS-SDK坐标位置转换为百度地图坐标

    微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流 ...

  8. 「译」JUnit 5 系列:扩展模型(Extension Model)

    原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...

  9. 怎么调试lua性能

    怎么调试lua性能 我们的游戏使用的是Cocos2dx-lua 3.9的项目,最近发现我们的游戏.运行比较缓慢.想做一次性能优化了.其实主要分为GPU.CPU的分别优化.GPU部分的优化.网上有很多优 ...

  10. 节省Json流量

    今天在实验当中发现了很不错的节省json流量方式,来做个笔记给大家分享一下. 如果跟服务器传递键值对的数组,我们一般会采用下面方式 创建一个字段 public class kv { public st ...