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

01.知识概述部分

1)存储服务概述接收
2)存储服务存储原理
3)存储服务部署过程
4)存储服务配置文件
5)存储服务相关命令
6)存储服务客户端配置 mount
7)存储服务企业应用

02.知识回顾说明

1.备份服务常用的参数 (-avz)

z     表示的是压缩同步数据
v  	  表示显示
a  	  归档模式  (rlptgoD)
r     递归传输目录
l     备份软链接文件          L 软链接文件的真实数据信息
p     保持文件权限属性不变    P 显示数据传输进度信息
t     保持文件修改时间不变
g     保持文件属组信息不变 (root用户)、
o     保持文件属主信息不变 (root用户)
D     备份设备文件信息

2 备份服务企业的应用

1.多模块备份数据 (数据隔离)
[sa_backup]
[dev_backup]

2.备份目录中创建子目录 (备注)

rsync /oldboy/ rsync_backup@172.16.1.41::backup/子目录/

PS 子目录后不能创建多级目录

3.排除指定数据不要进行同步

--exclude  --exclude-from 

4.免密码进行备份数据

chmod 600 /rsync.password
rsync /oldboy/ rsync_backup@172.16.1.41::backup --password-file=/rsync.password      

5.无差异备份数据

--delete  

6.限速备份数据

--bwlimit   

7.备份服务访问控制 (白名单 黑名单)

hosts allow
hosts deny

总结:精通备份服务 rsync
1)备份服务部署过程
2)备份服务配置参数 man rsyncd.conf
3)备份服务命令参数

03.存储服务概述介绍

在这里插入图片描述
NFS是Network File System的缩写,中文意思是网络文件系统,
主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录

互联网中小型网站集群机构后端常用NFS进行数据共享 (新华日报)
大型网站,那么有可能还会用到更复杂的分布式文件系统,例如:Moosefs(mfs)、GlusterFS(*)、FastDFS
https://blog.51cto.com/13555423/2082796Mfs分布式文件系统详解
在这里插入图片描述

NFS发展历史
总结: 没有NFS共享存储时,实现数据统一存储会非常复杂

示例:

A 主机本地保存数据目录 /A_data 部署rsync服务
图片A 19:00 传输到A主机上 19:01 数据同步
编写定时任务 每分钟
rsync -az /A_data/ --delete rsync_backup@172.16.1.2::B_data --password-file=/etc/rsync.password
rsync -az /A_data/ --delete rsync_backup@172.16.1.3::C_data --password-file=/etc/rsync.password

B 主机本地保存数据目录 /B_data 部署rsync服务
图片B 19:01 传输到B主机上 19:02 数据同步
编写定时任务 每分钟
rsync -az /B_data/ --delete rsync_backup@172.16.1.1::A_data --password-file=/etc/rsync.password
rsync -az /B_data/ --delete rsync_backup@172.16.1.3::C_data --password-file=/etc/rsync.password

C 主机本地保存数据目录 /C_data 部署rsync服务
编写定时任务 每分钟
rsync -az /C_data/ --delete rsync_backup@172.16.1.1::A_data --password-file=/etc/rsync.password
rsync -az /C_data/ --delete rsync_backup@172.16.1.2::B_data --password-file=/etc/rsync.password

存储数据 A(10G) --> A服务器 (30G 300元) B(10G) —> B服务器(10G 300元) C(10G) —> C服务器(10G 300元) 900元
A 服务器 (10G)100
B 服务器 (10G)100 存储服务器 30G 300 磁盘成本 600
C 服务器 (10G)100

存储服务器存在意义:

1)实现数据统一存储
2)节省磁盘购买成本

04.存储服务存储原理

在这里插入图片描述

1)存储数据原理

a 在存储客户端创建本地存储数据目录
b 在存储服务端创建共享存储数据目录
c 实现客户端目录和存储目录建立挂载
客户端目录中操作数据等价于存储服务器目录中操作数据

05.存储服务部署过程

预备知识:rpcbind rpc ---- 远程过程调用服务程序 (类似于中介)

在这里插入图片描述

在这里插入图片描述

NFS如果没有中介服务,一启动会显示很多不同的服务进程,端口号随机,有了中介服务rpc就可以直接连接111端口,方便管理

服务端部署过程:

第一个里程:安装软件程序
yum install -y rpcbind  nfs-utils
[root@nfs01 ~]# rpm -qa rpcbind
rpcbind-0.2.0-48.el7.x86_64
[root@nfs01 ~]# rpm -qa nfs-utils
nfs-utils-1.3.0-0.65.el7.x86_64
第二个里程:编辑配置文件
 (man exports)
 
EXAMPLE                 例子
# sample /etc/exports file   /etc/exports文件示例
/               master(rw) trusty(rw,no_root_squash) 主(rw)可靠的(rw, no_root_squash)
/projects       proj*.local.domain(rw)  /项目项目* .local.domain (rw)
/usr            *.local.domain(ro) @trusted(rw)
/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)
/pub            *(ro,insecure,all_squash)
/srv/www        -sync,rw server @trusted @external(ro)
/foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
 /build          buildhost[0-9].local.domain(rw)

       The first line exports the entire filesystem to machines master and trusty.  In addition to write  access,  all
第一行将整个文件系统导出到主机和可靠的机器。除了写访问,所有
       uid  squashing  is  turned off for host trusty. The second and third entry show examples for wildcard hostnames
