LINUX运维学习之综合架构篇——NFS存储服务器概念介绍及搭建

2021-06-16 11:24:38 浏览数 (1)

1、什么是存储服务

NFS是网络文件共享系统 它主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录 NFS客户端(一般是应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下)。从客户端本地看,NFS服务器端共享的目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端NFS服务器的目录。 NFS属于本地文件存储服务。

2、NFS存储服务的作用:

(1)实现数据的共享存储 (2)编写数据操作管理 (3)节省购买服务器磁盘的开销

3、NFS工作流程:

(1)在NFS服务端创建共享目录 (2)通过mount挂载,将NFS服务端共享目录挂载到NFS客户端本地目录上。 (3)NFS客户端挂载目录上创建、删除、查询数据操作, 相当于在服务端操作。

4、NFS两个重要的服务

由于NFS服务启动时产生的进程服务器端口号是随机的,因此NFS的各项功能都需要向RPC服务(rpcbind服务)注册,所以只有RPC服务才能获得NFS服务的各项功能对应的端口号、pid、NFS在主机所监听的IP等信息,而NFS客户端只能通过RPC服务询问才能找到正确的端口。

5、nfs服务部署流程

rpc:远程过程调用服务程序 服务端部署 (1)下载软件

代码语言:javascript复制
rpm -qa|grep -E "nfs|rpc"  #检查软件是否安装,默认是不安装的
yum install -y nfs-uttls rpcbind

(2)编写nfs服务配置文件

代码语言:javascript复制
vim /etc/exports
/test  172.16.1.0/24(rw,sync)

a b(c) a、设置数据的存储目录 (/test) b、设置网络白名单(允许哪些主机可以连接到存储服务器进行数据存储) c、配置存储目录的权限信息,存储目录一些功能 (3)创建一个存储目录

代码语言:javascript复制
mkdir /test
chown nfsnobody.nfsnobody /test
ls -ld /test

(4)启动服务程序 先启动rpc服务

代码语言:javascript复制
systemctl start rpcbind.service
systemctl enable rpcbind.service
systemctl status rpcbind.service

在启动NFS服务

代码语言:javascript复制
systemctl start nfs
systemctl enable nfs
systemctl status nfs

客户端 (1)安装软件

代码语言:javascript复制
yum install -y nfs-utils

(2)远程挂载目录

代码语言:javascript复制
mount -t nfs 172.16.1.31:/test  /mnt

实现多个网段主机进行挂载

代码语言:javascript复制
(1)/test 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)
(2)/test 172.16.1.0/24(rw,sync) 

/test 10.0.0.0/24(rw,sync)

6、影响NFS服务存储权限的因素

(1)服务端本身目录权限exports文件里ro/rw参数 (2)服务端本身目录权限 (3)服务端共享目录权限存在继承关系。例如:/test, /test/a (4)客户端挂载参数是否为ro

7、NFS服务配置参数

代码语言:javascript复制
NFS配置参数权限
rw   -- 存储目录是否有读写权限
ro   -- 存储目录是否时只读权限
sync   -- 同步方式存储数据 直接将数据保存到磁盘(数据存储安全)
async  -- 异步方式存储数据 直接将数据保存到内存(提高数据存储效率)
no_root_squash  -- 不要将root用户身份进行转换   
root_squash     -- 将root用户身份进行转换
all_squash      -- 将所有用户身份都进行转换 
no_all_squash   -- 不要将普通用户身份进行转换

PS:检查NFS服务进程与端口注册信息

代码语言:javascript复制
rpcinfo -p 172.16.1.31

0 人点赞