当前位置: 首页 > news >正文

保定网站排名央视新闻的新闻

保定网站排名,央视新闻的新闻,无限时间看片视频,搜索微信公众号平台目标&#xff1a; 了解&#xff1a;NFS 工作原理 部署&#xff1a;NFS 文件共享服务 配置&#xff1a;NFS 访问控制 掌握&#xff1a;NFS 客户端访问方法 4.1 nfs 概述 NFS 是 <Network File System 网络文件系统> 的缩写&#xff0c;它最大的功能就是&#xff1a;…

目标:

  1. 了解:NFS 工作原理

  2. 部署:NFS 文件共享服务

  3. 配置:NFS 访问控制

  4. 掌握:NFS 客户端访问方法

4.1 nfs 概述

NFS 是 <Network File System 网络文件系统> 的缩写,它最大的功能就是:可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。常用于挂载持久化数据使用

一般使用云上的 nas 卷代替

NFS 主要用于<UNIX/Linux服务器>之间的<共享目录访问>

当然<Windows客户端>也可以访问<NFS共享目录>。

通俗来讲就是将服务器创建一个目录,挂载到客户端那里,

相当于是共享该目录,可以在里面做操作或者传输文件

当几百台机器一起更新一个网页或者别的时候,可以放在服务端上,然后全部挂载到客户端,直接解决

nfs 是文件系统 rpc 是传输数据文件系统

nfs 优点:

  1. 简单容易,易于掌握

  2. 方便快速部署,维护简单容易

  3. 可靠,从软件层面上看,数据可靠性高,经久耐用

nfs 局限:

  1. 存在单点故障,如果<NFS服务器>宕机了,则所有<NFS客户端>都不能访问NFS共享目录

​ 可以通过rsync来进行数据同步,或者采用<负载均衡的高可用方案>解决该问题

  1. <NFS服务端>在高并发的场合下,性能有限。

    一般几千万以下<pv网页浏览量>的网站不是瓶颈,除非网站架构太差

  2. <NFS服务端>的<客户端认证>是基于<IP和主机名>的,安全性一般。

    但用于内网则问题不大

  3. <NFS数据>是明文的,不做<数据完整性>验证。

    一般是存放于内网,提供内网的服务器使用,所以安全性相对不是一个问题

  4. 多个<NFS客户端>挂载同一个<NFS服务端>时,维护管理比较麻烦。当<NFS服务端>出问题后,所有<NFS客户端>都会挂掉。

    可使用autofs自动挂载来解决,否则,需要手动重新挂载

4.2 工作原理和步骤

备注:<NFS服务>需要在<RPC服务>中注册<端口号> rpc服务相当于中介

(1) <客户端>向<NFS服务器>发送<资源请求>时,<客户端RPC服务>通过网络向<NFS服务端的RPC(111端口口)>发出<资源请求>

(2) <NFS服务端的RPC服务>获取<NFS服务端的注册端口>,然后通知<客户端RPC服务>

(3) <客户端>收取到<正确的端口>之后,直接与<NFS服务端>建立通信。

(4) <NFS服务端>接受<资源请求>之后,通过<本地响应>读取<本地磁盘中的内容>,然后返回给<客户端>,完成一次<存取操作>

客户端不需要下载 rpcbind ,只需要下载 nfs-utilf 不过两个下载都可以

工作原理图如下

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

步骤:

服务机创建 共享目录 ,给共享目录权限 ,在配置文件写入内容 允许 别人挂载

客户机 将共享目录 挂载在其新创建的目录下,一个新目录挂载一个共享目录

4.3 安装 RPC 和 NFS

1 安装

yum install rpcbind nfs-utils -yrpcbind    ## 这是<RPC服务>的主体程序,它会被<nfs-utils程序>自动依赖安装。主要职能:在客户端访问<NFS共享>的时侯,客户端通过<RPC服务>来获知<NFS服务的端口号>;可以理解<rpc服务>就是一个<中介服务>,因此<RPC服务>要先于<NFS服务>启动nfs-utils  ## 该<nfs-utils>为<内核中的NFS服务器>提供了一个<daemon守护进程>,它是<NFS服务>的主程序,该<nfs-utils>也包含着<NFS实用程序>、<NFS客户端>## 注意:安装后会有程序用户 nfsnobody 自动创建

2 启动服务

启动顺序的问题:

必须:先启动rpcbind服务,然后再启动nfs服务

因为:NFS服务需要在RPC服务中注册端口号

针对:CentOS 6(init机制),两个都要启动 (了解)

