第1章 NFS介绍

1.1 NFS的概念

NFS是Network File System的缩写,即网络文件系统,它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。NFS客户端(一般为应用服务器如web)可以通过mount挂载的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下)

1.2 NFS在企业中的应用场景

在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频、图片、附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资源

1.2.1 NFS文件系统存在的作用

01. 实现数据信息的共享

02. 实现数据信息的一致

1.2.2 共享存储的实现方式

1.硬件实现共享存储

IBM(服务器 小型机 大型机 存储 DS V7000 V5000) Oracle EMC ==>去IOE

2.软件实现共享存储

本地文件系统NFS 分布式文件系统mfs FTP samba

说明:互联网领域发展过程详细了解(浪潮之巅)

1.3 NFS共享系统原理

01. 在NFS服务器端创建一个共享目录/video

02. 通过mount网络挂载,将这个共享目录/video挂载到客户端本地挂载点(不同客户端的挂载点可以不相同)

03. 客户端挂载完毕后,进入NFS客户端挂载点所在的目录就可以看到NFS服务器端/video共享出来的目录下的所有数据。在客户端的挂载目录上进行创建/删除/查看数据操作时,就相当于在服务器进行的创建/删除/查看操作

显示本地共享服务器挂载的基本信息

 [root@nfs01 ~]# df -h

 Filesystem         Size  Used  Avail Use% Mounted on

 /dev/sda3          .9G  .6G  .0G  % /

 tmpfs              491M      491M   % /dev/shm

 /dev/sda1          190M 33M  147M  % /boot

 172.16.1.31:/data  .9G  .6G  .0G  % /mnt  #使用率到达99%时扩容对端NFS

说明:mount -t 指定挂载类型   源           目标

mount -t     nfs    172.16.1.31:/data    /mnt

1.4 RPC远程过程调用

1.4.2 NFS工作流程原理

1.4.2.1  服务端三部曲

01.启动RPC服务/etc/init.d/rpcbind start

02.启动NFS服务/etc/init.d/nfs start

03.NFS服务会向RPC服务注册启动的端口信息(只能注册一次,要想注册第二次要重启NFS服务)

1.4.2.2  客户端三部曲

01.启动RPC服务/etc/init.d/rpcbind start,通过TCP/IP和服务端的RPC服务建立连接

02.通过mount进行挂载,将远程磁盘目录挂载到本地

03.通过客户端RPC服务向服务端RPC服务请求NFS服务端口信息,根据不同的进程和端口进行应用NFS服务

1.5 NFS服务网络文件共享RPC服务

由于NFS支持的功能很多,当NFS启动时会出现多个进程,网络服务又会自动生成一些随机的端口信息。NFS的随机端口造成了客户端与服务端的通信障碍,因为NFS客户端必须要知道NFS服务器端的数据传输端口才能进行通信,这时就生成了RPC远程调用服务

当RPC启动时会记录每个NFS功能所对应的端口信息,由RPC服务提供用户访问,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口,达到实现数据传输交互数据目的

第2章 NFS服务器端部署环境准备

2.1 NFS服务端部署

服务器系统

角色

IP

Centos6.9x86_64

NFS客户端(web-client)

10.0.0.7

Centos6.9x86_64

NFS服务器端(nfs-server)

10.0.0.8

Centos6.9x86_64

NFS客户端(web-client)

10.0.0.9

2.1.1 centos6.x x86_64模拟环境信息

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

 [root@nfs01 ~]# cat /etc/redhat-release

 CentOS release 6.9 (Final)

 [root@nfs01 ~]# uname -r

 2.6.-.el6.x86_64

 [root@nfs01 ~]# uname -m

 x86_64

NFS客户端操作系统信息及内核版本信息如下:

 [root@web01 ~]# cat /etc/redhat-release

 CentOS release 6.9 (Final)

 [root@web01 ~]# uname -r

 2.6.-.el6.x86_64

 [root@web01 ~]# uname -m

 x86_64

2.1.2 检查NFS RPC服务软件是否安装

rpm -qa |grep nfs rpm -qa |grep rpc

说明:当不知道软件名字时候,可以用rpm -qa|grep -E "nfs-|rpcbind"来过滤包含在引号内的字符串;默认centos6.x系统没有安装nfs和rpc软件包(centos5默认会安装)

