综合架构网站存储服务下(NFS)

news/2024/5/13 0:51:45/文章来源:https://blog.csdn.net/chenbeiping888/article/details/103964182

文章目录

  • 01.课程知识概述部分
  • 02.知识回顾说明
  • 03.存储服务配置参数
  • 04.存储服务常用命令
      • rpcinfo ----查看nfs服务注册信息
            • 服务端使用:rpcinfo -p localhost 查看本地
            • 客户端使用
            • 服务端使用
  • 05.存储服务客户端操作
        • a 客户端挂载操作
        • 永久挂载操作:
            • 方法一:利用/etc/rc.local
            • 方法二:利用/etc/fstab
        • b.客户端挂载参数
            • mount -o 挂载参数
      • 存储服务权限说明:*****
  • 06.存储服务企业应用
  • 07.实时同步服务概述
  • 08.实时同步服务监控软件部署:
        • 存储服务器部署
            • 第一个里程:安装监控数据变化的软件
            • 第二个里程:监控命令使用
            • 实现永久监控目录中数据变化 inotifywait -m 目录
            • 实现目录中数据递归监控: inotifywait -rm 目录
            • 可监听的事件
  • 09.知识总结:

01.课程知识概述部分

1)存储服务配置文件
2)存储服务相关命令
3)存储服务客户端配置 mount
4)存储服务企业应用
5)实时同步服务概述 (定时任务备份数据)
6)实时同步实现方法 三种: 利用脚本实现 + 利用sersync + 利用lsync 扩展学习

02.知识回顾说明

1)存储服务概述说明 nfs
a 实现数据共享存储
b 节省运维成本开支
2)存储服务存储原理
a 数据存储原理过程 网络挂载操作
b 用户身份映射原理
3)存储服务部署过程
服务端:安装软件 (nfs-utils rpcbind) →编写配置文件/etc/exports →创建存储目录(属主属组nfsnobody) →启动服务
客户端:安装软件(nfs-utils) →挂载操作 mount -t nfs 172.16.1.31:/data /mnt
4)存储服务配置文件
a 配置文件格式信息 3个部分
1)存储目录信息
2)允许挂载主机
3)进行挂载存储参数 rw ro async sync root_squash no_root_squash all_squash no_all_squash
root_squash root 用户映射完毕 无法进行数据存储
在这里插入图片描述

在这里插入图片描述
***no_all_squash ---- 是否将用户信息做映射转换 将普通用户身份不做转换
***root_squash ---- 是否将用户信息做映射转换 将root用户身份进行转换

03.存储服务配置参数

anonuid:  指定映射用户身份信息uid数值
anongid:  指定映射用户身份信息gid数值
需要在服务端也创建相同uid用户

总结:配置存储服务参数时:root_squash,no_all_squash,anonuid=xxx,anongid=xxx
默认配置↓

 # cat /var/lib/nfs/etab    --- 记录nfs服务配置配置信息
[root@nfs01 ~]# cat /var/lib/nfs/etab
/data	web*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

在这里插入图片描述
在这里插入图片描述

04.存储服务常用命令

rpcinfo ----查看nfs服务注册信息

服务端使用:rpcinfo -p localhost 查看本地
rpcinfo -p 172.16.1.31
-p(probe,探测) 列出所有在host用portmap注册的RPC程序,如果没有指定host,就查找本机上的RPC程序。
-n(port number,端口号) 根据-t或者-u,使用编号为port的端口,而不是由portmap指定的端口号。
-u(UDP) UDP RPC调用host上程序program的version版本(如果指定的话),并报告是否接收到响应。
-t(TCP) TCP RPC调用host上程序program的version版本(如果指定的话),并报告是否接收到响应。
-b(broadcast,广播) 向程序program的version版本进行RPC广播,并列出响应的主机。
-d(delete,删除)  将程序program的version版本从本机的RPC注册表中删除。只有具有root特权的用户才可以使用这个选项。
客户端使用
showmount ----查看可用挂载目录信息
showmount -e 172.16.1.31
-d:仅显示已被NFS客户端加载的目录;
-e:显示NFS服务器上所有的共享目录。
服务端使用
exportfs--- 管理nfs服务运行状态
exportfs -rv  重载
-a 打开或取消所有目录共享。
-o options,...指定一列共享选项,与 exports(5) 中讲到的类似。
-i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。
-r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。
-u 取消一个或多个目录的共享。
-f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目。
-v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。

