期中架构-第三章-存储服务笔记

期中架构-第三章-存储服务笔记
======================================================================
01. 课程回顾
备份服务概念介绍(rsync备份服务利用相应算法,实现增量数据同步)
备份服务工作方式说明:
1.本地数据备份同步方式(类似cp命令)
2.远程数据备份同步方式(类似scp命令)
3.守护进程方式备份同步

备份服务器守护进程部署
1.服务端部署流程
2.客户端部署流程
备份服务配置文件与命令参数说明(man rsyncd.conf man rsync)
备份服务扩展应用实践
1.实现rsync服务多个模块配置
2.实现rsync服务数据同步过滤功能(排除功能--exclude)
3.实现rsync服务访问策略控制(hosts allow 白名单 hosts deny 黑名单)
4.实现rsync服务无差异同步功能(-delete)
5.实现rsync服务客户端创建备份目录信息
6.实现rsync模块信息列表显示(/etc/rsyncd.conf配置文件中的list=true,为了安全性考虑,建议改为list = false)

02. NFS共享存储服务开篇介绍
共享服务是什么?
NFS是Network File System的缩写,中文意思是网络文件系统,
它的主要功能是利用网络(一般是局域网),让不同的主机系统之间可以共享文件或目录

NFS共享储存服务的应用:
将数据存储到一台服务器上,实现数据统一一致,共享访问
NFS服务器主要储存哪些信息:用户的图片、音频、视频、附件等等
NFS服务分为服务端和客户端
储存服务器=NFS服务端 web网站服务器=NFS客户端

实现共享存储的好处:
01.实现数据统一一致
02.节省网站磁盘空间
03.节省网站访问带宽

NFS共享储存服务的原理:
01.nfs服务端创建共享储存目录
02.nfs客户端创建远程挂载点目录
03.nfs客户端进行远程挂载
04.实现客户端数据信息统一一致


共享文件系统的工作原理(服务端3步 客户端3步)
服务端做了三件事:
1. 启动rpcbind服务,创建中介
2. 启动nfs服务,创建房源信息
3. 将房源信息向中介进行注册,在nfs服务稳定运行过程中,房源信息只注册一次

客户端做了三件事:
1. 启动rpcbind服务(可选)
2. 确保客户端和服务端网络连接建立成功
3. 执行mount命令进行网络存储挂载

03. NFS服务重要概念说明
NFS共享文件系统RPC服务介绍
NFS共享文件系统RPC服务由来


04. NFS服务部署实践过程
##########################################################################3
NFS服务端部署流程:
第一个里程:检查服务软件是否安装
[root@nfs01 ~]# rpm -qa|grep -E "rpcbind|nfs-utils"

第二个里程:安装服务软件,并重新检查服务软件是否安装成功
[root@nfs01 ~]# yum install rpcbind nfs-utils -y
[root@nfs01 ~]# rpm -qa|grep -E "rpcbind|nfs-utils"
补充说明:rpcbind 和 nfs-utils 两个大礼包中的重要文件
[root@nfs01 ~]# rpm -ql rpcbind (查看文件安装包内容命令)
/etc/rc.d/init.d/rpcbind (rpc服务启动文件地址)
/usr/sbin/rpcinfo (检查nfs服务向rpc服务的注册信息命令)

[root@nfs01 ~]# rpm -ql nfs-utils
/etc/rc.d/init.d/nfs (nfs服务启动文件地址)
/usr/sbin/showmount (检查nfs服务共享目录信息)

第三个里程:编写nfs服务配置文件
[root@nfs01 ~]# ll /etc/exports
-rw-r--r--. 1 root root 0 Jan 12 2010 /etc/exports
[root@nfs01 ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync)


第四个里程碑:创建共享目录,并设定文件权限参数
[root@nfs01 ~]# mkdir /data
[root@nfs01 ~]# chown -R nfsnobody:nfsnobody /data/

第五个里程碑:启动nfs和rpc服务
[root@nfs01 ~]# /etc/rc.d/init.d/rpcbind start (必须先启动rpc服务)
[root@nfs01 ~]# /etc/rc.d/init.d/nfs start (其次启动nfs服务)