2.1.3 进行yum安装nfs与rpc服务软件

注意:这里安装的rpc软件是rpcbind,centos5.x安装portmap

yum install -y nfs-utils rpcbind

查看已安装的软件包里的内容

 [root@nfs01 ~]# rpm -ql nfs-utils

 /etc/rc.d/init.d/nfs     #启动脚本命令

 /usr/sbin/exportfs    #NFS共享服务的管理命令

 /usr/sbin/showmount  #查看NFS共享列表信息

 [root@nfs01 ~]# rpm -ql rpcbind

 /etc/rc.d/init.d/rpcbind #启动脚本命令

 /usr/sbin/rpcinfo      #查看NFS注册信息

查看某个命令/文件属于哪个大礼包

rpm -qf `which ssh`

2.1.4 进行NFS配置文件/etc/exports编写

NFS服务的默认配置文件路径为/etc/exports且默认为空

说明:NFS默认配置文件是存在的,但是没有内容,需要用户自行配置

 vim /etc/exports

 #share /data by shine for share at 

 /data 172.16.1.0/(rw,sync)

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

第二部分:172.16.1.0/24  <=指定目标网段,表示允许指定网段主机挂载到本地的共享目录上

第二部分:(rw,sync)  <=定义共享服务相关参数信息

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

sync同步,数据先写入NFS服务器内存,立刻同步到磁盘中==>即直接写入到磁盘中

说明:修改/etc/exports后,需执行/etc/init.d/nfs reload平滑重启或exportfs -rv重新加载NFS配置,不进行重启NFS

2.1.5 创建共享目录并更改权限

mkdir -p /data chown -R nfsnobody.nfsnobody /data ll -d /data

在NFS服务器端把要共享的NFS目录赋予NFS默认用户nfsnobody用户和用户组权限,如果不设置则会导致NFS客户端无法通过NFS本地共享目录权限写入;当然也可以给NFS服务器端本地共享目录777的权限,但工作中最好不要用,因为777的权限太大

说明:NFS共享目录管理用户这里为nfsnobody,服务端(个人)没有创建nfsnobody用户但仍可以赋予用户权限,是由于nfsnobody用户是在进行nfs软件的yum安装时自动创建的

2.1.6 启动NFS服务

1.首先启动rpc服务(检查状态/etc/init.d/rpcbind status)

/etc/init.d/rpcbind start

2.查看NFS向rpc服务注册的本地端口信息

ps -ef |grep rpcbind netstat rpcbind rpcinfo -p 10.0.0.31 #这时由于NFS还未启动,所以没有过多注册的端口映射信息

3.其次启动NFS服务

/etc/init.d/nfs start rpcinfo -p 10.0.0.31 #NFS服务启动会有很多端口和功能的对应,每次启动时除了873和2049其他端口均随机

说明:如果rpcbind服务未启动,执行命令rpcinfo -p localhost检查时,会报如下错误

rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

解决办法:执行/etc/init.d/rpcbind start启动rpcbind服务即可

2.1.7 检查NFS服务配置及本地测试挂载

测试挂载结果

 mount -t nfs 172.16.1.31:/data /mnt  #mount -t 挂载类型 要挂载的服务器:共享目录 客户端的挂载点

 df -h  #查看挂载后的结果

 #172.16.1.31:/data  .8G  .7G  .7G  % /mnt

 mount

2.2 NFS客户端部署(以下步骤均在backup和web01服务器中执行)

2.2.1 检查NFS RPC服务软件是否安装

rpm -qa |grep nfs rpm -qa |grep rpcbind

2.2.2 进行yum安装nfs与rpc服务软件

yum install -y nfs-utils rpcbind

说明:进行同时安装的操作:在命令行界面右键→"发送键输入到所有会话"

nfs-utils和rpcbind软件安装后,均不是必须要启动的,也可以不启动。但是,软件必须要安装

如果nfs/rpc软件不安装会造成的问题:

a 客户端无法使用showmount/rpcinfo命令

b 挂载时客户端无法识别nfs/rpc文件系统类型

2.2.3 检查nfs客户端是否有可以进行共享挂载目录的包

rpm -qf `which showmount`

说明:showmount使用,需要安装nfs-utils软件

