企业级NFS网络文件共享服务

简介: 企业级NFS网络文件共享服务

NFS服务环境准备

服务器角色列表

NFS server:192.168.1.5
NFS clent01:192.168.1.4
NFS clent01:192.168.1.3

系统及内核版本

[root@nfs-server ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@nfs-server ~]# uname -r
3.10.0-693.el7.x86_64
注:防火墙和selinux都关闭

软件列表

nfs-utils
rpcbind

NFS服务企业案例部署

将NFS server的/data目录共享给192.168.1.0网段,要求可读写

NFS服务端部署

服务安装

[root@nfs-server ~]# yum -y install nfs-utils rpcbind
[root@nfs-server ~]# rpm -qa nfs* rpcbind
nfs-utils-1.3.0-0.66.el7_8.x86_64
rpcbind-0.2.0-49.el7.x86_64
[root@nfs-server ~]# systemctl start rpcbind.service
[root@nfs-server ~]# systemctl enable rpcbind
[root@nfs-server ~]# lsof -i :111
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 16202  rpc    6u  IPv4  64534      0t0  UDP *:sunrpc 
rpcbind 16202  rpc    8u  IPv4  64536      0t0  TCP *:sunrpc (LISTEN)
rpcbind 16202  rpc    9u  IPv6  64537      0t0  UDP *:sunrpc 
rpcbind 16202  rpc   11u  IPv6  64539      0t0  TCP *:sunrpc (LISTEN)
[root@nfs-server ~]# systemctl start nfs.service 
[root@nfs-server ~]# systemctl enable nfs.service 

创建共享目录及授权

[root@nfs-server ~]# mkdir -p /data
[root@nfs-server ~]# chown -R nfsnobody.nfsnobody /data
[root@nfs-server ~]# ll -d /data/
drwxr-xr-x 2 nfsnobody nfsnobody 6 10月 23 15:20 /data/

配置NFS配置文件

[root@nfs-server ~]# vim /etc/exports
[root@nfs-server ~]# cat /etc/exports
/data 192.168.1.0/24(rw,sync)
[root@nfs-server ~]# exportfs -rv
exporting 192.168.1.0/24:/data
[root@nfs-server ~]# showmount -e localhost
Export list for localhost:
/data 192.168.1.0/24
[root@nfs-server ~]# cat /var/lib/nfs/etab 
/data 192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)

本地挂载测试

[root@nfs-server ~]# mount -t nfs 192.168.1.5:/data /mnt/
[root@nfs-server ~]# df -h 
192.168.1.5:/data         18G  1.6G   17G    9% /mnt

客户端配置(所有)

[root@nfs-clent01 ~]# yum -y install rpcbind nfs-utils
[root@nfs-clent01 ~]# systemctl start rpcbind.service 
[root@nfs-clent01 ~]# systemctl enable rpcbind.service
注:nfs服务不用启动
[root@nfs-clent01 ~]# showmount -e 192.168.1.5
Export list for 192.168.1.5:
/data 192.168.1.0/24
[root@nfs-clent01 ~]# mount -t nfs 192.168.1.5:/data /mnt
[root@nfs-clent01 ~]# df -h
192.168.1.5:/data         18G  1.6G   17G    9% /mnt
[root@nfs-clent01 ~]# echo "/bin/mount -t nfs 192.168.1.5:/data /mnt" >>/etc/rc.local 

测试:在clent01的/mnt目录下创建测试文件,clent02和nfs-server都能收到共享文件

[root@nfs-clent01 ~]# cd /mnt/
[root@nfs-clent01 mnt]# ls
[root@nfs-clent01 mnt]# touch test.txt

clent02查看

[root@nfs-clent02 ~]# ll /mnt/
总用量 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 23 15:41 test.txt

nfs-server查看

[root@nfs-server ~]# ll /mnt/
总用量 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 10月 23 15:41 test.txt

NFS服务常用配置参数权限

即为括号内参数

rw:表示可读写
ro:表示只读
sync:写数据时同步写入NFS server磁盘(有点安全,缺点性能会稍降低)
async:写数据会先写入缓冲区,硬盘有空档在写入硬盘
no_root_squash:访问NFS server共享目录的如果是root的话,它对该目录具有root权限
root_squash:访问NFS server共享目录的如果是root的话,权限将会压缩为匿名用户
all_squash:所有用户的权限都会压缩为匿名用户
anonuid:匿名用户,uid通常为nfsnobody用户的值
anongid:匿名用户组,uid通常为nfsnobody用户组的值

企业生产NFS exports配置实例

配置例一:

/data 192.168.1.0/24(rw,sync)
注:允许客户端读写,并且数据同步到服务器端的磁盘里

配置例二:

/data/blog 192.168.1.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)
注:允许客户端读写,并且数据同步写入服务端磁盘,指定客户端用户的UID和GID

配置例三:

/data/log 192.168.1.0/24(ro)
注:只读,例如有特定用户需要查看共享目录文件的需求,又不希望用户有修改的权限

重点NFS服务文件或命令说明

/etc/exports:主配置文件,默认为空
/usr/sbin/exportfs:管理命令,加载配置生效:exportfs -rv
/usr/sbin/showmount:查看配置及挂在结果:showmount -e 192.168.1.5
/var/lib/nfs/etab:配置文件的完整设定参数
/proc/mounts:客户端挂载参数:grep mnt /proc/mounts
/var/lib/nfs/rmtab:客户端访问服务器exports的信息列表


目录
相关文章
|
3天前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。
|
17天前
|
运维 安全 5G
|
22天前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
20 5
|
23天前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
19 4
|
23天前
|
Docker 容器
docker swarm 在服务中使用网络
【10月更文挑战第14天】
17 2
|
6月前
|
Linux
Linux安装NFS挂载NFS卸载客户端服务端都有
Linux安装NFS挂载NFS卸载客户端服务端都有
153 0
|
6月前
|
Ubuntu 网络协议 Unix
【Linux】新唐NUC977挂载NFS实现网络文件传输
【Linux】新唐NUC977挂载NFS实现网络文件传输
|
6月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
420 0