NFS(Network File System) 共享存储文件系统介绍与部署

NFS优势: 实现数据统一,节省磁盘资源,节省带宽

主要存放:用户上传图片,视频附件等信息

NFS共享存储工作原理
 1 在NFS服务端创建共享存储目录与挂载点
 2 在NFS客户端创建远程目录挂载点(需要与服务端一致)
 3 在NFS客户端进行远程挂载             

RPC服务简介(房屋中介)   默认端口:111  与NFS通信

负责协同管理NFS服务生成的多个随机端口号并整合后告知客户端
统一管理NFS生成端口号  (记住端口号)
记录每个NFS功能对应的端口号 

NFS 服务器参数说明  vim /etc/exports

 rw   可读写
 ro   只读
 sync   同步
 async 异步 (先写入内存在写入到硬盘)
 no_all_squash   其他用户不压缩,映射不变
 root_squash      对root用户进行压缩映射
 all_squash        对所有用户进行压缩映射
 root_squash     当客户端以ROOT账号访问NFS服务端时,会把root映射成nobody用户访问服务端
 all_squash       所有用户都映射成为nobody匿名用户
 insecure 允许客户端从大于1024端口发请求
 anonuid= 指定映射用户UID  (服务端与客户端需要都有相同用户UID并且一致)
 anongid= 指定映射用户GID  (服务端与客户端需要都有相同用户GID并且一致)
 *********  修该指定用户后需要修改共享目录的所属用户组与权限*********
                   chown -R imp.imp /data

部署环境:

  1台 NFS服务器 1台WEB服务器

NFS服务端详细部署方法:

1.检查NFS软件安装情况。(nfs-utils,rpcbind)

[root@NFS-31 ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-16.el6.x86_64
nfs-utils-1.2.3-78.el6_10.1.x86_64

2.创建共享目录与权限设置

[root@NFS-31 ~]# mkdir -p /nfs_data/
[root@NFS-31 ~]# chmod  766 /nfs_data
[root@NFS-31 ~]# chown -R nfsnobody.nfsnobody /nfs_data/

3.修改共享存储配置文件(默认/etc/exports)

[root@NFS-31 ~]# cat /etc/exports
/nfs_data 10.0.0.0/24(insecurerw,sync) 
/nfsuser 10.0.0.0/24 (insecure,rw,sync,)
/nfs_data 10.0.0.0/24 (insecure,rw,sync,)
#共享目录  共享地址   访问使用权限

[root@NFS-31 ~]# cat /var/lib/nfs/etab    # 检查共享文件详细参数
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
/nfs_data 10.0.0.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,ro,root_squash,no_all_squash)
/nfs_data *(rw,sync,wdelay,hide,nocrossmnt,insecure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

4.启动服务(必须按照顺序启动,先启RPC后启NFS服务)并检查服务状态

[root@NFS-31 ~]# /etc/init.d/rpcbind start
[root@NFS-31 ~]# /etc/init.d/nfs start
[root@NFS-31 ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/data 172.16.1.0/24
/nfs_data (everyone)

5.模拟挂载本地地址做客户端测试挂载访问情况

[root@NFS-31 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  1.6G   15G  10% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   35M  146M  19% /boot
[root@NFS-31 ~]# mount -t nfs 127.0.0.1:nfs_data /mnt
[root@NFS-31 ~]# df -h
Filesystem          Size  Used Avail Use% Mounted on
/dev/sda3            18G  1.6G   15G  10% /
tmpfs               491M     0  491M   0% /dev/shm
/dev/sda1           190M   35M  146M  19% /boot
127.0.0.1:nfs_data   18G  1.6G   15G  10% /mnt

[root@NFS-31 ~]# touch /nfs_data/我是imp.txt
[root@NFS-31 ~]# ll /mnt/
total 4
-rw-r--r--. 1 root root 14 Jun 10 09:03 imp.txt
-rw-r--r--. 1 root root 0 Jun 10 09:13 nfshahaa.txt
-rw-r--r--. 1 root root 0 Jun 10 09:40 我是imp.txt

客户端部署

1.确认软件是否安装

[root@web03 ~]# rpm -qa rpcbind nfs-utils
rpcbind-0.2.0-16.el6.x86_64
nfs-utils-1.2.3-78.el6_10.2.x86_64

2.开启rpcbind服务并检查远程挂

[root@web03 ~]# service rpcbind status
rpcbind (pid  2821) is running...
[root@web03 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/nfsuser  (everyone)
/data     172.16.1.0/24
/nfs_data (everyone)

3.创建远程共享目录的挂载点

[root@web03 ~]# mount -t nfs 172.16.1.31:/nfs_data /mnt

 

autofs自动挂载部署方法:

特点:autofs为守护进程,请求时候才挂载。(高并发不适用)
1.安装软件
yum install autofs -y
2.修改配置文件 (第七行添加如下代码)
vim /etc/auto.master
/~ /etc/auto.home
3.修改自定义的挂载配置文件
vim /etc/auto.home
/impkk -rw,soft,init 172.16.1.31:/data
本地挂载点 访问参数 服务器端共享目录
4.启动autofs服务
systemctl start autofs

5.进行df-h 测试 看是否自动挂载

 

共享方式 (NFS参数)

1 同步或异步写入服务器磁盘并且可读写
/data 10.0.0.0/24(rw,sync)
2 只读共享 (常用开发使用查看线上生产环境)
/data 10.0.0.0/24(ro)
3 修改NFS映射用户进行网络共享
/data 10.0.0.0/24(rw,sync,anonuid=500,anongid=500)

NFS存储服务目录说明

/etc/rc.d/init.d/nfs NFS服务启动脚本
/usr/sbin/showmount NFS共享目录信息
/var/lib/nfs/etab 查看NFS默认配置信息
/etc/rc.d/init.d/rpcbind rpcbind(中介)服务启动脚本
/usr/sbin/rpcinfo NFS服务向RPC服务注册信息
/proc/mounts 查看NFS客户端挂在信息

NFS配置常见故障

  客户端挂载时报错
mount.nfs: access denied by server while mounting 172.16.1.31:/data
mount.nfs: mounting 172.16.1.31:/date failed, reason given by server: No such file or directory
解决方法:查看服务端/etc/exports 是否与客户端挂载点拼写一致

mount: wrong fs type, bad option, bad superblock on 10.0.0.31:/nfs_data,

解决方法:没有安装nfs-utils  .安装即可

posted @ 2020-06-10 10:17  小咔嚓  阅读(478)  评论(0编辑  收藏  举报