linux实时同步服务

码农天地 -
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),我们将及时处理。

Tags 标签

加个好友,技术交流

1628738909466805.jpg