2.2.4 进行nfs客户端共享目录挂载

进行共享目录挂载

mount -t nfs 172.16.1.31:/data /mnt

说明:只要nfs服务端进行修改配置文件重新挂载,客户端也必须重新进行挂载

2.2.5 进行文件创建/删除测试检查

在备份服务器中,新建oldboy文件

[root@web01 ~]# touch /mnt/oldboy.txt [root@web01 ~]# rm -f /mnt/oldboy.txt

此时,nfs和web客户端均能共享到oldboy文件

注意:客户端测试如果有异常,可以把测试过程转移到服务端,通过服务端进行测试,便可确认异常问题原因

第3章 NFS深入扩展知识

3.1 NFS服务相关进程说明

 [root@nfs01 ~]# ps -ef |egrep "rpc|nfs"

 rpc                 : ?        :: rpcbind      <-RPC主进程
rpcuser : ? :: rpc.statd <-检查数据存储一致性
root : ? :: [rpciod/]
root : ? :: rpc.rquotad <-磁盘配额进程(remote quota server)
root : ? :: rpc.mountd <-服务端挂载权限管理验证等(NFS mount daemon)
root : ? :: [nfsd4]
root : ? :: [nfsd4_callbacks]
root : ? :: [nfsd] <-NFS主进程daemon
root : ? :: [nfsd] <-NFS主进程
root : ? :: [nfsd] <-NFS主进程,管理登入,ID身份判别等
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd] <-NFS主进程
root : ? :: rpc.idmapd <-name mapping daemon用户压缩/用户映射
root : pts/ :: egrep --color=auto rpc|nfs

NFS查看以上进程,可以通过man进程名命令,如man rpcidmapd

3.2 配置NFS服务端开机自启动

[root@nfs01 ~]# chkconfig rpcbind on [root@nfs01 ~]# chkconfig nfs on

3.3 NFS服务端配置文件路径

NFS服务的默认配置文件路径为/etc/exports且默认为空

 [root@nfs01 ~]# ls -l /etc/exports

 -rw-r--r--  root root  Oct  : /etc/exports

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

说明:NFS默认配置文件是存在的,但是没有内容,需要用户自配

第4章 NFS配置参数权限说明

4.1 squash参数详解

rpc.idmapd      名字映射后台进程

4.2 anonuid、anongid参数详解

作用:修改映射后的默认用户信息,默认映射用户为65534-nfsnobody

4.2.1 实践操作配置1:修改NFS默认映射用户(nfsnobody->www)

4.2.1.1  服务端配置

第一个里程碑-创建映射用户(服务端与客户端都创建,且uid和gid保持一致)

说明:因为两端识别用户身份并不是依靠用户名识别的,而是识别uid和gid信息,需要 uid和gid信息来判断用户是否一致,不一致则出现拒绝访问错误!

#客户端和服务端创建用户www

useradd www -u id www

第二个里程碑-服务端进行nfs文件配置,修改共享目录权限(客户端不进行修改)

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

 #share /data by root for www at 

 /data 172.16.1.0/(rw,sync,all_squash,anonuid=,anongid=)

说明:不指定anon参数这里就以uid为65534的nfsnobody用户作为默认映射用户

提示:用户默认的映射参数为root_squash、no_all_squash,所以配置文件中一定要进行参数设置

第三个里程碑-修改上级目录权限

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

第四个里程碑-重启服务器

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

4.2.1.2  客户端配置

第一个里程碑-进行挂载/重新挂载

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

 [root@backup ~]# df -h

 Filesystem         Size  Used Avail Use% Mounted on

 /dev/sda3          .8G  .7G  .7G  % /

 tmpfs              238M       238M   % /dev/shm

 /dev/sda1          190M   40M  141M  % /boot

 172.16.1.31:/data  .8G  .7G  .7G  % /mnt

第二个里程碑-创建指定www用户

useradd www -u id www uid=(www) gid=(www) groups=(www)

第三个里程碑-客户端进行测试

01.测试root用户映射

 [root@backup mnt]# touch user_root.txt

 [root@backup mnt]# ll

 total 

 -rw-r--r--  www www  Oct  : user_root.txt

02.测试普通用户映射