第六个里程碑:检查服务配置信息
先检查房源信息是否注册
rpcinfo -p 172.16.1.31
检查是否存在可用的共享目录
[root@nfs01 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 172.16.1.0/24


至此服务端部署完成
############################################################################################
NFS客户端部署流程:
第一个里程碑:检查服务软件是否安装
rpm -qa|grep -E "rpcbind|nfs-utils"

第二个里程:安装服务软件,并重新检查服务软件是否安装成功
yum install rpcbind nfs-utils -y
rpm -qa|grep -E "rpcbind|nfs-utils"


第三个里程:进行共享目录挂载
[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.6G 91G 2% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
172.16.1.31:/data 98G 1.6G 91G 2% /mnt


第四个里程碑:进行数据共享测试
[root@web02 ~]# cd /mnt/
[root@web02 mnt]# touch test.txt
[root@web02 mnt]# ll
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May 10 14:15 test.txt


[root@nfs01 ~]# ll /data/
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May 10 14:15 test.txt


[root@web01 ~]# ll /mnt/
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May 10 14:15 test.txt

说明:在web02的mnt目录中创建的数据,在nfs和web01服务器上都可以看到,即已经实现数据共享存储

至此nfs客户端部署完成
###############################################################################################

 

05. NFS服务部署进程信息详述
[root@nfs01 ~]# ps -ef |grep -E "rpc|nfs"
rpc 3308 1 0 14:21 ? 00:00:00 rpcbind
root 3362 2 0 14:23 ? 00:00:00 [rpciod/0]
root 3371 1 0 14:23 ? 00:00:00 rpc.rquotad <<-------磁盘限额进程(remote quote server)
root 3376 1 0 14:23 ? 00:00:00 rpc.mountd <- 权限管理验证等(NFS mount daemon)
root 3383 2 0 14:23 ? 00:00:00 [nfsd4]
root 3384 2 0 14:23 ? 00:00:00 [nfsd4_callbacks]
root 3385 2 0 14:23 ? 00:00:00 [nfsd]
root 3386 2 0 14:23 ? 00:00:00 [nfsd] <- NFS主进程
root 3387 2 0 14:23 ? 00:00:00 [nfsd] <- NFS主进程
root 3388 2 0 14:23 ? 00:00:00 [nfsd] <- NFS主进程,管理登入,ID身份判别等。
root 3389 2 0 14:23 ? 00:00:00 [nfsd]
root 3390 2 0 14:23 ? 00:00:00 [nfsd]
root 3391 2 0 14:23 ? 00:00:00 [nfsd]
root 3392 2 0 14:23 ? 00:00:00 [nfsd]
root 3423 1 0 14:23 ? 00:00:00 rpc.idmapd <- name mapping daemon用户压缩/用户映射(记录)###重点####
root 3557 3541 0 15:56 pts/0 00:00:00 grep -E rpc|nfs
[root@nfs01 ~]#



06. NFS共享文件系统用户映射过程说明

 

 


07. NFS共享文件系统配置文件格式说明
/data 172.16.1.0/24(rw,sync)
共享目录:
为NFS服务服务器端要共享的实际目录,必须为绝对路径格式如(/data)
注意共享目录的本地权限,如果需要读写共享,一定要让本地目录可以被NFS的客户端用户(nfsnobody)读写
NFS客户端地址:
必须和共享目录保持一个空格,是由NFS服务端授权可访问的一个NFS客户端地址,可以是一个单独的IP地址或者是域名,也可以是整个网段。
还可以用“*”来匹配所有客户端服务器,这里指的客户端,一般是指前端的业务的业务服务器。
权限参数集
对授权的NFS客户端的访问权限设置。
 nfs权限(共享目录【借给你手机】) nfs配置的/etc/exports /data 172.16.1.0/24(rw)
 本地文件系统权限(【手机密码不告诉你】) 挂载目录的权限rwxr-xr-x root root /data

 

08. NFS共享文件系统配置文件案例说明
配置列一: /data 10.0.0.0/24(rw,sync)
说明:允许客户端读写,并且将数据同步写入服务端磁盘中
注意:“24”和“(”之间不得有空格

配置例二 /data 10.0.0.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)
说明:允许客户端读写,并且将数据同步写入服务端的磁盘中,并指定客户端的UID和GID为2000
早期生产环境的一种配置,适合多客户端共享一个NFS服务单目录,
如果所有服务器的nfsnobody账户UID都是65534,则本例没什么必要了。
早期centos5.5的系统默认情况下nfsnobody的UID不一定是65534,此时如果这些服务器共享一个NFS目录,
就会出现访问权限问题。


配置例三 /home/oldboy 10.0.0.0/24(ro) <-- 是为开发人员想查看线数据准备配置方式
说明:只读共享
用途:例如在生产环境中,开发人员有查看生产服务器日志的需求,但又不希望给开发生产服务器的权限,
那么就可以给开发提供从某个测试服务器NFS客户端上查看某个生产服务器的日志目录(NFS共享)的权限,
当然这不是唯一的方法,
例如可以把程序记录的日志发送到测试服务器供开发查看或者通过收集日志等其它方式展现


补充说明:共享改完NFS共享文件权限参数,都需要重启一下服务 [root@nfs01 ~]# /etc/init.d/nfs reload


09. NFS共享文件系统配置文件参数设置
参见视频中表格说明

 

 

 

 




10. NFS共享文件系统权限参数设置梳理
1)NFS服务端/etc/exports需要开放可写入权限,即开放服务端的共享权限
2)NFS服务端上的实际共享目录要具有w权限,即服务端本地目录的安全权限
3)每台机器上都要存在对应和NFS默认配置中相同的UID 65534的nfsnobody用户
(确保所有客户端的访问权限统一,否则每个机器需要同时建立相同UID的用户,并覆盖NFS的默认用户配置)


11. NFS共享文件系统相关重要文件说明
/etc/exports 服务端上NFS服务主配置文件
/usr/sbin/showmount 可用来查看服务端上的共享目录信息,通常是在客户端上使用的命令
/usr/sbin/rpcinfo 在服务端上用来查看NFS服务在rpc服务中的端口注册信息
/var/lib/nfs/etab 在服务端上查看NFS服务默认配置信息,仅用来查看,要改变NFS服务配置信息,还是需要修改/etc/exports 主配置文件

/proc/mounts nfs客户端mount挂载参数(可以查看默认挂载参数信息)

posted @ 2020-05-10 22:03  王子建  阅读(136)  评论(0)    收藏  举报