## 必须:先启动<rpcbind服务>,后启动<nfs服务>
chkconfig rpcbind on
chkconfig nfs on
service rpcbind start && service nfs start
## 查看:nfs和rpc的<开机自启动>设置
chkconfig --list | grep -E "(rpc|nfs)"

针对:CentOS 7(systemd机制) 启动nfs 会自动在此之前启动 RPC

安装<rpcbind程序>之后,<rpcbind.service>是默认开机自启动
## 在启动<nfs-server.service服务>的过程中,会自动为我们先启动<rpcbind.service服务>,更加智能方便
systemctl enable nfs
systemctl start nfs
systemctl status nfs

查看开机自启情况

systemctl list-unit-files		## 查看所有服务的开机自启动情况
systemctl list-unit-files | grep enabled |grep -E "(rpc|nfs)"	## 查看 rpc 和 nfs 的开机自启动情况

3 查看依赖

systemctl list-dependencies rpcbind
systemctl list-dependencies nfs-server

4 了解端口 NFS 端口

RPC的端口号:111,NFS的端口号:2049 ,可查看

netstat -4 -tunlp | grep -P "(111|2049)" | sort -k4

查看:<RPC服务>中的<端口注册信息>

rpcinfo -p localhost

5 配置 RPC 和 NFS 防火墙

firewall-cmd --permanent --zone=public --add-service=nfs --add-service=rpc-bind
firewall-cmd --reload## 我们在测试时候可以关闭防火墙

4.4 创建 NFS 共享目录(服务端)

以 ip 为 192.168.58.100 为服务机

1 本机创建共享目录

mkdir -p /{nfstest1,nfstest2}		 ## 根目录下创建两个目录,创几个都可以,当作共享目录chmod -R o+rwx /{nfstest1,nfstest2}	 ## 共享目录给 其他人 设置权限
setfacl -R -m u:nfsnobody:rwx /{nfstest1,nfstest2}  ## 设置 <NFS匿名用户> 的<ACL权限>,这样客户端可以访问和操作该文件## 注意:<NFS客户端>默认采用<nfsnobody匿名用户>来访问<NFS共享目录>

2 共享导出:<共享目录>

在 CentOS 6 中:

<NFS服务端>通过</etc/exports配置文件>,来共享导出<共享目录>

在 CentOS 7 中:

<NFS服务端>通过</etc/exports配置文件>或者</etc/exports.d/xxx.exports配置文件>,来共享导出<共享目录>

测试最好是 创建 /etc/exports.d/xxx.exports 文件,在里面写入允许别人共享内容

echo "/nfstest1 192.168.58.0/24(rw)" > /etc/exports.d/dir01.exports		## 仅允许<192.168.58.0/24网络>中主机的<读写访问>
echo "/nfstest2 192.168.58.130/24(rw)" > /etc/exports.d/dir02.exports	## 仅允许<192.168.58.130/24网络>中主机的<读写访问>
echo "/nfstest3 *(rw)" > /etc/exports.d/dir03.exports		## 允许任何主机进行读写访问,任何服务器都可以将它挂载到自己主机上或者 vim /etc/exports.d/test.exports
/nfstest1 192.168.58.0/24(rw)  
或者
/nfstest1 192.168.58.0/24(rw,sync)保存后
exportfs -ra 	# 刷新配置文件
或者 
systemctl restart nfs-server	# 重启服务
showmount -e               		# 查看验证配置文件是否写错
showmount -e 192.168.58.100		# 查看指定ip 的共享目录

服务端共享参数

参数作用
ro只读 表示文件系统是只读的,客户端不能修改数据,只能读取
rw读写 表示文件系统是读写的,客户端可以读取和写入数据。
sync同步写入,所有数据都会立即同步到磁盘,确保数据一致性,但会降低性能
async异步写入,数据会先缓存在内存中,再按一定时间间隔写入硬盘,这样可以提升性能,但可能会丢失部分数据
root_squash客户端使用root用户访问共享时,映射为普通用户(如 nfsnobody)的权限**(默认)**
no_root_squash客户端使用root用户访问共享时,直接将其映射为 NFS 服务器上的root用户权限
all_squash不管客户端使用的是哪个用户,都会映射成nfsnobody用户的权限,通常用于限制客户端的访问权限
no_all_squash无论什么普通用户访问,都不会映射成nfsnobody用户的权限,保持客户端原有的 UID 和 GID**(默认)** 建议客户端和挂载的用户名称和uid一致如 www-data 33
anonuid配置all_squash使用,指定 NFS 服务器上使用的匿名用户 UID,匿名用户必须在服务器系统中存在
anongid配置all_squash使用,指定 NFS 服务器上使用的匿名用户 GID,匿名用户必须在服务器系统中存在