#www用户映射

 [www@backup mnt]$ touch user_www.txt

 [www@backup mnt]$ ll

 total 

 -rw-r--r--  www www  Oct  : user_root.txt

 -rw-rw-r--  www www  Oct  : user_www.txt

注意:当服务端创建用户而客户端不存在此用户时,客户端在挂载点下创建目录,文件用户属性出现nobody信息

4.2.2 实践操作配置2:修改客户端配置文件进行测试

no_all_squash

[oldboy@backup mnt]$ touch user_oldboy.txt touch: cannot touch `user_oldboy.txt': Permission denied

root_squash(服务端挂载目录/data属主为www,故www用户仍能挂载)

[oldboy@backup mnt]$ touch user_oldboy.txt touch: cannot touch `user_oldboy.txt': Permission denied

no_root_squash(root用户不进行映射,其权限能创建文件且属主依然为root)

 [root@backup mnt]# touch user_root.txt

 [root@backup mnt]# ll

 -rw-r--r--  root root  Oct  : user_root.txt

 [oldboy@backup mnt]$ touch user_oldboy.txt

 touch: cannot touch `user_oldboy.txt': Permission denied

NFS服务umount命令参数

-l  表示不用离开当前挂载目录,进行懒惰卸载

-f  表示对挂载的目录进行强制卸载

第5章 NFS服务企业案例配置实践

5.1 实例:共享不同的两个目录,分别赋予读和写的权限

5.1.1 具体要求

服务端上面要求:nfs服务器172.16.1.31,共享下面两个目录

/data/w   要求的权限可读写,同步数据,所有用户都压缩为匿名用户

/data/r   要求的权限为只读,同步数据,所有用户都压缩为匿名用户

客户端上面要求 :

backup服务器   把NFS服务器的/data/r挂载到backup的/data/r

web01服务器   把NFS服务器的/data/w挂载到web01的/data/w

5.1.2 部署过程

5.1.3 第一个里程碑-卸载并创建目录环境

umount -lf /data

①    服务端创建

mkdir /data/{r,w} chown -R nfsnobody.nfsnobody /data ll -d /data/{r,w}

②    客户端创建(这里无需修改权限)

[root@backup ~]# mkdir -p /data/r [root@web01 ~]# mkdir -p /data/w

5.1.4 第二个里程碑-编辑nfs服务端配置文件

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

 #share /data by root at 

 #/data 172.16.1.0/(rw,sync)

 /data/w 172.16.1.0/(rw,sync,all_squash)

 /data/r 172.16.1.0/(ro,sync,all_squash)

5.1.5 第三个里程碑-重启nfs

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

说明:在配置共享目录时,需要考虑到子目录会继承上一级目录的权限,即上一级目录/data若有rw权限,/data/r将仍被继承(ro权限不起作用),因此应尽量让共享目录之间没有继承关系,这里采用注释/data目录方法

5.1.6 第四个里程碑-客户端进行重新挂载

 umount -lf /mnt  #卸载已挂载目录

 backup

 [root@backup ~]# mount -t nfs 172.16.1.31:/data/r /data/r/
[root@backup ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 .8G .7G .7G % /
tmpfs 238M 238M % /dev/shm
/dev/sda1 190M 40M 141M % /boot
172.16.1.31:/data/r .8G .7G .7G % /data/r web01 [root@web01 ~]# mount -t nfs 172.16.1.31:/data/w /data/w/
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 .8G .7G .8G % /
tmpfs 238M 238M % /dev/shm
/dev/sda1 190M 40M 141M % /boot
172.16.1.31:/data/w .8G .7G .7G % /data/w

5.1.7 第五个里程碑-进行测试

①    测试读写功能

 [root@web01 ~]# cd /data/w

 [root@web01 w]# touch test01.txt

 [root@web01 w]# ll

 total 

 -rw-r--r--  nfsnobody nfsnobody  Oct    test01.txt

②    测试只读功能

 [root@backup ~]# cd /data/r

 [root@backup r]# touch test02.txt  #创建文件进行测试

 touch: cannot touch ` test02.txt': Read-only file system  #提示:不能创建文件,该文件为只读文件系统

提示:在任何情况下,服务端重启之后客户端都必须进行重新挂载,否则就出现如下错误

