nfs最大的缺点是单点,只能一对一
nfs统称存储服务器,放视频图片之类的东西,所以服务器的容量很大
数字都是放在数据库里边的,

nfs的挂载原理
客户端怎么知道服务端的开启端口?
找rpcbind,再启动的瞬间,nfs会想rpc注册,nfs有哪些端口号可以用,rpc固定监控一个端口号,当客户端来连接的的时候,rpc会受到请求,然后分发端口号,客户端通过端口号在和nfs建立连接
具体步骤
1需要先装rpcbind的东西
2装nfs-utils
要先起rpc服务
在起nfs服务,nfs要像rpc注册
客户端挂载要先经过rpc(rpc才是socket端口)通过rpc知道nfs的端口,然后才和nfs三次握手。
服务端的rpc是socket进程,客户端的是一个命令。
服务端需要张的包
nfs-utils(包括了rpc的客户端)
rpcbind(是rpc的服务端)
命令rpcinfo是看rpc的信息的命令
启动用service rpcbind start
启动nfs用/etc/init.d/nfs start
配置nfs的配置文件,/etc/exports
直接清空以后再写,
书写格式
共享那个目录 那个客户端能连接过来(拥有什么权限用逗号隔开)
例如:/data 192.168.200.0/(rw,sync,all_squash)
命令showmount 命令是查看(本地有没有共享目录)网路文件能不能挂载
参数-e不指明ip是查看本地
创建/data目录,修改目录权限为nfsnobody
在共享的磁盘里放置文件的时候所有人都降权,都变成了程序用户。nfs在重启的时候是无敌时间,在几秒钟内不能做任何事情。
程序用户是最低的,所有人都能进行操作。(读写操作)
amonuid=xxxx 修改nfs的主权限用户
anongid=sss 修改nfs的组权限用户

NFS服务端配置文件路径

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

 
  1. [root@nfs01 ~]# ls -l /etc/exports
  2. -rw-r--r--. 1 root root 0 1月 12 2010 /etc/exports
  3. [root@nfs01 ~]# cat /etc/exports

提示: 
NFS默认配置文件/etc/exports其实是存在的,但是没有内容,需要用户自行配置。

 

exports配置文件格式

/etc/exports文件位置格式为:

NFS共享的目录 NFS客户端地址1(参1,参2...)客户端地址2(参1,参2...)

NFS共享的目录 NFS客户端地址(参1,参2...)

查看exports语法文件格式帮助的方法为: 
执行man exports命令,然后切换到文件结尾,可以快速看如下样例格式:

 
  1. [root@nfs01 ~]# cat /etc/exports
  2. /data 172.16.1.0/24(rw,sync)
  3. 命令说明:
  4. /data :nfs的共享目录路径
  5. 172.16.1.0/24:允许挂载我的共享目录的IP地址段
  6. (rw):可读可写
  7. (sync):实时同步

修改配置文件以后,必须重启nfs服务

 
  1. [root@nfs01 ~]# /etc/init.d/nfs reload
  2. [root@nfs01 ~]# showmount -e #查看生效的nfs配置文件规则
  3. Export list for nfs01:
  4. /data 172.16.1.0/24
 