一般给权限都会给挺多的

vim /etc/exports

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.5 挂载共享目录 (客户端)

客户端 ip 为 192.168.58.132

记得安装 和 重启服务

yum install nfs-utils -y
systemctl list-unit-files| grep enable | grep -E "(rpc|nfs)"

创建新目录,将服务端的共享目录挂载到这里

mkdir -p /mnt/{test1,test2}
mount -t nfs 192.168.58.100:/nfstest1 /mnt/test1
mount -t nfs 192.168.58.100:/nfstest2 /mnt/test2
df -h   ## 到此结束,已经完成将 服务端共享目录挂载到客户端
## 无论在服务端或者客户端的目录下执行操作,另外一方也会跟着改变

4.6 自动挂载

NFS共享文件夹(autofs自动挂载)

客户端进行操作

autofs自动挂载服务是一种Linux系统守护进程,当检测到用户视图访问一个尚未挂载的文件系统时,会自动挂载该文件系统。简单来说,将挂载信息写入/etc/fstab文件中,系统在每次开机时都会自动挂载,而autofs服务则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器硬件资源的开销。

简单来说就是:你用,我就挂载!!!你不用,我就卸载!!! 本人觉得没必要使用

1、配置文件详解

autofs服务要实现自动挂载涉及到两个文件,主配置文件auto.master和次配置文件auto.misc

主配置文件写挂载的 大目录路径 和 要挂载的服务端共享目录 ,次配置文件写挂载的小目录名 挂载类型和权限 还有服务端共享目录

/etc/auto.master
这个文件是统一,唯一的。系统配置文件,里面注明了自动挂载的根目录和应用的配置文件
/mnt   	/etc/auto.test1 --timeout 300/mnt:代表了挂载的根目录所在
auto.test1:代表所应用的配置文件
--timeout:300代表系统超时,单位s  默认就是 300秒,可不写,5分钟不用会自动取消挂载,用的时候自动挂载######################################/etc/auto.media  这个文件是自定义的,对应master中的配置文件,里面写明了实际挂载目录,挂载参数和挂载项所在位置
testdj                 -fstype=iso9660,loop,ro      192.168.58.100:/iso/Rhel6p4.isotestdj:代表挂载位于/mnt/testdj-fstype=iso9660:文件类型为光盘loop:将文件模拟块设备挂载在本地ro=readonly  :/iso/Rhel6p4.iso:镜像所在位置为/iso挂载NFS网络文件系统

2、配置NFS自动挂载

客户端操作

假如服务端 ip 是 192.168.58.100 ,共享目录是 /cl

将该目录挂载到客户端的 /mnt/aa 目录下

1)安装服务安装:autofs(老三样)
yum install autofs -y
systemctl enable autofs && systemctl start autofs
2)配置主配置文件
vim /etc/auto.master
添加配置内容
/mnt  /etc/auto.test1   
3)配置次要文件 (主配置文件定义后,然后新创建的)
vim /etc/auto.test1
aa   -fstype=nfs 192.168.58.100:/cl## 另外 aa目录不能提前创建,自动挂载时系统自动创建aa目录
4)启动/重启/开机自启autofs服务:
systemctl start/restart/enable autofs
注: 只有cd /mnt/aa 进去, 触发一下,才能自动挂载。
[root@192 mnt]# ls[root@192 mnt]# cd aa
[root@192 aa]# cd -
/mnt
[root@192 mnt]# ls
aa## 什么都没有,cd进去使用的时候自动挂载

4.7 实战配置nfs服务(重要)

服务端(100)创建共享目录 /dj 挂载到 客户端(132) 的 /mnt/test 下 ,并允许共享目录被挂载到同一网段下的机器

注意:以下是已经安装 RPC 和 NFS 服务且开启服务的情况下的操作

1 服务机器

mkdir -p /dj
chmod -R o+rwx /dj
setfacl -R -m u:nfsnobody:rwx /dj
echo "/dj 192.168.58.0/24(rw)" > /etc/exports.d/test.exports	
exports -ra
systemctl restart nfs
showmount -e 					## 验证
## vim 写入 /dj 192.168.58.0/24(rw) 也可以

2 客户端机器 192.168.58.132

mkdir -p /mnt/test
showmount -e 192.168.58.100     			## 查看该ip的机器 是否有nfs共享目录
mount -t nfs 192.168.58.100:/dj /mnt/test	## 挂载 共享目录dj 到创建的 test 目录下
df -h										## 查看是否挂载成功,成功则完成

4.8 脚本配置nfs服务

自己做的,有点小问题 有兴趣自取然后修改一下测试看看