[root@backup r]# ll ls: cannot open directory .: Stale file handle

第6章 NFS服务的重点知识梳理

6.1 多个NFS客户端访问服务端的读写文件要具有的权限

01.NFS服务器/etc/exports设置需要开放可写入的权限,即服务端的共享权限

02.NFS服务器实际要共享的NFS目录权限具有可写入w的权限,即服务端本地目录的安全权限

03.每台机器对应存在和NFS默认配置UID的相同UID 65534的nfsnobody用户(确保所有客户端的访问权限统一,否则每个机器都需要同时建立相同UID的用户,并覆盖NFS的默认用户配置)

只有满足上述三个条件,多个NFS客户端才能具有查看/修改/删除其它任意NFS客户端上传文件的权限,这在大规模的集群环境中作为集群共享存储时尤为重要

6.2 NFS客户端挂载命令格式

挂载命令

挂载的类型格式

指定挂载参数

NFS服务器端提供的共享目录

NFS客户端的挂载点

mount

-t nfs

-o ro

172.16.1.31:/data

/mnt(必须存在)

完整版的挂载命令:mount -t nfs 172.16.1.31:/data /mnt,此命令需在客户端执行

6.2.1 NFS共享目录自动挂载方法

01.将挂载命令放在/etc/rc.local里

偶尔开机挂载不上,工作中除了开机自启动配置,还要对是否挂载做监控

02.将挂载命令放在/etc/fstab里

 [root@nfs01 data]# chkconfig netfs on

 [root@nfs01 data]# chkconfig --list netfs

 netfs          :off      :off      :on       :on       :on       :on       :off

注意:生产环境中一般不将其挂载信息写入fstab中,因为开机启动时,网络连接不上nfs server的话,可能会导致客户端主机无法启动过不了fstab这项,可以将其放到/etc/rc.local中来实现开机自动挂载,但也有可能重启nfs客户端后挂载不成功

6.3 NFS服务的优缺点及应用建议

A.优点:

01.简单,容易上手,容易管理

02.NFS文件系统内数据是在文件系统之上的,即数据是可见的

03.部署快速,维护简单方便且可控,满足需求就是最好的

04.可靠,从软件层面上看,数据可靠性高,经久耐用。数据是在文件系统之上的

05.服务非常稳定

B.局限:

01.存在单点故障,如果NFS Server宕机了,所有客户端都不能访问共享目录,这个在后期会通过负载均衡及高可用方案弥补

02.在大数据高并发的场合,NFS效率、性能有限(2 千万/日以下PV的网站不是瓶颈,除非网站架构设计太差)

03.客户端认证是基于IP 和主机名的,权限要根据ID 识别,无安全认证机制(用于内网则问题不大)

04.NFS数据是明文的,NFS本身不对数据完整性进行验证

05.多台客户机挂载一个NFS服务器时,连接管理维护麻烦(耦合度高)。尤其当NFS服务器端出问题后所有NFS客户端都处于挂掉状态测试环境可使用autofs自动挂载解决,正式环境可修复NFS服务或强制卸载)。

06.涉及了同步(实时等待)和异步(解耦)的概念,NFS服务器端和客户端相对来说就是耦合度有些高。网站程序也是一样,尽量不要耦合度太高,系统及程序架构师的重要职责就是为程序及架构解耦,让网站的扩展性变的更好。

C.应用建议:

对于大中小网站(参考点2000万旧PV以下)线上应用,都有用武之地,门户网站也会有应用,生产场景应该多将数据的访问往前推,即尽量将静态存情里的资源通过CDN 或缓存服务器提供服务,如果没有缓存服务或架构不好,存储服务器数量再多也是扛不住压力的,而且用户体验会很差。

第7章 利用ansible一键化nfs&rsync并实时同步剧本

 管理端 :