05.存储服务客户端操作

a 客户端挂载操作

mount -t nfs 存储服务器地址:存储目录    本地挂载点目录
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01 ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           98G  1.7G   97G   2% /
devtmpfs           476M     0  476M   0% /dev
tmpfs              487M     0  487M   0% /dev/shm
tmpfs              487M  7.7M  479M   2% /run
tmpfs              487M     0  487M   0% /sys/fs/cgroup
/dev/sda1         1014M  127M  888M  13% /boot
tmpfs               98M     0   98M   0% /run/user/0
172.16.1.31:/data   98G  1.6G   97G   2% /mnt

永久挂载操作:

方法一:利用/etc/rc.local
方法二:利用/etc/fstab

在这里插入图片描述
172.16.1.31:/data /mnt nfs defaults 0 0

PS:关注系统启动顺序
先加载/etc/fstab → 启动网络服务 → 加载/etc/fstab(systemctl start remote-fs.target)

检查是否开机自启↓

在这里插入图片描述

b.客户端挂载参数

cat /proc/mounts
关注点:

172.16.1.31:/data /mnt nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.7,local_lock=none,addr=172.16.1.31 0 0
mount -o 挂载参数
rsize  提升数据存储效率,减缓存储服务器压力  在客户端内存中设置了缓存
wsize  提升数据读取效率,减缓存储服务器压力 在客户端内存中设置了缓冲
hard   实现长连接挂载操作  对于架构而言,配置hard容易造成耦合度过高(连接关系太紧密了,一个坏了影响其他的)rsize  提升数据存储效率,减缓存储服务器压力  在客户端内存中设置了缓存
wsize  提升数据读取效率,减缓存储服务器压力  在客户端内存中设置了缓冲
hard   实现长连接挂载操作       对于架构而言,配置hard容易造成耦合度过高(连接关系太紧密了,一个坏了影响其他的)
soft   实现长连接挂载操作 (具有超时时间timeo=600秒) 对于架构而言,配置soft可以实现解耦 
proto  网络挂载时选择通讯协议(tcp可靠性高/udp效率性高)
atime  访问存储数据  →atime时间变化  →查看属性  →inode  →磁盘(IO) →磁盘性能下降访问存储数据时,会消耗磁盘IO,影响磁盘性能
*noatime   访问存储数据时,不要更改atime属性信息,不会消耗磁盘IO,减少磁盘性能消耗
diratime   访问存储目录时,会消耗磁盘IO,影响磁盘性能
*nodiratime访问存储目录时,不要更改目录atime属性信息,不会消耗磁盘IO,减少磁盘性能消耗           优化

在这里插入图片描述
在这里插入图片描述

存储服务权限说明:*****

1)存储服务端配置文件参数没有设置正确(rw/ro xxx_squash )
2)存储服务端存储目录本身权限配置问题
3)存储客户端挂载参数配置问题 (ro)就会造成无法存储
4)存储目录权限继承关系 (服务端配置文件中不要有目录层级配置)

在这里插入图片描述

06.存储服务企业应用

弃用NFS案例:如何解决NFS服务单点故障

读取数据时:弃用NFS服务(将存储数据和web服务器数据做同步),让用户读取web服务器本地数据

写入数据时:弃用NFS服务(写入数据到本地,将数据进行恢复同步),让用户写入web服务器本地数据

或者将实时备份服务中的data挂载到web服务器
有条件还是要使用分布式存储

07.实时同步服务概述

A主机 新的数据 ----实时同步---- B主机 数据备份
如何实现数据实时同步:

1)发现数据变化 inotify(监控软件)
2)进行数据备份 rsync

08.实时同步服务监控软件部署:

https://man.linuxde.net/inotifywait

存储服务器部署

第一个里程:安装监控数据变化的软件

条件:确认epel源可以使用

