-
课程知识回顾部分
1.rsync常见的错信息
2.存储服务概念
作用:
1.实现数据共享存储
2.实现数据是统一管理
3.实现运营成本节约
原理:
1.服务端设置共享存
2.客户端进行挂载- 客户端存储数据==服务端设置共享存储
实现方式: 中小企业:
NFS 网络文件系统 本地磁盘不保存数据
FTP 文件传输协议 本地磁盘保存数据
samba 共享文件
大型企业:fastDFS
3.存储服务部署流程:
服务端部署:
1.检查是否有软件程序安装
rpm -qa | grep -E "rpc|nfs"
yum -y install rpcbind nfs-utils
2.编写配置文件
vim /etc/exports
目标目录 白名单(权限)
3.mkdir /data
chown -R nfsnobody.nfsnobody /data
4.启动服务
systemctl start rpcbind
systemctl enable rpcbind
客户端部署流程:
1.安装软件程序
yum -y install nfs-utils
2.检查是否有共享目录
showmount -e 172.16.1.31
3.进行远程挂载
mount -t nfs 172.16.1.31:/data/ /mnt
df -h - 客户端存储数据==服务端设置共享存储
-
网站存储服务配置文件参数信息
-
存储配置文件格式信息
/data 172.16.1.0/24(rw,sync)
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)/data 172.16.1.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync) 存储配置文件参数说明
rw --- 让存储共享目录权限为读写权限
ro --- 让存储共享目录权限为只读权限
sync --- 同步传输数据信息 存储数据方式 数据 --> 服务器 --> 磁盘中存储
用户存储数据 ---> web服务器(和nfs挂载) ---> nfs存储服务器(存储在磁盘)
async --- 异步传输数据信息 存储数据方式 数据 --> 服务器 --> 内存(缓冲) --> 磁盘中存储
用户存储数据 ---> web服务器(和nfs挂载) ---> nfs存储服务器(存储在内存--磁盘中)
all_squash --- 让所有用户都做映射 都映射为默认的nfsnobody
no_all_squash --- 让所有用户都不做映射 原来是什么用户,数据传输过来还是什么用户信息 默认配置
root_squash --- 让root用户做映射 将root用户映射为默认的nfsnobody 默认配置
no_root_squash --- 让root用户不做映射
anonuid --- 修改默认映射用户信息
anongid --- 修改默认映射用户组信息
总结: 影响数据存储因素
- 配置文件参数信息
- 存储目录本身权限 权限755 属主
- 父级目录权限到子集目录权限继承关系
- 客户端挂载参数
测验练习题:
nfs服务端
/data/r 权限只读 同步方式传输数据 所有用户都做映射
/data/w 权限读写 异步方式传输数据 所有用户都做映射编写配置文件
/data/r 172.16.1.0/24(ro,sync,all_squash)
/data/w 172.16.1.0/24(rw,async,all_squash)
PS: 服务端配置文件中, 共享目录设置尽量不要有父级和子级关系nfs客户端:
web01 挂载点 /data/r --- 共享目录/data/r
backup 挂载点 /data/w --- 共享目录/data/w -
-
服务端重要文件信息说明:
/etc/exports --- nfs服务端配置文件信息
/usr/sbin/showmount --- 检查是否存在共享目录信息
/usr/sbin/rpcinfo --- 确认服务端nfs服务是否向rpc服务进行注册
/usr/sbin/exportfs --- 重启nfs服务(平滑重启) exportfs -rv
/var/lib/nfs/etab --- 记录nfs默认配置参数信息
/proc/mounts --- 记录客户端挂载参数信息==============================================================
补充: 平滑重启/重启
平滑重启:- 链路中没有数据传输, 会将链路进行断开,重新建立
- 链路中存在数据传输, 会等待数据传输完毕, 断开连接, 重新建立
重启: - 链路中无论是否有数据传输, 会将链路强制断开,重新建立连接
补充: nfs默认配置参数信息
cat /var/lib/nfs/etab
/data/w 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)
/data/r 172.16.2.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,ro,secure,root_squash,no_all_squash)
============================================================== -
存储服务客户端操作
如何进行存储服务挂载
a 手动挂载方式:
mount -t nfs 172.16.1.31:/data /mnt
b 自动挂载方式:
第一种方式: 利用fstab文件 (开机挂载网络存储设备,是有条件)
centos6: 启动顺序 先加载/etc/fstab文件 然后在启动相关服务程序(network)
先设置 netfs服务开机自动启动centos7: 启动顺序 先加载/etc/fstab文件 然后在启动相关服务程序(network)
先设置 remote-fs.target服务开机自动启动
原理过程:
第一个里程: 服务器启动加载/etc/fstab文件 忽略网络挂载信息
第二个里程: 系统服务程序开机自启 network remote-fs.target
第三个里程: remote-fs.target会启动时重新加载/etc/fstab文件
将网络存储设备进行挂载
第二种方式: 利用rc.local文件 (文件权限为执行权限)客户端挂载参数说明:
bg --- 后台进行挂载操作 mount -t nfs -o bg xxxx xxx 让挂载过程后台进行
fg --- 前台进行挂载操作 mount -t nfs -o bg xxxx xxx 让挂载过程前台显示
soft --- 客户端 -发送挂载请求-> 服务端 超时时间 ??? 停止发送挂载请求
hard --- 客户端 -发送挂载请求-> 服务端 一直进行发送挂载请求
rsize --- 划分出内存一部分空间, 作为存储服务读取数据缓存空间 4096 8192
wsize --- 划分出内存一部分空间, 作为存储服务写入数据缓冲空间 4096 8192
atime --- 修改文件访问时间戳信息 性能有关参数
noatime --- 不修改文件访问时间戳信息 性能有关参数
nodiratime --- 不修改目录访问时间戳信息
remount --- 在挂载点正在挂载时, 进行重新挂载