运维SRE-12 存储服务

## 文件校验-md5
使用md5sum 对文件创建md5值,对方收到文件后进行校验并对比.
创建md5并自动对比
echo hbinz > hb.txt
md5sum hb > hb.md5
md5sum -c hb.md5

echo > hb.txt
md5sum -c hb.md5

昨日备份项目脚本修改

客户端:

#1.1 创建指纹
find /backup -type f -name "*.tar.gz" |xargs md5sum >/backup/$ip/$ip.md5

服务端:

#发送邮件
md5sum -c /backup/*/*.md5 |mailx -s '每日备份结果' 1542293291@qq.com

1.综合架构-第2个服务-存储服务

存储:一般用来存放用户上传的数据.eg:视频,图片,上传附件...头像..

1.1 为何要用存储

  • 如果不使用存储服务
  • 如果使用存储服务
如果没有共享存储如果没有共享存储服务器
用户上传的文件只会存放在某一台网站服务器上(web)
导致用户再次访问的时候可能失败
如果有共享存储如果使用共享存储
有web服务器只需要把存储挂载到本地
用户上传/下载/查看把数据写入到存储服务器中.

在这里插入图片描述

1.2 存储服务常用软件:

共享存储
硬件Dell EMC/华为/联想
开源NFS(网站文件系统)、Ceph(分布式存储)、GlusterFS(GFS)、FastDFS…
云服务器NAS(类似于NFS)、OSS(类似于Ceph)

NFS原理

1)核心原理
在这里插入图片描述

NFS服务端:
	RPC服务
	NFS服务
NFS客户端:
Mount命令挂载使用nfs服务端

2)扩展原理
在这里插入图片描述

快速上手指南

0)搭建概述
在这里插入图片描述

1)NFS服务端准备
a)部署rpc,nfs

1.部署nfs
yum install -y nfs-utils rpcbind

b) 启动rpc,nfs

systemctl enable rpcbind
systemctl start rpcbind

systemctl enable nfs
systemctl start nfs

rpcinfo -p 

在这里插入图片描述

c)配置

vim /etc/exports
#共享/nfsdata/目录
/nfsdata 172.16.1.0/24(rw)
#172.16.1.0/24网段对 nfs服务端的/nfsdata目录 拥有读写权限
systemctl reload nfs
---------------------------------
Showmount-e是一个命令行工具,它可以用于查询NFS服务器上挂载的文件系统。它可以列出NFS服务器上所有已经导出的文件系统,以及它们的客户端信息。
----------------------------------
[root@nfs01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/nfsdata 172.16.1.0/24

d)创建共享目录,修改所有者

4. 创建共享目录,修改所有者
mkdir -p /nfsdata 
chown nfsnobody.nfsnobody   /nfsdata

***推荐使用优雅的重启,reload,不是所有服务都支持的.nfs,nginx.
服务要已经运行才能用reload.

e)本地挂载测试

mount -t nfs 172.16.1.31:/nfsdata /mnt/
df -h
[root@nfs01 /]# df -h
文件系统                                容量  已用  可用 已用% 挂载点
devtmpfs                                475M     0  475M    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/mapper/centos_hb--sre--muban-root   17G  2.1G   15G   12% /
/dev/sda1                              1014M  138M  877M   14% /boot
tmpfs                                    98M     0   98M    0% /run/user/0
172.16.1.31:/nfsdata                     17G  2.1G   15G   12% /mnt

2)NFS客户端

yum -y install nfs-utils
mkdir -p /upload
mount -t nfs 172.16.1.31:/nfsdata /upload/
df -h
文件系统                                容量  已用  可用 已用% 挂载点
devtmpfs                                2.0G     0  2.0G    0% /dev
tmpfs                                   2.0G     0  2.0G    0% /dev/shm
tmpfs                                   2.0G   12M  2.0G    1% /run
tmpfs                                   2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos_hb--sre--muban-root   17G  2.0G   15G   12% /
/dev/sda1                              1014M  138M  877M   14% /boot
tmpfs                                   394M     0  394M    0% /run/user/0
172.16.1.31:/nfsdata                     17G  2.1G   15G   12% /upload

a)测试

web01:
cd /upload
touch hb{01..10}.txt

nfs01:
cd /nfsdata
[root@nfs01 /nfsdata]# ll
总用量 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb01.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb02.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb03.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb04.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb05.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb06.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb07.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb08.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb09.txt
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 17 12:56 hb10.txt

成功挂载,客户端生成,删除都会影响nfs服务端的目录
3)nfs服务端与客户端实战小结

搭建使用:
nfs服务端,配置文件,重启
nfs客户端,需要安装nfs软件,不需要启动,mount -t 指定文件系统类型
辅助命令:属于nfs-utils软件包
	rpcinfo -p  查询rpc服务状态
	showmount -e ip 查看指定nfs服务器共享了哪些目录和具体情况

nfs服务端详解

1)配置文件格式
在这里插入图片描述

2)NFS服务端其他配置-用户压缩系列
NFS服务端的用户压缩,映射:客户端通过各种用户访问NFS服务端,到了NFS服务端用户被转换为nfsnobody

NFS服务端配置文件
rw可以读写
ro只读read-only
anonuidanonuid指定匿名用户的uid
anongidanongid指定匿名用户的gid
root_squash默认的NFS服务端选项:只对root进行压缩,压缩为匿名用户
no_root_squash默认的NFS服务端选项:其他用户不压缩,保持原有用户.
all_squash所有用户到了NFS服务端都被压缩为指定虚拟用户.
sync同步:用户上传到nfs的数据,实时写入磁盘中
async异步:用户上传到nfs的数据,过一段时间写入磁盘中
同步与异步:未来在网站优化中会提到. 未来优化的方向:尽量让用户的请求往前推(让用户没访问到网站就得到了想要的内容,利用各种缓存.)

a)测试anonuid,anongid

1.创建虚拟用户www ,uid/gid一致。都创建
useradd -u 1111 -s /sbin/nologin -M www

vi /etc/exports
/data/	172.16.1.0/24(rw,anonuid=1111,anongid=1111)

2.重新加载nfs
systemctl reload nfs

3.创建/data目录
mkdir -p /data
chown www.www /data

4.web01操作
mount 172.16.1.31:/data /mnt
df -h
[root@web01 ~]# df -h
文件系统                                容量  已用  可用 已用% 挂载点
devtmpfs                                2.0G     0  2.0G    0% /dev
tmpfs                                   2.0G     0  2.0G    0% /dev/shm
tmpfs                                   2.0G   12M  2.0G    1% /run
tmpfs                                   2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos_hb--sre--muban-root   17G  2.0G   15G   12% /
/dev/sda1                              1014M  138M  877M   14% /boot
tmpfs                                   394M     0  394M    0% /run/user/0
172.16.1.31:/nfsdata                     17G  2.1G   15G   12% /upload
172.16.1.31:/data                        17G  2.1G   15G   12% /mnt

5.测试
touch /mnt/hb.txt
nfs01:
ll /data
[root@nfs01 /data]# ll
总用量 0
-rw-r--r-- 1 www www 0 10月 18 02:12 hb.txt

b)测试 all_squash并压缩到指定用户

1.配置
cat /etc/exports
#共享/nfsdata目录
/nfsdata 172.16.1.0/24(rw) ##172.16.1.0/24网段对 nfs服务端的/nfsdata目录 拥有读写权限
/data 172.16.1.0/24(rw,all_squash,anonuid=1111,anongid=1111)

2.重加载nfs
systemctl reload nfs

3.检查配置
cat /var/lib/nfs/etab
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=1111,anongid=1111,sec=sys,rw,secure,root_squash,all_squash)
/nfsdata	172.16.1.0/24(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)

4.删除文件测试
[root@web01 /]# rm -rf /mnt/hb.txt
ok

c)用户压缩图解
在这里插入图片描述

3)服务端配置文件

NFS服务端配置文件
rw可以读写
ro只读read-only
anonuidanonuid指定匿名用户的uid
anongidanongid指定匿名用户的gid
root_squash默认的NFS服务端选项:只对root进行压缩,压缩为匿名用户
no_root_squash默认的NFS服务端选项:其他用户不压缩,保持原有用户.
all_squash所有用户到了NFS服务端都被压缩为指定虚拟用户.
sync同步:用户上传到nfs的数据,实时写入磁盘中
async异步:用户上传到nfs的数据,过一段时间写入磁盘中
同步与异步:未来在网站优化中会提到. 未来优化的方向:尽量让用户的请求往前推(让用户没访问到网站就得到了想要的内容,利用各种缓存.)

4)客户端配置文件

配置文件:/etc/exports 及格式
日志(类似nfs服务端共享的目录及共享选项:/var/lib/nfs/etab (exports table))
NFS服务端核心配置: rw,ro,all_squash,anonuid,anongid

1.6 NFS客户端选项(mount)

mount命令选项
-t指定文件系统类型.-t nfs xfs ext4 iso9660(光盘) loop(dd创建文件)
-o指定挂载选项:
nodev,noexec,nosuid 安全挂载的选项,防止人员上传病毒/目录并执行
rw,remount

1)安全选项
限制之前

cp /bin/whoami /upload/du
cd /upload
./du

限制之后

umount /upload
重新挂载
mount -t nfs -o noexec,nodev,nosuid 172.16.1.31:/nfsdata /upload/
./du
-bash: ./du: Permission denied

2)故障案例-文件系统只读

  • 故障背景/现象: 日常操作Linux系统突然发现,创建文件的时候,命令行提示: Read-only File system (只读文件系统)
  • 排查过程:
    • 发现非人为设置ro.
    • 极可能是linux系统问题/etc/fstab修改文件(配置文件),磁盘故障(硬件).
    • mount -o rw,remount / 重新挂载对应的磁盘分区,挂载为rw权限.
    • 需要进入单用户或救援模式,修改或恢复/etc/fstab.
    • 备份数据.
  • 结果:
    • 解决故障.

NFS永久挂载

客户端:
# 方法01
挂载命令写入到/etc/rc.local并给x权限给rc.local
# 方法02
1.修改/etc/fstab配置
172.16.1.31:/nfsdata	/upload	nfs	defaults	0	0
需要remote-fs 服务运行
2.systemctl status remote-fs.target
  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux运维Linux system administration)是指对Linux操作系统进行配置、管理和维护的技术工作。Linux运维人员是企业或组织中负责Linux服务器管理的专业人员。他们负责安装、配置、监控、升级、维护和故障排除等工作,保证Linux服务器的稳定运行和安全性。Linux运维人员需要熟悉Linux操作系统的基本原理和常用命令,熟悉网络、存储和安全等方面的知识,具备故障排除和问题解决的能力。 SRE(Site Reliability Engineering)是一种将软件工程方法应用于系统运维的理念和实践。SRE的目标是通过自动化和团队合作的方式提高系统的可靠性和可维护性。SRE工程师需要将软件开发和运维的技能结合起来,通过编写代码和建立自动化工具来管理系统,并不断改进系统的稳定性和性能。SRE还需要具备故障排除和问题解决的能力,能够快速响应和恢复系统故障。 云计算(cloud computing)是一种基于互联网的计算模式,通过将应用程序和数据存储在云端的服务器上,实现资源的共享和按需使用。云计算可以提供可扩展的计算能力、存储空间和服务,为用户提供灵活性、可靠性和经济性等优势。云计算包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)等不同层次的服务模式。云计算还涉及虚拟化、容器化和自动化等技术,能够实现资源的动态分配和管理。 以上是关于Linux运维、SRE和云计算的基本介绍。这些领域的技术和知识在当前信息技术领域具有重要的应用和发展前景,对于提高系统的稳定性、性能和可靠性,以及提高企业的效率和竞争力都具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值