yum install -y inotify-tools
第二个里程:监控命令使用
[root@nfs01 ~ 12:06:07]$ rpm -ql inotify-tools
/usr/bin/inotifywait       ----监控数据变化命令
/usr/bin/inotifywatch    ----统计数据变化次数    添加 删除  修改
-m是要持续监视变化。
-r使用递归形式监视目录。
-q减少冗余信息,只打印出需要的信息。
-e指定要监视的事件列表。
--timefmt是指定时间的输出格式。
--format指定文件变化的详细信息。inotifywait  目录         默认只监控一次
[root@nfs01 ~ 12:07:16]$ inotifywait /data
Setting up watches.
Watches established.
/data/ OPEN 123.txt
实现永久监控目录中数据变化 inotifywait -m 目录
-m|--monitor     Keep listening for events forever. 保持永久监控   
实现目录中数据递归监控: inotifywait -rm 目录
-r|--recursive      Watch directories recursively.监控目录中子目录数据变化

利用脚本实现实时同步:notifywait + rsync
利用实时同步软件实现: sersync

可监听的事件
事件 描述
access 访问,读取文件。
modify 修改,文件内容被修改。
attrib 属性,文件元数据被修改。
move 移动,对文件进行移动操作。
create 创建,生成新文件
open 打开,对文件进行打开操作。
close 关闭,对文件进行关闭操作。
delete 删除,文件被删除。

09.知识总结:

1)存储服务配置参数
如何实现用户映射,保存数据
2)存储服务常用命令
showmount rpcinfo
3)存储服务客户端操作
如何进行挂载使用存储服务器(临时/永久挂载)
存储客户端挂载参数信息
4)存储服务器企业应用
弃用NFS方案
5)如何实现实时同步存储数据 inotify 监控数据变化的软件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_898130.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合架构网站实时同步

文章目录 01.知识概述部分02.知识回顾说明03.实时同步服务监控软件部署:存储服务器部署第一个里程:安装监控数据变化的软件第二个里程:监控命令使用 事件信息:inotify软件采用触发机制进行监控可监听的事件实现永久监控目录中数据…

web网站部署与优化--部署LAMP平台(手工编译安装优化apache、mysql、php脚本,在LAMP平台安装论坛服务)

文章目录 一、 手工编译安装apache服务二、手工编译安装MYSQL三、 手工编译安装php四、 在LAMP架构上安装一个论坛服务 一、 手工编译安装apache服务 首先将实现下载好的软件包拷贝到/opt目录下 [rootlocalhost ~]# cd /opt/ [rootlocalhost opt]# mkdir httpd [rootlocalhos…

web网站部署与优化--虚拟主机的构建实操(基于域名的构建、基于端口的构建、基于IP地址的构建)

文章目录 一、 虚拟主机概述二、 基于域名的虚拟主机2.1 构建虚拟主机步骤2.2 构建过程2.2.1 配置DNS服务器2.2.2 虚拟主机配置文件 三、 基于端口的虚拟主机四、 基于IP地址的虚拟主机 一、 虚拟主机概述 虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其…

web网站部署与优化--LNMP架构(手工编译安装优化nginx、mysql、php脚本,在LNMP平台安装论坛服务)

文章目录 一、 手工编译安装Nginx1.1 编译过程1.2 添加nginx系统服务 二、 手工编译安装mysql 5.7版本cmake过程中报错解决办法编译安装过程 三、手工编译安装phpphp配置文件让nginx支持php功能测试数据库是否正常工作 四、 在LNMP架构上搭建一个论坛服务 一、 手工编译安装Ngi…

Nginx网站服务( Nginx统计模块、Nginx访问控制、Nginx部署虚拟主机 )

文章目录 一、 统计模块验证二、 nginx虚拟主机的创建2.1 基于不同域名2.2 基于不同端口2.3 基于不同IP 三、 Nginx 访问控制3.1 基于授权的访问控制1.生成密码文件2.修改主配置文件对相应目录添加认证配置项 一、 统计模块验证 [rootlocalhost ~]# cd /opt 将软件包拷贝到当前…

网站架构部署与优化--NginxRewrite(Rewrite概述、Nginx 的正则表达式 、Rewrite 的语法 、 Rewrite应用实操)

文章目录 一、 NginxRewrite 概述1.1 Rewrite 跳转场景1.2 Rewrite 跳转实现1.3 Rewrite 实际应用场景 二、 Nginx 的正则表达式三、 Rewrite 语法3.1 flag 标记说明:3.2 Location 分类3.3 Location 优先级相同类型的表达式,字符串长的会优先匹配rewrite…