uid压缩为主机可靠关闭。第二个和第三个条目展示了通配符主机名的示例
       and netgroups (this is the entry `@trusted'). The fourth line shows the entry for the PC/NFS  client  discussed
和netgroups(这是条目“@trusted”)。第4行显示了所讨论的PC/NFS客户机的条目
       above.  Line  5  exports  the public FTP directory to every host in the world, executing all requests under the
以上。第5行将公共FTP目录导出到世界上的每个主机,执行
       nobody account. The insecure option in this entry also allows clients with NFS implementations that don't use a
没有人账户。此条目中的不安全选项还允许使用NFS实现的客户端不使用
       reserved  port  for  NFS.  The sixth line exports a directory read-write to the machine 'server' as well as the
为NFS保留端口。第6行将目录的读写导出到机器“服务器”和
       `@trusted' netgroup, and read-only to netgroup `@external', all three mounts with the  `sync'  option  enabled.
' @trusted' netgroup和' @external'为只读,这三个选项都启用了' sync'选项。
       The seventh line exports a directory to both an IPv6 and an IPv4 subnet. The eighth line demonstrates a charac‐
       ter class wildcard match.
第七行将目录导出到IPv6和IPv4子网。第八行显示一个字符‐ter类通配符匹配。

vim /etc/exports 
/data web*(rw) 
/data db*(ro)            (也可以写成网段172.16.1.0/24(rw))

systemctl restart nfs

配置文件样例:

/projects     proj*.local.domain(rw)
/usr            *.local.domain(ro) @trusted(rw)
1                2             3        
1.设置定义数据存储目录
2.定义允许哪些主机存储数据   支持通配符识别
定义网段信息  定义地址信息  定义主机名称信息
web*
3.定义存储数据参数
第三个里程:创建存储目录并更改属主属组信息
id nfsnobody  用户是安装nfs软件生成的,使用该用户往目录里存储数据

mkdir /data
chown nfsnobody.nfsnobody  /data
第四个里程:编写本地解析配置文件
vim /etc/hosts
172.16.1.7   web01
172.16.1.8   web02
172.16.1.9   web03
第五个里程:启动服务程序
systemctl start rpcbind 
systemctl enable rpcbind 
systemctl start nfs
systemctl enable nfs
检查确认:netstat -lntup|grep 111      默认只监听tcp,但可以调整

客户端部署过程:

需要部署出三台web服务器

第一个里程:下载安装软件
yum install -y   nfs-utils
第二个里程:挂载应用存储设备服务
mount -t nfs 172.16.1.31:/data /mnt     

umount  -lf   /mnt       懒惰卸载,强制卸载挂载点

06.存储服务配置文件 (参数)

rw    ---- 是否允许向存储目录中存储数据  存储目录可读可写   默认不允许
ro    ---- 是否允许向存储目录中存储数据  存储目录只读状态   默认

async ---- 异步传输数据  客户端(存储数据)   ----服务端  内存  ---- 服务端(磁盘)   默认
安全性降低
sync   ---- 同步传输数据  客户端(存储数据)   ----服务端 (磁盘)
root_squash         ---- 是否将用户信息做映射转换   将root用户身份进行转换
(默认转换为nfsnoboday)
no_root_squash      ---- 是否将用户信息做映射转换   将root用户身份不做转换
all_squash          ---- 是否将用户信息做映射转换   将普通用户身份进行转换
(默认转换为nfsnoboday)
*no_all_squash      ---- 是否将用户信息做映射转换   将普通用户身份不做转换

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限

配置文件中有些参数信息不配置,默认是什么配置信息?

常见存储问题:

1) 客户端存储目录 和 服务端存储目录中数据不一致 孙豪序
在挂载点目录中进行了挂载操作
建议在进行挂载操作时,要在挂载点以外目录进行操作

2) yum安装软件报错 ???
CentOs yum安装软件出现Error: database disk image is malformed
解决方式:
yum clean metadata
yum clean dbcache
yum makecache

3) 无法实现挂载操作
mount.nfs: access denied by server while mounting 10.0.0.31:/data
服务端拒绝客户端进行挂载
原因:
1) 配置文件中允许网段 或者主机 或者域名信息 没有匹配相应客户端
2) 配置文件中指定存储目录 和 挂载存储目录不匹配

作业:

01.4个aquash配置参数,应该应用哪两个参数最好
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限

02.全网备份项目
03.预习客户端挂载参数 nfs服务有关文件命令
04.预习下周内容
周一:存储服务后续内容/实时同步服务
周二:实时同步服务
周三:全网备份项目
周四:远程服务 ssh
周五:ansible批量管理程序
周六:ansible批量管理程序
周日:ansible批量管理程序

知识梳理总结

1)存储服务概念介绍
a 实现数据共享存储
b 节省网站磁盘成本
2)存储服务工作原理
a 存储数据简单原理
b 存储数据用户映射原理
3)存储服务部署流程
了解 rpc服务或者协议 有什么作用 中介服务
服务端部署流程: 安装软件 – 配置文件(exports)-- 创建存储目录(授权)-- 启动服务
客户端部署流程: 安装软件(nfs-utils) — 网络挂载操作
4)存储服务配置文件
配置文件格式信息 3个部分 ① ②③
配置文件参数信息 ro rw sync async xxx_squash anonuid/anongid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值