美文网首页
4、综合架构详解-存储服务

4、综合架构详解-存储服务

作者: 一个反派人物 | 来源:发表于2020-12-14 20:45 被阅读0次

    1 常用存储服务介绍

    中小型企业:

    • NFS Network File System,运行在linux--linux系统之间,通过网络在不同主机之间共享文件或目录
    • Samba,运行在windows--linux系统之间,在linux上部署samba

    大型企业:
    分布式存储

    • Moosefs(mfs) 最古老
    • GlusterFS 第二多
    • FastDFS 企业用的较多

    2 NFS存储

    NFS需要借助RPC服务,RPC服务相当于NFS的代理,每次NFS服务启动将开启多个进程,多个进程的端口号向RPC注册。RPC面向用户提供固定的访问端口,为用户屏蔽了NFS进程多实例多端口号的问题。

    具体的工作流程:
    服务端
    1.启动rpc服务,开启111端口
    2.启动nfs服务
    3.实现nfs进程及端口号的注册
    客户端
    1.建立网络连接
    2.客户端执行挂载命令,进行远程挂载
    3.实现数据远程传输

    2.1 服务端部署

    2.1.1 安装nfs、rpcbind软件

    yum -y install nfs-utils rpcbind
    

    2.1.2 编写nfs配置文件

    /etc/exports

    配置文件格式:
    01   02(03)  02(03)...
    
    01:设置数据存储目录
    02:网络白名单
    03:存储目录的权限信息和一些功能
        (03)常用参数:
                rw      读写权限
                ro      只读权限
                sync    同步存储,数据写入硬盘,速度慢,安全
                async   异步存储,数据写入内存,速度块,不安全
                no_root_squash   不要将root用户身份进行转换
                root_squash      将root用户身份进行转换
                all_squash       将所有用户身份进行转换
                no_all_squash    不将普通用户身份进行转换
                anonuid          指定转换的用户id
                anongid          指定转换的用户组id
    
    结论:
    1.nfs在进行用户映射时,默认映射到nfsnobody用户
    2.为保证存储服务器安全,建议配置(no_all_squash,root_squash),且这两个选项是默认配置
    3.在服务侧,如果配置no_all_squash,建议将共享文件夹的所属者和所属组改为客户端使用共享文
    件夹的用户,且保证服务端和客户端用户的uid一致,这样客户侧只有指定用户能修改共享文件夹,能
    最大限度保证安全。
    4.配置(anonuid=xxx,anongid=xxx),让客户用root用户访问时,转换成共享文件夹的所属用户,
    也能够修改共享文件夹内容。
    

    实现多个网段允许挂载同一目录,白名单之间用空格隔开

    /data  172.16.1.0/24(rw,sync)  10.0.0.0/24(rw,sync)
    

    2.1.3 准备共享文件夹

    创建文件夹

    mkdir /data
    

    更改所有者和所属组为nfsnobody

    chown nfsnobody.nfsnobody /data
    

    2.1.4 启动服务

    先启动rpc(tcp 端口号111),后启动nfs

    systemctl start rpcbind
    systemctl enable rpcbind
    systemctl start nfs
    systemctl enable nfs
    

    2.1.5 使用rpcinfo 查看nfs注册情况(可选)

    rpcinfo -p [ip地址],不写ip地址代表查看本机

    2.1.6 showmount查看共享目录情况(可选)

    showmount -e [IP],不写IP查看本机

    [root@nfs01 ~]$  showmount -e
    Export list for nfs01:
    /data 172.16.1.0/24
    

    2.1.7 服务端检查能否挂载(可选)

    mount -t nfs IP:/共享目录 挂载点

    2.2 客户端部署

    2.2.1 安装nfs软件

    不安装nfs软件,系统无法识别nfs文件系统

    yum install -y nfs-utils
    

    2.2.2 远程挂载

    mount -t nfs ip地址:共享目录 挂载点

    mount -t nfs 172.16.1.31:/data /mnt
    

    2.3 常用的nfs服务端配置文件编辑方法

    1.通用方法

    /data  172.16.1.0/24(rw,sync)
    

    2.特殊情况(让部分人员不能操作存储目录,只有查看权限)

    /data  10.16.0.0/24(ro,sync)
    

    3.修改默认的匿名用户,不使用nfsnobody

    /data  10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
    

    2.4 nfs服务端重启

    服务重启有两种方式:

    1. restart 普通重启,强制断开所有连接,用户需要重新建立tcp连接,感知不好
    2. reload 平滑重启,强制断开没有数据传输的连接,有数据传输的等数据传输完再断开,感知好!!!

    2.5 实现fstab自动挂载nfs文件夹

    /etc/fstab文件中添加

    172.16.1.31:/data       /mnt                    nfs     defaults        0 0
    

    同时保证autofs(CentOS6)remote-fs(CentOS7)服务开机自动加载。

    原理:
    CentOS开机时会先加载/etc/fstab文件,此时网络服务还没有加载,无法实现远程挂载。autofs或remote-fs服务在网络服务启动后启动,启动时会再次加载/etc/fstab,实现挂载。

    相关文章

      网友评论

          本文标题:4、综合架构详解-存储服务

          本文链接:https://www.haomeiwen.com/subject/susvgktx.html