[root@m01 tools]# cat quanwang.sh
#!/bin/bash
sh /server/scripts/piliangceshimiyao.sh
ansible-playbook /server/tools/rsyncpiliang.yml
ansible-playbook /server/tools/nfspiliang.yml
ansible-playbook /server/tools/quanwang.yml ./server/scripts/piliangceshimiyao.sh [root@m01 tools]# cat /server/scripts/piliangceshimiyao.sh
#!/bin/bash
#生成密钥
\rm -f /root/.ssh/id_dsa*
ssh-keygen -t dsa -f /root/.ssh/id_dsa -P "" -q
#发送密钥
for ip in
do
echo "==== 现在分发 172.16.1.$ip=========="
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no root@172.16.1.$ip"
echo "==============end======="
echo
done .ansible-playbook /server/tools/rsyncpiliang.yml - hosts: 172.16.1.41 #服务端
tasks:
- name: yum
shell: yum install -y rsync #安装rsync
- name: yunm
shell: yum -y install sshpass #安装密钥的软件
- name: chuangjianmulu
shell: mkdir -p /server/tools/ #创建所在配置的文件
- name: peizhi
copy: src=/server/tools/peizhi.sh dest=/server/tools/peizhi.sh
- name: yunxing
script: /server/tools/peizhi.sh #运行脚本
- name: guanliyunhu
shell: useradd -s /sbin/nologin -M rsync #创建rsync虚拟用户
- name: anquanwenjian
shell: echo "rsync_backup:oldboy123" >/etc/rsync.password #设置密码文件
- name: quanxian
shell: chmod /etc/rsync.password #给予权限
- name: beifenmulu
shell: mkdir -p /backup && chown -R rsync.rsync /backup
- name: qidong
shell: rsync --daemon #运行rsync
- hosts: 172.16.1.8
tasks:
- name: yum
shell: yum install -y rsync # 客户端
- name: chuangjianmulu
shell: mkdir -p /server/tools/
- name: mimawenjian
shell: echo "oldboy123" >/etc/rsync.password && chmod /etc/rsync.password
- hosts: 172.16.1.31
tasks:
- name: yum
shell: yum install -y rsync #客户端
- name: chuangjianmulu
shell: mkdir -p /server/tools/
- name: mimawenjian
shell: echo "oldboy123" >/etc/rsync.password && chmod /etc/rsync.password .ansible-playbook /server/tools/nfspiliang.yml - hosts: 172.16.1.31 #服务端
tasks:
- name: yum
shell: yum install -y nfs-utils rpcbind #安装nfs
- name: yunm
shell: yum -y install sshpass #安装密钥的软件
- name: chuangjianmulu
shell: mkdir -p /server/tools/ #创建所在配置的文件
- name: peizhi
copy: src=/server/tools/nfspeizhi.sh dest=/server/tools/nfspeizhi.sh
- name: yunxingjiaoben
script: /server/tools/nfspeizhi.sh #运行脚本
- name: guanlimulu
shell: mkdir -p /data && chown -R nfsnobody.nfsnobody /data
- name: qidong
shell: /etc/init.d/rpcbind start && /etc/init.d/nfs start #启动
- name: kaijiqidong
shell: chkconfig rpcbind on && chkconfig nfs on
#设置密码文件
- hosts: 172.16.1.8
tasks:
- name: yum
shell: yum install -y nfs-utils rpcbind # 客户端
# - name: gui
# shell: umount -f /mnt
- name: guazai
shell: mount -t nfs 172.16.1.31:/data /mnt
- hosts: 172.16.1.41
tasks:
- name: yumh
shell: yum install -y nfs-utils rpcbind #客户端
# - name: guih
# shell: umount -f /mnt
- name: guazaih
shell: mount -t nfs 172.16.1.31:/data /mnt .ansible-playbook /server/tools/quanwang.yml - hosts: 172.16.1.61
tasks:
# - name: anzhuangrsync
# shell: /server/scripts/piliangceshimiyao.sh
# - name: anzhuangrsync
# shell: /server/tools/rsyncpiliang.yml
# - name: anzhuangnfs
# shell: /server/tools/nfspiliang.yml
- hosts: 172.16.1.41
tasks:
- name: chuangjianmulu41
shell: mkdir -p /server/tools/ #创建所在配置的文件
- name: peizhi41
copy: src=/server/tools/quanwangrsync.sh dest=/server/tools/quanwangrsync.sh
- name: rsyncdajian41
script: /server/tools/quanwangrsync.sh
- hosts: 172.16.1.8
tasks:
- name: chuangjianmulu8
shell: mkdir -p /server/tools/ #创建所在配置的文件
- name: peizhi8
copy: src=/server/tools/quanwangweb.sh dest=/server/tools/quanwangweb.sh
- name: quanwangweb8
script: /server/tools/quanwangweb.sh
- hosts: 172.16.1.31
tasks:
- name: chuangjianmulu31
shell: mkdir -p /server/tools/ #创建所在配置的文件
- name: peizhi31
copy: src=/server/tools/quanwangnfs.sh dest=/server/tools/quanwangnfs.sh
- name: quanwangnfs.sh31
script: /server/tools/quanwangnfs.sh

