(1)nfs简介

作用:通过网络的不同的主机之间共享资源,支持多节点挂载并发写入

特点:单台,适合小型网络集群架构,非常稳定;大型公司使用(mfs,glusterfs,fastdfs)

nfs优点:部署和维护简单;数据是在文件系统之上,是能看见真实的数据,大型分布式文件系统都是看不到数据的;可靠稳定

nfs缺点:存在单点故障;高并发NFS效率和性能有限;客户端认证基于ip和主机名; nfs数据是明文的,nfs本身对数据完整性不作验证

注意:生产环境中不要出现ip地址,使用主机名代替

(2)环境准备

服务器系统				角色		ip			主机名
Centos7.3 x86_64 nfs服务器 192.168.1.31 nfs-server
Centos7.3 x86_64 nfs客户端 192.168.1.32 httpd01
Centos7.3 x86_64 nfs客户端 192.168.1.33 httpd02

(3)服务器端配置

0)关闭防火墙和selinux

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
setenforce 0

1)安装和启动服务

yum install nfs-utils rpcbind  -y
systemctl restart rpcbind //必须要启动rpcbind服务,nfs服务需要向rpcbind服务注册端口
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server

2)创建共享数据目录和准备首页内容

mkdir /webdata
echo "nfs test....." >/webdata/index.html

3)修改配置文件

格式

共享目录 客户端ip或网段(属性1,属性2)

#vim /etc/exports
/webdata 192.168.1.0/24(rw,sync,no_root_squash) //如果nfs客户端是root的话,访问nfs服务器的共享目录也是有root的权限
exportfs -v //使其配置生效
exportfs -rv //如果修改了/etc/exports文件,使用该命令重新加载

4)在nfs服务器上验证资源

rpcinfo -p localhost 								// 检查nfs服务是否向rpcbind注册端口
showmount -e 192.168.1.31 //查看nfs server的共享资源
mount -t nfs 192.168.1.31:/webdata /mnt //本机测试挂载

(4)客户端配置

1)安装和启动httpd

yum install httpd -y
systemctl start httpd
systemctl enable httpd

2)安装工具和验证nfs server的共享资源

#yum install nfs-utils -y 										//也要安装,不然没有showmount命令
#showmount -e 192.168.1.31
Export list for 192.168.1.31:
/webdata 192.168.1.0/24

3)手工挂载测试和卸载

mount -t nfs 192.168.1.31:/webdata /var/www/html
umount /var/www/html

4)永久挂载

#vim /etc/fstab
192.168.1.31:/webdata /var/www/html nfs defaults 0 0 //nfs共享资源 本地目录 文件系统类型 默认挂载选项 不备份不检查
#mount -a //加载/etc/fstab文件

5)验证挂载

df -hT
echo "Hello World" >/var/www/html/index.html //修改文件测试

(4)nfs server端权限参数详解

rw:可读可写
ro:只读
sync:写入数据时,数据同步写入到nfs server的硬盘才返回;数据安全不丢失,缺点:性能比不启用该参数要差
async:写入数据时候,写入到内存缓冲区中,过一段时间在写入到磁盘中;缺点:短时间会导致数据不一致
no_root_squash :如果nfs客户端是root的话,访问nfs服务器的共享目录也是有root的权限
root_squash:如果nfs客户端是root的话,访问nfs服务器的时候会被压缩成匿名用户
all_squash:不管nfs客户端的身份如何,访问nfs服务器的共享资源都会被压缩成匿名用户,默认的匿名用户是nfsnobody,匿名用户的uid和gid定义:anonuid=65534,anongid=65534,默认是这个uid和gid,都可以自己修改
如果server端配置这种参数,客户端想对共享目录有写权限,需要对共享目录设置权限或者修改属主 chown -R nfsnobody /webdata
注意:/etc/exports定义了权限; nfs服务器的共享目录权限必须有可写权限

(5)nfs server内核优化:发送和接收缓存区默认大小和最大大小

