NFS服务器

NFS是一种允许网络中的不同计算机间通过TCP/IP共享资源的文件系统,主要在Unix系统上使用。NFS服务器使用随机端口并通过RPC服务向客户端提供端口信息。在配置NFS时,需要编辑/etc/exports文件设定共享目录和权限。文章提供了两个NFS共享配置示例,包括只读共享和指定用户权限的共享,并介绍了如何在客户端实现自动挂载。此外,还提到了autofs用于自动挂载NFS目录的功能。
摘要由CSDN通过智能技术生成

NFS(Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

 由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口才能够连接。

 此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时会随机选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号。

 注:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

需要两个虚拟机:一个作为服务器,一个作为客户端 架设一台NFS服务器,并按照以下要求配置 1、开放/nfs/shared目录,供所有用户查询资料; 2、开放/nfs/upload目录,该目录为172.24.8.0/24网段的主机的数据上传目录,并将所有该网段主机上传文件的所属者和所属组映射为nfs-upload,其UID和GID为2001; 3、将/home/tom(该目录为uid=1111,gid=1111的tom用户的家目录)目录仅共享给172.24.8.129这台主机上的jerry用户,jerry对该目录具有访问、新建和删除文件的权限

NFS使用

关闭防火墙,selinux,网络通畅

RPC主程序:rpcbind

NFS主程序:nfs-utils

安装程序

yum install rpcbind
yum install nfs-utils

/etc/exports主配置文件(文件不一定存在) //用于配置共享的路径,在服务端

配置格式:共享目录   主机名/掩码(权限)

参数值

说明

rw/ro

该目录共享的权限是可读写还是只读,但最终能否读写,还是与文件系统的rwx有关

sync/async

sync代表数据会同步写入到内存与硬盘中,async则代表数据会先暂存于内存当中,而非直接写入硬盘

no_root_squash/root_squash

若客户端在共享目录里创建的文件的所属者和所属组是root用户和root组,那么显示文件的属主和属组时有以下两种情况:norootsquash表示,文件的所属者和所属组是root用户和root组;root_squash表示将root用户和组映射为匿名用户和组(默认设置)。

all_squash/no_all_squash

allsquash:客户端所有用户创建文件时,客户端会将文件的用户和组映射为匿名用户和组noall_squash:客户端普通用户创建的文件的UID和GID是多少,服务端就显示为多少(默认设置)

anonuid=anongid=

将文件的用户和组映射为指定的UID和GID,若不指定默认为65534(nfsnobody)

 手动挂载

 nfs实例:

需要两个虚拟机:一个作为服务器,一个作为客户端 架设一台NFS服务器,并按照以下要求配置

1、开放/nfsdata目录,供所有用户查询资料;

2、开放/nfs/shared目录,该目录为192.168.31.0网段的主机的数据上传目录,并将所有该网段主机上传文件的所属者和所属组映射为nfs-upload,其UID和GID为2001;

1.

服务端:

新建一个共享的目录

[root@xiezhehui ~]# mkdir /nfsdata

 在该目录下建立一个测试文件

 78b5bc7dd33a4de5ab965333f28ddd52.png

配置共享路径(只读权限参数为ro)

4b68b48a9be9493b835427ec6b49390d.png

 开启服务

[root@xiezhehui ~]# systemctl restart nfs-server.service

客户端:

新建挂载目录

[root@xiezhehuiIS ~]# mkdir /mountdata

挂载

[root@xiezhehuiIS ~]# mount 192.168.31.139:/nfsdata /mountdata

测试

0672fcf5bcc94115b1f469322b3576f1.png

 2.

服务端:

新建共享目录

[root@xiezhehui shared]# mkdir /nfs/shared

新建nfs-server uid和gid都为2001

useradd -u 2001 nfs-shared

在/nfs/shared目录下新建ISxzh.txt文件

2dd54f5af1f14e86a60d05a578366f95.png

修改/shared目录权限

 bc4895af4eb949a7b89c6832071541de.png

 给ISxzh.txt文件指定所属者和所属组

chown nfs-shared:nfs-shared ISxzh.txt

客户端:

 新建挂在目录并将给定的目录挂载

mount 192.168.31.139:/nfs/shared /allro

查看服务端

1a962e9be16443059f65d2b365efb60a.png查看客户端

8460ad9e01b9409ab23738359f0414d9.png

自动挂载(客户端操作)

yum install autofs -y //安装软件

autofs.conf-> 针对服务autofs的配置

auto.master -> 是针对目录对应的挂载配置文件

auto.nfs(文件名可自定义) -> 对应的是:具体挂载信息

操作:

vim /etc/auto.master 打开配置     

添加:/nfsclient /etc/auto.nfs           其中nfsclient系统会自动创建

vim /etc/auto.nfs 打开配置

添加:nfsdir 192.168.233.154:/nfsdata      挂载到服务端下的/nfsdata     nfsdir可能会被隐藏,但仍可以cd进去

启动服务

[root@node1 /]# systemctl restart autofs

触发自动挂载操作

 对第2题进行自动挂载

结果:73fb613830d645d88eea8eac6bc6162c.png

 挂载的死亡时间为5分钟在,在autofs.conf文件中可修改时间

dismount_interval = 300    //默认

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值