linux实时同步服务
码农天地 -NFS网络文件共享系统:linux系统之间传输数据
FTP(文件传输协议):权限复杂
分布式存储:Moosefs GlusterFS FastDFS
NF存储服务作用
NFS存储服务器搭建
RPC远程调用服务:中介服务端部署1、rpm -qa | grep -E "nfs|rpc" #检查是否安装了服务
2、yum install -y nfs-utils rpcbind
3、vim /etc/exports #编写nfs的配置文件
man exports #查看配置文件见编写手册
格式:01 02(03) 01:设置数据存储目录/data 02:设置网络白名单 03:配置存储目录的权限、功能
4、mkdir -p /data #创建存储目录
chown nfsnobody.nsfnobody /data #指定文件属主 id nfsnobody 查看是否存在此用户
5、启动服务程序
a、先启动rpc服务 systemctl start rpcbind.service systemctl enable rpcbind.service 开机自启
b、启动nfs服务 systemctl start nfs
netstat -lntup | grep nfs #不会存在任何信息,原因是nfs不会将端口信息告知系统,但是会告知rpc服务
配置文件/data 192.168.1.1/24(rw,sync)
客户端部署1、安装nfs文件系统
2、实现远程挂载文件共享目录
mount -t nfs ip:/data 本地挂载点
3、df -h 检查是否挂载成功
4、在挂载点创建文件,相当于在远程存储服务器创建了目录
工作原理服务端
1、启动RPC服务,开启111端口
2、启动NFS,向RPC注册信息
客户端
1、建立TCP网络连接
2、远程挂载
3、实现数据传输
补充:
①检查nfs服务进程与注册端口信息
rpcinfo -p localhost/ip
NFS服务端配置参数说明/etc/exports配置结构
NFS 共享目录 NFS客户端地址[参数1,参数2...] 客户端地址2[参数1,参数2...]
/etc/exports配置权限说明
1、rw:存储目录是否有读写权限
2、ro:存储目录是否有只读权限
3、sync:同步方式存储数据(数据安全)
4、async:异步方式存储数据(缓存作用,先到内存,再到硬盘)
5、no_root_squash:不要将root身份进行转换
6、root_squash:将root用户身份转换
7、all_squash:将所有用户身份转换
8、no_all_squash:不需要将普通用户身份转换
总结:
①共享目录的权限和那些因素有关
a、和存储目录本身的权限有关(755和nfsnobody)
b、配置文件中的权限配置有关(rw/ro xxx_squash anonuid/anongid)
c、客户端挂载的命令模式有关
②企业nfs如何配置squash
a、保证存储数据的安全性,all_squash绝对不能配置,需要配置no_all_sqush;共享目录的权限更新为指定的用户;配置成root_squash,root用户进来会被映射成为nfsbody用户,它只是个普通用户
③nfs的默认配置 cat /var/lib/nfs/etab 记录默认配置,修改此文件是没有任何作用的
④root用户操作www用户管理的data目录
root --- root_squash ----www ---操作data目录
修改anonuid 与 anongid 可以变更目录
⑤nfs服务器重启,挂载后创建数据比较慢
服务器重启的方式不正确
服务重启:
a、restart ————强制断开所有连接
b、reload ————强制断开没有数据传输的链接
NFS客户端配置说明mount -t nfs 172.16.16.31:/data /mnt
如何实现自动挂载?
①利用rc.local
echo 'mount -t nfs 172.16.16.31:/data /mnt' >> /etc/rc.local
②利用fstab文件
vim /etc/fstab 此时可能失败,需要依赖一个特殊服务
centOS6:无法实现网络存储服务自动挂载的原因
系统服务启动顺序造成的,串行启动
先加载/etc/fstab ---network服务 ----autofs服务(重新加载/etc/fstab)
centOS7:无法实现网络存储服务自动挂载的原因
系统服务启动顺序造成的,并行启动
先加载/etc/fstab ---network服务 ----服务(重新加载/etc/fstab)
客户端mount参数命令
rw----实现挂载点可读可写
ro----实现挂载点可读
suid---在共享目录中可以让setuid权限位生效(默认)
nosuid---在共享目录中可以让setuid权限位无效(提高共享目录的安全性)
exec---共享目录的文件可以直接执行
noexec---共享目录的文件不可以直接执行(提高共享目录的安全性)
auto---可以实现自动挂载 mount -a 对fstab配置文件批量挂载
noauto---不可以实现自动挂载
nouser---进制普通用户进行卸载
客户端卸载?
1、强制卸载 umount -lf /mnt
-l:挂载点不退出
-f:强制进行卸载
异常总结1、wrong fs type,bad option,bad superlock
原因:不能识别文件系统
解决:yum install -y nfs-utils 安装nfs文件系统
2、permission denyed
原因:①配置的用户映射问题②用户的uid在两台服务器不同
解决:
a、将服务器端的/data目录的属主变更成客户端指定的属主或者root
b、变更其它用户的权限
总结企业中如何编辑nfs配置文件
01、通用方法
/data 172.16.1.0/24(rw,sync)
02、特殊配置(部分人员能看,但是不能操作)
/data 172.16.1.0/24(ro,sync)
03、修改默认的匿名用户(部分人员能看,但是不能操作)
/data 172.16.1.0/24(ro,sync,anonuid=xxx,anongid=xxx)
PS:nfs无法针对用户进行配置权限
NFS服务器的作用?
1、共享数据
2、减少成本开销
NFS工作原理?
NFS存储服务部署过程?
NFS详细配置说明?
服务端配置参数
客户单配置参数
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。
下一篇: 想搞懂redis,这一篇文章真的就够了!