#!bin/bash
while true
doecho "---------------------"echo "1 您是服务端"echo "2 您是客户端"echo "3 取消返回"echo "---------------------"read -ep "请输入您的选择:" acase $a in1)	echo "正在为您安装服务和启动服务,请稍后"yum -y install rpcbind nfs-utils &>/dev/nullsystemctl start nfs &>/dev/nullsystemctl enable nfs &>/dev/nullecho "安装成功,服务已启动!!"echo "您可以一次创建一个或多个共享目录,用空格隔开"read -ep "创建的共享目录名是(如test1):" -a gxfor b in ${gx[*]}domkdir -p /$bdoneecho "创建成功,共享目录已经创建在根目录下"for((i=0;i<${#gx[*]};i++))doecho "/${gx[i]} *(rw)" > /etc/exports.d/test${i}.exportsdoneexportfs -ar &>/dev/bullsystemctl restart nfs &>/dev/null;;2)echo "正在为您安装服务和启动服务,请稍后"yum -y install rpcbind nfs-utils &>/dev/nullsystemctl start nfs &>/dev/nullsystemctl enable nfs &>/dev/null        	echo "安装成功,服务已启动!!"read -ep "请创建要挂载到的目标目录(如dj1):" -a gzfor((c=0;c<${#gz[*]};c++))domkdir /mnt/${gz[c]} &>/dev/nulldoneecho "创建目录成功"##注意:这里和上面创建的目录其实方法是一样的,可以互通read -ep "请输入服务端的ip地址(如 192.168.58.100):" becho "您可以一次挂载一个或多个共享目录,用空格隔开"read -ep "输入你想挂载的共享目录(如test1):" -a gxread -ep "输入你想挂载到的目录(如dj1):" -a xgzfor((i=0;i<${#gx[*]};i++))domount -t nfs $b:/${gx[i]} /mnt/${xgz[i]} &>/dev/nulldoneecho "挂载成功";;3)break;;*)echo ""echo "输入错误,请按照格式输入谢谢!!"        	;;esacdone

4.9 exportfs 和 showmount 命令

1 exportfs

exportfs -ar    					 ## 重新共享导出:所有的<共享目录>## 注意清空<内核>中<老数据>,重新建立<新数据>
exportfs -s 或 exportfs -v           ## 查看<NFS服务端>共享导出的<共享目录>和<导出参数>
exportfs -u 192.168.58.0/24:/dir01   ## 禁止共享导出:指定的<共享目录>
exportfs -a     					 ## 共享导出所有的<共享目录>

**2 shoumount ** 当服务端 ip 是192.168.58.100 时候

showmount -e  或者  showmount -exports      ## 查看本机器可共享导出的共享目录 ## 在服务端操作则是查看NFS服务端共享导出的共享目录
showmount -e 192.168.58.100      		   ## 查看指定机器可共享导出的共享目录 ## 在客户端操作则是查看NFS服务端共享导出的共享目录
http://www.hrbkazy.com/news/5772.html

相关文章:

  • 网页设计图片排版布局代码网站建设seo
  • 兼职建设网站网站制作公司怎么样
  • 四川省住房与建设厅网站广东seo
  • 南通公司网站制作全网营销推广方案外包
  • 政府网站建设 2017年磁力岛
  • 做网站租用数据库最常见企业网站公司有哪些
  • 海纳企业网站管理系统源码seo最新快速排名
  • 俄语企业网站制作在线资源搜索引擎
  • 网站后台信息维护要怎么做一键建站免费
  • 做一个公司网站流程 由ui设计网络广告投放
  • 上海的设计网站有哪些内容百度智能云
  • 房产律师网站模板seo千享科技
  • 线上线下相结合的营销模式福州seo服务
  • 商场网站开发网站搜索引擎拓客
  • wordpress 自动翻译插件关键词怎么优化到百度首页
  • 国外js特效网站友链交换网站源码
  • 商业网站建设案例课程2022年百度seo
  • 新疆省住房和城乡建设厅网站专业营销团队外包公司
  • 企业网站的建设内容优化网站排名需要多少钱
  • ps制作网站首页教程企业网站优化
  • 吴忠市建设局官方网站24小时人工在线客服
  • 海口网约车平台有哪些seo咨询师
  • 济南网站建设多少钱百度ai搜索引擎
  • 网站301跳转怎么做的安卓优化
  • 网站开发能进入无形资产吗网站设计与制作
  • 一流的常州做网站关键词优化排名软件流量词
  • 个人网站首页怎么做游戏代理平台有哪些
  • 网站使用cookies网站建设选亿企网络
  • 接私活做网站设计seo查询平台
  • c#购物网站开发流程潍坊百度seo公司