NFS配置

NFS

nfs特点
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源

nfs工作机制
nfs是基于rpc来实现网络文件系统共享的。

RPC
RPC(Remote Procedure Call Protocol),远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。

rpc工作机制
客户端程序发起一个RPC系统调用基于TCP协议发送给另一台主机(服务端)
服务端监听在某个套接字上,当收到客户端的系统调用请求以后,将收到的请求和其所传递的参数通过本地的系统调用执行一遍,并将结果返回给本地的服务进程
服务端的服务进程收到返回的执行结果后将其封装成响应报文,再通过rpc协议返回给客户端
客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行


showmount命令:
```bash
showmount 
		-a		//显示指定NFS服务器的所有客户端主机及其所连接的目录
		-d		//显示指定的NFS服务器中已被客户端连接的所有输出目录
		-e		//显示指定的NFS服务器上所有输出的共享目录

实例要求
开放/nfs/shared目录,供所有用户查阅资料
开放/nfs/upload目录为192.168.149.0/24网段的数据上传目录,并将所有用户及所属的用户组都映射为nfs-upload,其UID与GID均为300

服务端配置
服务端IP:192.168.149.140

  • 安装启动nfs并关闭防火墙和selinux
[root@host ~]# dnf -y install nfs-utils
[root@host ~]# systemctl start nfs-server
[root@host ~]# ss -antl
State        Recv-Q       Send-Q             Local Address:Port              Peer Address:Port       Process       
LISTEN       0            64                       0.0.0.0:2049                   0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:48197                  0.0.0.0:*                        
LISTEN       0            64                       0.0.0.0:44845                  0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:111                    0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:20048                  0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:22                     0.0.0.0:*                        
LISTEN       0            64                          [::]:2049                      [::]:*                        
LISTEN       0            64                          [::]:38759                     [::]:*                        
LISTEN       0            128                         [::]:111                       [::]:*                        
LISTEN       0            128                         [::]:20048                     [::]:*                        
LISTEN       0            128                         [::]:49617                     [::]:*                        
LISTEN       0            128                         [::]:22                        [::]:*   
[root@host ~]# systemctl stop firewalld.service 
[root@host ~]# setenforce 0    
  • 编辑/etc/exports文件
[root@host ~]# vim /etc/exports
[root@host ~]# cat /etc/exports
/nfs/shared     *(ro)
/nfs/upload     192.168.149.137(rw,anonuid=300,anongid=300)
  • 创建映射用户和共享目录并设置权限
[root@host ~]# groupadd -r -g 300 nfs-upload
[root@host ~]# useradd -r -u 300 -g 300 nfs-upload
[root@host ~]# id nfs-upload
uid=300(nfs-upload) gid=300(nfs-upload)=300(nfs-upload)
[root@host ~]# mkdir -p /nfs/upload
[root@host ~]# mkdir -p /nfs/shared
[root@host ~]# setfacl -m u:nfs-upload:rwx /nfs/upload/
[root@host ~]# setfacl -m g:nfs-upload:rwx /nfs/upload/
  • 重启服务
[root@host ~]# systemctl restart nfs-server

客户端配置
客户端ip:192.168.149.137

[root@host1 ~]# dnf -y install nfs-utils
[root@host1 ~]# systemctl stop firewalld
[root@host1 ~]# setenforce 0
[root@host1 ~]# ss -antl
State        Recv-Q       Send-Q             Local Address:Port              Peer Address:Port       Process       
LISTEN       0            128                      0.0.0.0:50017                  0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:111                    0.0.0.0:*                        
LISTEN       0            128                      0.0.0.0:22                     0.0.0.0:*                        
LISTEN       0            128                         [::]:111                       [::]:*                        
LISTEN       0            128                         [::]:33521                     [::]:*                        
LISTEN       0            128                         [::]:22                        [::]:*                        
  • 手动挂载
[root@host1 ~]# mount -t nfs 192.168.149.140:/nfs /media/
[root@host1 ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              876M     0  876M    0% /dev
tmpfs                 895M     0  895M    0% /dev/shm
tmpfs                 895M   17M  879M    2% /run
tmpfs                 895M     0  895M    0% /sys/fs/cgroup
/dev/mapper/cs-root    17G  1.8G   16G   11% /
/dev/sda1            1014M  195M  820M   20% /boot
tmpfs                 179M     0  179M    0% /run/user/0
192.168.149.140:/nfs   17G  2.0G   16G   12% /media

测试
服务端

[root@host ~]# cd /nfs/shared/
[root@host shared]# ll
总用量 0
[root@host shared]# touch xx

客户端

[root@host1 ~]# cd /media/
[root@host1 media]# ls
shared  upload
[root@host1 media]# cd shared/
[root@host1 shared]# ls
xx
[root@host1 shared]# rm -rf xx
rm: 无法删除'xx': 只读文件系统

服务端

[root@host shared]# cd ../upload/
[root@host upload]# ll
总用量 0
[root@host upload]# touch ff
[root@host upload]# ll
总用量 0
-rw-r--r--. 1 root root 0 66 13:08 ff

客户端

[root@host1 upload]# ll
总用量 0
-rw-r--r--. 1 root root 0 66 13:08 ff
[root@host1 upload]# rm -rf ff
[root@host1 upload]# ll
总用量 0
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值