#cat >>/etc/sysctl.conf<<EOF
et.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
EOF
#sysctl -p

Centos7安装和配置NFS的更多相关文章

  1. 开发--CentOS-7安装及配置

    开发|CentOS-7安装及配置 本文主要进行详细讲解CentOS7.5系统的安装过程,以及CentOS系统初始化技术.我并不想将这篇文章变成一个教程,尽管我将详细的进行每一步的讲解,enjoy! 前 ...

  2. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  3. CentOS7安装及配置vsftpd (FTP服务器)

    CentOS7安装及配置vsftpd (FTP服务器) 1.安装vsftpd 1 yum -y install vsftpd 2.设置开机启动 1 systemctl enable vsftpd 3. ...

  4. CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)

    本文章向大家介绍CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置),主要包括CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)使用实例.应用 ...

  5. Centos7安装并配置mysql5.6

    1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg 2.卸载系统自带的Mariadb 2.1查询已安装的mariadb [root@loca ...

  6. Ubuntu10.04安装与配置nfs服务器(转载)

    转自:http://blog.chinaunix.net/uid-25885064-id-3177969.html 1.安装nfs服务   $ sudo apt-get install nfs-ker ...

  7. linux下安装与配置nfs服务器

    NFS 什么是NFS?(NAS) NFS(网络文件系统):它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录.NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的N ...

  8. centos7安装并配置postgresql

    安装并配置postgresql,参考以下两篇文章即可 https://www.postgresql.org/download/linux/redhat/ http://www.jianshu.com/ ...

  9. Centos7安装与配置domain模式wildfly(默认配置)

    (1)安装与配置JDK8 1)使用wget下载JDK8: wget --no-check-certificate --no-cookies --header "Cookie: oraclel ...

随机推荐

  1. react+propTypes

    React.createClass({ propTypes: { // 可以声明 prop 为指定的 JS 基本数据类型,默认情况,这些数据是可选的 optionalArray: React.Prop ...

  2. div模拟textarea在ios下不兼容的问题解决

    今天发现一个好东西,赶紧记下来,我在用textarea的时候,想要自适应高度,这样就不会出现滚动条.网上找了很多,都是用div模拟的,但是好扯淡,div模拟的在ios下不能聚焦并且不能输入.真坑... ...

  3. MongoDB入门(2)- MongoDB安装

    windows安装 下载文件,解压缩即可.下载地址 每次运行mongod --dbpath D:/MongoDB/data 命令行来启动MongoDB实在是不方便,把它作为Windows服务,这样就方 ...

  4. JS 本地属性与继承属性

    判断是否拥有某种属性 1.in 运算符 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' i ...

  5. C++转换构造函数和隐式转换函数 ~ 转载

    原文地址: C++转换构造函数和隐式转换函数 用转换构造函数可以将一个指定类型的数据转换为类的对象.但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成doubl ...

  6. perl HTML::LinkExtor模块(2)

    use LWP::Simple; use HTML::LinkExtor; $html_code = get("https://tieba.baidu.com/p/4929234512&qu ...

  7. Python学习笔记 - day13 - 进程与线程

    概述 我们都知道windows是支持多任务的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务.打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多 ...

  8. 【DataScience学习笔记】Coursera课程《数据科学家的工具箱》 约翰霍普金斯大学——Week3 Conceptual Issues课堂笔记

    Coursera课程<数据科学家的工具箱> 约翰霍普金斯大学 Week3 Conceptual Issues Types of Questions Types of Data Scienc ...

  9. TCP之Nagle算法与延迟ACK

    (一)Nagle算法 为了减少网络中小分组的数目,减少网络拥塞的情况.Nagle算法要求在一条TCP连接上最多只能有一个未被确认的未完成小分组,在该分组ACK到达之前不能够发送其他的小分组,发送端需要 ...

  10. 在Xcode中使用自定义的代码片段提高效率

    拖动代码的时候按住option键,很难拖,注意方法:< 引用于:http://www.2cto.com/kf/201409/336245.html