NFS存储服务及部署 (2)

2.1.2 编写配置文件 vim /etc/exports #进入配置文件 /data 172.16.1.0/24(rw,sync) #写入命令 # /data 可以进行共享存储目录 # 172.16.1.0/24(rw,sync) 允许存储数据网段信息(存储目录权限配置 存储数据方式配置)

sync=同步方式存储数据:用户有数据存储  ----  存储服务器(磁盘中)           存储安全性高
async=异步方式存储数据:用户有数据存储  ----  内存 --- 存储服务器(磁盘中)  存储效率高

2.1.3 创建目录,对目录进行授权 mkdir /data chown nfsnobody.nfsnobody /data

2.1.4 启动服务程序 systemctl start rpcbind systemctl reload rpcbind #重启rpcbind 平滑重启 systemctl enable rpcbind systemctl start nfs systemctl reload nfs #重启nfs systemctl enable nfs ### restart:将所有连接会话都会直接断开 ### reload: 只会将没有数据传输链接断开,重新建立连接,让用户访问感受更好

2.2 客户端部署

2.2.1 安装相关软件 yum install -y nfs-utils

2.2.2 进行存储目录挂载 mount -t nfs 172.16.1.31:/data /mnt

2.2.3 进行测试 客户端创建文件: [root@web01 mnt]#ls [root@web01 mnt]#touch test.txt [root@web01 mnt]#ls test.txt 服务端同步文件: [root@nfs01 data]#ls [root@nfs01 data]#ls test.txt 服务端与客户端文件同步,则测试成功。

3 存储服务配置文件编写格式

3.1 配置文件exports参数 ro 只读配置,使存储目录权限位只读,使开发人员只能看
rw   读写权限    
sync   同步存储数据    
async   异步存储数据    
all_squash   不论什么用户包括root,都映射为指定nfsnobody用户    
no_all_squash    对普通用户不做映射,无权限。root用户映射为nfsnobody    
root_squash    将root用户映射为指定nfsnobody用户,普通用户无权限    
no_root_squash   将root用户不做映射,普通用户无权限    
anonuid   指定uid,指定映射成什么用户    
anongid   指定gid,指定映射成什么用户    

在企业中,一般选用no_all_squash,root_squash。

3.1.1 all_squash映射实践

第一步:服务端修改服务配置文件

vim /etc/exports /data 172.16.1.0/24(rw,sync,all_squash) systemctl reload nfs

第二步:客户端上传数据测试

[root@web01 mnt]#touch test.txt [root@web01 mnt]#ll test.txt -rw-r--r-- 1 nfsnobody nfsnobody 0 Jul 16 20:57 test.txt

3.1.2 no_all_squash映射实践

第一步:服务端修改服务配置文件

vim /etc/exports /data 172.16.1.0/24(rw,sync,no_all_squash) systemctl reload nfs

第二步:客户端上传数据测试

[root@web01 mnt]# touch aaa.txt [root@web01 mnt]# ll -rw-rw-r-- 1 1017 1017 0 Jul 16 12:08 aaa.txt ### 用户传输数据身份没有变化,看用户uid信息

3.1.3 root_squash映射实践

第一步:服务端修改服务配置文件

vim /etc/exports /data 172.16.1.0/24(rw,sync,root_squash) systemctl reload nfs

第二步:客户端上传数据测试

[root@web01 mnt]# touch bbb.txt [root@web01 mnt]# ll -rw-r--r-- 1 nfsnobody nfsnobody 0 Jul 16 12:19 bbb.txt ### root用户会映射为指定的nfsnobody用户

3.1.4 no_root_squash映射实践

第一步:服务端修改服务配置文件

vim /etc/exports /data 172.16.1.0/24(rw,sync,no_root_squash) systemctl reload nfs

第二步:客户端上传数据测试

[root@web01 mnt]# touch ccc.txt [root@web01 mnt]# ll -rw-r--r-- 1 root root 0 Jul 16 12:22 ccc.txt ### 将root用户不做映射

3.2 NFS客户端映射原理图

3_看图王.png


3.2.1 映射原理练习题

要求服务端:
/data/w   可读可写权限,所有用户都做映射,  采用同步传输数据
/data/r   只能读取数据,只有root用户组映射,采用异步传输数据
要求客户端:
backup   /data/w  --挂载点 /data/w   可以存储数据  
web01    /data/r  --挂载点 /data/r   不能存储数据
解决服务端:
(1)编写配置文件

vi /etc/exports /data/w 172.16.1.0/24(rw,sync,all_squash) /data/r 172.16.1.0/24(ro,async,root_squash)

(2)创建共享存储目录

web01: mkdir /data/r chown nfsnobody.nfsnobody /data/r backup: mkdir /data/w chown nfsnobody.nfsnobody /data/w

(3)重启存储服务

systemctl reload nfs

解决客户端:
(1)创建挂载点目录

web01:mkdir /data/r backup:mkdir /data/w

(2)进行挂载

web01 mount -t nfs 172.16.1.31:/data/r /data/r backup mount -t nfs 172.16.1.31:/data/w /data/w

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywyzw.html