给共享目录更改属主属组为nfsnobady

 
  1. [root@nfs01 ~]# grep nfs /etc/passwd
  2. nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
  3. [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
  4. [root@nfs01 ~]# ll -d /data
  5. drwxr-xr-x. 2 nfsnobody nfsnobody 4096 3月 9 09:43 /data

特别提示: 
如果不授权属主属组,那么共享目录挂载以后将不遵循配置文件exports的设定好的读写规则。虽然也能正常挂载,但是会导致写入文件时提示没有权限。

nfs的缺点
没办法扩容,不能无限扩容,有无敌时间,无敌时间会阻碍我们有单点故障(单点就是一个集群坏一个就不能使用,),不好做高可用,高可用是一个服务器换了会有自动替换的操作。检测nfs是不是活的我们检测111端口,(nmap。Telnet ip 端口可以检测nfs出没出事。这样做会需要修改无敌时间。)还有写入熟读的缺点,硬盘的读写速度有限,20台服务器以内才会选用nfs的初级存储。
开机自启的fstab没有自己启动的原因,没有开机自启netfs,一个服务器没有网是不能挂远程服务的,最根本的原因是,fstab的优先级高于开启网路的优先级,在开机的时候先执行fstab在执行开启网路,而netfs是将fstab挂两边,所以能解决问题。

nfs的简单搭建与原理的更多相关文章

  1. springmvc4环境简单搭建和定时任务

    之前复制粘贴创建了几个ssm的项目,然而回头让自己写的时候还是一头雾水,究其原因是spring的陌生.仅仅是写过几个helloworld而已.而且是照着写.我都不知道springmvc到底需要多少ja ...

  2. python 简单搭建阻塞式单进程,多进程,多线程服务

    由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 :  --> 点击这里 我们可以通过这样子的方式去理解apache的工作原理 1 单进程TCP服 ...

  3. ubuntu 16.04 nfs服务的搭建

    nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在ubuntu16.04系统中搭建nfs服务,ubuntu的搭建比红帽的还要简单. 1.安装nfs服务 s ...

  4. Red Hat 6.5 nfs服务的搭建

    nfs服务是实现Linux和Linux之间的文件共享,nfs服务的搭建比较简单. 现在介绍如何在红帽6.5系统中搭建nfs服务. 1.关闭selinux服务 如果已经关闭该服务的可以直接跳过该步骤. ...

  5. Redis 复制、Sentinel的搭建和原理说明(转)

    Redis 复制.Sentinel的搭建和原理说明  转自:http://www.cnblogs.com/zhoujinyi/p/5570024.html. 背景: Redis-Sentinel是Re ...

  6. python简单搭建HTTP Web服务器

    对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...

  7. 1.0、Struts2的简单搭建方法

    一.Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet:用于jsp页面与Java代码之间的交互. 1.核心:Filter拦截器,对所有的请求进行拦截. 2.工作 ...

  8. 零配置简单搭建SpringMVC 项目

    SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...

  9. C#基础--.net平台的重要组成部分以及.net程序简单的编译原理

    .net平台的组成只要有两部分   FCL:框架类库    CLR:公共语言运行时 .net程序简单的编译原理 1.0:使用C#编译器(csc.exe) 将C#源代码编译成程序集+{编译之前:会检查C ...

随机推荐

  1. XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem A. Arithmetic Derivative

    题目:Problem A. Arithmetic DerivativeInput file: standard inputOutput file: standard inputTime limit: ...

  2. intellij-idea+maven搭建scala环境

    一 . 安装JDK 1. 下载地址: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6 ...

  3. 播放48KHZ有1S的停顿

    两个音频文件: /usr/lib/gstreamer-0.10/libgstflump3dec.so /usr/lib/gstreamer-0.10/libgstflumpegdemux.so

  4. [转]总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  5. [翻译]解读CSS中的长度单位

    测量,在WEB设计上是非常重要的.在CSS中有至少10种不同的测量单位.每种单位都有其独特的作用,使用它们,可以使页面,在各种设备上,很好的工作.一旦你熟悉了所有这些单位,你可以更准确地设定元素的大小 ...

  6. 【前端】jQuery实现锚点向下平滑滚动特效

    jQuery实现锚点向下平滑滚动特效 实现效果: 实现原理: 使用jQuery animate()方法实现页面平滑滚动特效 $('html, body').animate({scrollTop: $( ...

  7. 【bzoj4423】[AMPPZ2013]Bytehattan(平面图转对偶图+并查集)

    题目传送门:bzoj4423 如果是普通的删边判连通性,我们可以很显然的想到把操作离线下来,倒着加边.然而,这题强 制 在 线. 虽然如此,但是题目所给的图是个平面图.那么我们把它转成对偶图试试看? ...

  8. LeetCode——Is Subsequence

    Question Given a string s and a string t, check if s is subsequence of t. You may assume that there ...

  9. 【网络结构】GoogLeNet inception-v1:Going deeper with convolutions论文笔记

    目录 0. 论文链接 1. 概述 2. inception 3. GoogleNet 参考链接 @ 0. 论文链接 1. 概述   GoogLeNet是谷歌团队提出的一种大体保持计算资源不变的前提下, ...

  10. Java实习二

    链表(java实现) Link.java public class Link{ private Node first; public Link(){ this.first = null; } //判断 ...