NFS网络储存系统

为什么用NFS网络文件存储系统?

1)实现数据信息统一一致

2)节省局域网数据同步传输的带宽

3)节省网站架构中服务器硬盘资源

NFS系统存储原理介绍

RPC服务类似一个中介服务,NFS服务端与NFS客户端之间

RPC服务用于管理端口,由于NFS服务启动时会产生多个端口信息,不便于客户端访问,因此需要利用RPC服务统一管理

进行NFS服务部署

理解一个知识概念:什么是RPC服务(远程调用服务-中介)

NFS服务端部署流程

第一个历程:检查nfs/rpc程序服务有没有安装

rpm -qa rpcbind nfs-utils

第二个历程:安装nfs与rpc服务软件

yum install -y rpcbind nfs-utils

第三个历程:编写nfs服务配置文件

vim /etc/exports

存储目录信息   允许哪些主机进行数据存储(权限参数)

/data/         172.16.1.0/24(rw,sync)

第四个历程:创建共享存储目录,授权目录

mkdir /data/ -p

chown -R nfsnobody.nfsnobody /data/

第五个历程:启动程序服务

/etc/init.d/rpcbind start

/etc/init.d/nfs start

rpcinfo -p 10.0.0.31           <-- 检查房源信息是否向中介进行注册

NFS客户端部署流程

第一个历程:检查nfs/rpc程序服务有没有安装

rpm -qa rpcbind nfs-utils

第二个历程:安装nfs与rpc服务软件

yum install -y rpcbind nfs-utils

第三个历程:进行远程共享目录挂载

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

[root@backup ~]# # mount -t 指定挂载文件系统类型nfs 指定存储服务器地址信息:共享目录  本地挂载点路径信息

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

[root@backup ~]# df -h

Filesystem         Size  Used Avail Use% Mounted on

/dev/sda3          8.8G  3.4G  5.0G  41% /

tmpfs              491M     0  491M   0% /dev/shm

/dev/sda1          190M   40M  141M  22% /boot

172.16.1.31:/data  8.8G  3.3G  5.1G  40% /mnt

第四个历程:进行存储数据信息测试

NFS和RPC服务软件都干了什么事

1.1 NFS和RPC服务软件都干了什么事

rpm -ql rpcbind

/etc/rc.d/init.d/rpcbind   <-- 生成服务启动脚本文件

/usr/sbin/rpcinfo          <-- 生成查看房源信息命令文件

rpm -ql nfs-utils

/etc/rc.d/init.d/nfs       <-- 生成服务启动脚本文件

/usr/sbin/showmount        <-- 生成查看共享目录列表信息命令

总结:nfs-utils和rpcbind软件必须也要安装在nfs客户端

01. 客户端不安装nfs软件无法识别nfs文件类型

02. 客户端不安装nfs和rpc软件,无法使用rpcinfo和showmount命令,进行查看服务端信息

配置文件编写说明

NFS 共享目录 NFS客户端地址(参数1,参数2,...)

/data   172.16.1.0/24(参数1)  rw   sync  通不到磁盘

/data   10.0.0.0/24(参数1)    ro   async  内存

共享目录影响权限的因素

01. nfs配置文件中权限参数会影响共享目录权限

02. nfs服务端共享目录本身权限也会影响目录目录权限

2. 参数信息说明

root_squash        <-- 将root用户映射为相应nfsnobody用户

no_root_squash     <-- 将root用户不映射为相应nfsnobody用户

all_squash         <-- 将所有用户映射为相应nfsnobody用户

no_all_squash      <-- 将所有用户不映射为相应nfsnobody用户

1.1 nfs客户端操作流程:root 所有用户

第一个历程:创建出要映射的用户信息

useradd oldboy -u 500

说明:如果客户端没有服务端映射的用户信息,存储的文件默认属主属组权限为nobody

nfs服务端操作流程:

第一个历程:创建默认匿名用户

useradd oldboy -s /sbin/nologin -M -u 500

第二个历程:编写配置文件

vim /etc/exports

/data 172.16.1.0/24(rw,sync,all_squash,anonuid=500,anongid=500)

chown -R oldboy.oldboy /data/

第三个历程:重启nfs服务(平滑重启)

/etc/init.d/nfs reload

1.1 nfs服务器172.16.1.31,共享下面nfs服务端:

nfs服务器 172.16.1.31,共享下面两个目录:
    /data/w 要求的权限可读写,同步数据,所有用户都压缩为匿名用户
    /data/r 要求的权限为只读,同步数据,所有用户都压缩为匿名用户
    客户端上面要求:
    backup服务器 把NFS服务器的/data/r 挂载到/data/r
    web01服务器 把NFS服务器的/data/w 挂载到/data/w

第一个历程:编写配置文件

vim /etc/exports

/data/w    
172.16.1.0/24(rw,sync,all_squash)

/data/r    
172.16.1.0/24(ro,sync,all_squash)

第二个历程:创建存储目录,修改目录权限

mkdir /data/{w,r} -p

chown -R nfsnobody.nfsnobody
/data/

第三个历程:平滑重启nfs服务

/etc/init.d/nfs reload

nfs客户端:

第一个历程:创建挂载点目录

mkdir /data/{w,r} -p

第二个历程:进行共享目录挂载

backup

mount -t nfs 172.16.1.31:/data/r
/data/r

web01

mount -t nfs 172.16.1.31:/data/w /data/w

说明:在这是nfs共享目录时,会有子集目录继承父亲目录的权限问题

尽量在配置共享目录时,避免目录继承权限问题,不要上级目录和子集目录同时存在

1.1 NFS客户端自动挂载

①. 利用/etc/rc.local文件实现开机自动挂载

echo "mount -t nfs 172.16.1.31:/data /mnt"  >>/etc/rc.local

②. 利用fstab文件实现开机自动挂载

tail -1 /etc/fstab

172.16.1.31:/data       /mnt                    nfs     defaults        0 0

chkconfig netfs on

/etc/init.d/netfs  start 临时开启

上一篇:BeatSaber节奏光剑插件开发官方教程1-创建一个插件模板


下一篇:docker安装总结 linux红帽系列