此笔记是本人学习摘记整理而成,此为初稿(尚有诸多不完善之处),原创作品允许转载,转载时请务必以超链接形式标明文章原始出处,作者信息和本声明,否则将追究法律责任。http://www.cnblogs.com/bananaaa/

NFS服务的更多相关文章

  1. ubuntu 14.04LTS 环境下配置NFS服务

    简言之,NFS(Network FileSystem,网络文件系统)用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操 ...

  2. Linux NFS 服务部署

    系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...

  3. CentOS6上无法启动NFS服务

    CentOS6上无法启动NFS服务 1.系统环境 物理机:Windows 7(32位)旗舰版 虚拟机:CentOS 6.5 2.问题描述 安装好nfs应用程序之后,打算启动nfs服务,却出现以下的报错 ...

  4. RHEL5.8配置NFS服务

    机器配置:4C+16GB 操作系统:RedHat Enterprise Linux 5.8 NFS基础 NFS(Network File System)是Linux系统之间使用最为广泛的文件共享协议, ...

  5. nfs服务部署记录

    一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...

  6. Centos7安装配置NFS服务和挂载

    现在有3台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现! 一.安装 NFS 服务器所需的软件包:   1 yum install -y nf ...

  7. redhat enterprixe 5.0 NFS服务配置与管理

    一.了解NFS Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议. NFS可以把网络上远程的文件挂载到本机 ...

  8. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  9. 配置NFS服务

    1. NFS配置,需要安装哪些包?nfs-utils  和 rpcbind2. 如果不开启rpcbind服务,就启动NFS,会怎么样?如果不开启rpcbind服务,会报错:rpc.nfsd: writ ...

  10. LINUX服务器配置NFS服务,挂载外部存储实现目录共享

    安装nfs  rpcbind 一.服务端配置 安装 NFS 服务器所需的软件包:nfs 和 rpcbind # yum install nfs-utils # yum install rpcbind( ...

随机推荐

  1. SQLite中的时间日期函数

    SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间 date()...........................产生日期 t ...

  2. NopCommerce 3. Controller 分析

    1. 继承关系,3个abstract类 System.Web.Mvc.Controller Nop.Web.Framework.Controllers.BaseController Nop.Admin ...

  3. c语言构造类型之数组_01

    构造类型--constructed type.至于定义,笔者就省略了,有兴趣的同学可以百度搜索https://www.baidu.com/.今天我们要说的是c语言中最简单的构造类型--数组(array ...

  4. Java中多态的理解

    最近学习Java里面的多态下面是个人的整理: 多态存在的3个必要条件: 1.要有继承 2.要有方法的重写 3.父类引用指向子类对象(对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会 ...

  5. 使用bitset实现毫秒级查询(二)

    在上一篇中我们了解了bitset索引的基本用法,本篇开始学习bitset索引更新及一些复杂查询. 1.bitset索引更新   因为我们的数据是在系统启动时全部加载进内存,所以当数据库数据发生变化时要 ...

  6. dubbo 笔记-XML配置文件简介

    <dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心. eg.<dubbo:service r ...

  7. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)

    本文参考:http://www.cnblogs.com/willick/p/3424188.html. 1.Model Binding是Http请求和Action方法之间的桥梁,是MVC框架根据Htt ...

  8. 容器与Docker简介(一)——微软微服务电子书翻译系列

    前不久参加了深圳的Azure开源者峰会,会上张善友张老师推荐了微软的一个架构网站:.NET Application Architecture 这几天正好工作比较闲,看了下里面关于微服务架构的介绍,非常 ...

  9. 我只是想获取access_token而已

    起因是想在微信小程序中获取access_token. 之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token 使用微信的wx ...

  10. Windows搭建golang开发平台

    Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea.LiteIDE.Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj ...