第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服务的更多相关文章
-
ubuntu 14.04LTS 环境下配置NFS服务
简言之,NFS(Network FileSystem,网络文件系统)用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操 ...
-
Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
-
CentOS6上无法启动NFS服务
CentOS6上无法启动NFS服务 1.系统环境 物理机:Windows 7(32位)旗舰版 虚拟机:CentOS 6.5 2.问题描述 安装好nfs应用程序之后,打算启动nfs服务,却出现以下的报错 ...
-
RHEL5.8配置NFS服务
机器配置:4C+16GB 操作系统:RedHat Enterprise Linux 5.8 NFS基础 NFS(Network File System)是Linux系统之间使用最为广泛的文件共享协议, ...
-
nfs服务部署记录
一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...
-
Centos7安装配置NFS服务和挂载
现在有3台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现! 一.安装 NFS 服务器所需的软件包: 1 yum install -y nf ...
-
redhat enterprixe 5.0 NFS服务配置与管理
一.了解NFS Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议. NFS可以把网络上远程的文件挂载到本机 ...
-
[转]Ubuntu下配置NFS服务
[转]Ubuntu下配置NFS服务 http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...
-
配置NFS服务
1. NFS配置,需要安装哪些包?nfs-utils 和 rpcbind2. 如果不开启rpcbind服务,就启动NFS,会怎么样?如果不开启rpcbind服务,会报错:rpc.nfsd: writ ...
-
LINUX服务器配置NFS服务,挂载外部存储实现目录共享
安装nfs rpcbind 一.服务端配置 安装 NFS 服务器所需的软件包:nfs 和 rpcbind # yum install nfs-utils # yum install rpcbind( ...
随机推荐
-
curl毫秒超时使用的坑
升级后的libcurl已经支持了毫米级别的超时.但是使用的时候还有一个坑需要注意跨过去 . libcurl如果检查到设置的timeout < 1s 那么会直接发出一个信号说 "已经超时 ...
-
标准非STL之bitset
template <size_t N> class bitset; BitsetA bitset stores bits (elements with only two possible ...
-
PHP读书笔记(7)- 函数
自定义函数 PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言.大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻 ...
-
web开发小节.txt
我最近一直在看这个的java web项目涉及到的知识,今天突然感觉思路烁然开明. 我们经常会将java web开发说成是MVCV: view 我在这里姑且就介绍JSP吧.JSP其实就是在原来的静态页面 ...
-
WPF笔记(1.9 样式和控件模板)——Hello,WPF!
原文:WPF笔记(1.9 样式和控件模板)--Hello,WPF! 资源的另一个用途是样式设置: <Window > <Window.Resources> <St ...
-
CSS3实现Loading动画特效
查看效果:http://hovertree.com/texiao/css3/43/ 代码如下: <!DOCTYPE html> <html> <head> < ...
-
动态逆序对[CDQ分治]
题面 luogu cdq分治入门 注意删的是值不是位置! #include <cstdio> #include <algorithm> #include <cmath&g ...
-
guxh的python笔记四:迭代
1,可迭代对象iterable,迭代器iterator,生成器generator 可迭代对象iterable: 实现__iter__方法的类.__iter__方法返回iterator或者generat ...
-
Structs复习 访问web元素
Structs帮我们在action和http里建立了联系 主要有四种方式 我们主要用第二种(IOC 依赖容器注入 ) Jar包 web.XML <?xml version="1.0&q ...
-
关于nodejs中的async/await
作用: 将异步转为同步,其实有点语法糖,promise能实现的改为比较同步的方式表现. 用法: 两个关键字: async:放在函数声明前,用于表示这个函数含有异步过程,且此函数必定返回promise对 ...