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

2020-12-14  本文已影响0人  一个反派人物

1 常用存储服务介绍

中小型企业:

大型企业:
分布式存储

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,实现挂载。

上一篇下一篇

猜你喜欢

热点阅读