RHCE ---给openlab搭建web网站

首先先把防火墙关闭并且下载好ssl [rootlocalhost li]# systemctl stop firewalld[rootlocalhost li]# setenforce 0[rootlocalhost li]# yum install mod_ssl 1.基于域名www.openlab.com可以访问网站内容为welcome to openlab 先制作服务器证书 req -newkey rsa:4096 -node…

大型网站架构演进历程

大型网站架构演进历程 Web1.0 静态网站Web2.0应用服务和数据分离使用缓存改善网站性能使用应用服务器集群改善网站的并发处理能力数据库读写分离使用搜索引擎业务拆分分布式服务 Web1.0 静态网站 大型网站都是从小型网站发展起来的 网站架构也是一样 网站刚开始搭建处于雏形阶段…

18个优秀的在线图片编辑服务网站

18个优秀的在线图片编辑服务网站 作者:Jason Ng 说起编辑图片,可能大多数人都会马上想起强大的Photoshop。事实上,除了购买或下载盗版的PS之外,你还可以使用很多优秀在线图片编辑服务,这些网站大多数都是免费的。对于大部分的…

网站被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决

先来认识一下微信屏蔽的原理。按原理逐个攻破,整理如下:微信屏蔽的原理 一、微信系统的两个检测手段:第一是系统的自动检测;第二是微信工作人员的人工检测。 二、 人工的检测很好理解,有用户投诉举报,在多…

安全参透之旅第2章 FOCA网站元数据侦查工具

什么是元数据?就是有关数据的数据。它是有关特定数据集、对象或资源的描述性信息,包括所采用的格式及其创建时间和创建者。 对于参透测试人员,元数据可能很有用,因为它含有跟创建文件的系统有关的信息,比如&#xff1…

kali攻防第6章 SQLMAP介绍及ASP网站渗透

SQLMAP介绍及ASP网站渗透 准备工具 1、kali_linux系统 IP 10.10.10.131 3、Sqlpmap 入注工具 步骤: 1、 -u “检测是否存在注入” 返回数据库的名字 2、 3、 4、 参数解释: 1、user 根据经验 确定这是用户表 2、--columns 猜列表名 根…

kali攻防第7章 SQLMAP介绍之PHP网站渗透

SQLMAP介绍之PHP网站渗透 准备工具 1、KALI攻击系统IP :10.10.10.131 2、受害网站: 3、Sqlmap 入注工具 步骤: 1、检测:Sqlmap -u “” 2、sqlmap -u "" --is-dba 3、sqlmap -u “” --dbs 4、sqlmap -u “” --current-db …

python爬取动态网站实例——以爬取豆瓣电影分类排行榜为例

最近在编写 python 爬虫的时候,发现有时候爬取的网页和实际看到的效果不一致,经过各种搜索之后发现这时因为网页在加载的时候动态加载的结果,所以,为了可以获得相应的结果,需要模拟相应的请求。本文以 豆瓣电影排行榜 …

python爬取有声小说网站实现自动下载实例

最近想下载一些有声小说,但是苦于没有找到批量下载,每次都是单集单集的下载的,觉得很麻烦,就考虑用python写一个爬虫来实现自动搜集小说,自动下载。下面就是开始展开漫漫的爬虫之路。 基础的就不多说了,重…

如何拥有(建)一个自己的网站-虚拟主机建站

如何拥有(建)一个自己的网站-基础 如何拥有(建)一个自己的网站-准备 1.拥有一个虚拟主机 2.登录进入虚拟主机 3.点击进入域名绑定 域名绑定相当于让主机认可来自域名的访问,同时认可它访问主机上存放的内容。 服务器建站也有类似操作。 点击确定 即可 4.域名解析…

如何拥有(建)一个自己的网站-服务器建站

如何拥有(建)一个自己的网站-基础 如何拥有(建)一个自己的网站-准备 上面是一些需要知道的东西 1.拥有一台服务器 可以前往各大厂商购买,比方说腾讯云,阿里云等等,就不推荐了。 2.服务器可以选Linux系统 这里用Debian演示 3.SSH连接到服…

Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例(三)统计分析:…

Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例(三)统计分析&#xff1a…