Linux中的NFS文件系统使用【精】

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

以下是NFS最显而易见的好处:

1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

NFS组成:

1.一台NFS服务器和若干台客户机
2.客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
3.在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数

常 被 使 用 的 情 景 : \color{blue}{常被使用的情景:} 使
在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。

下面我们进行实验说明:
首先,环境搭建:

1.两台环境纯净的主机,一台做server服务器,一台做client客户端。
2.网络配置
3.yum仓库搭建,yum源指定,确保可以使用
4.主机名更改为:server.xyy.com和server.client.com 方便自己使用
5.本地解析配置,将各自主机IP与域名【主机名】对应。

【NFS服务器搭建:】

在server服务器上:

systemctl stop firewalld  ##关闭火墙
yum install nfs-utils -y  ##下载nfs
vim /etc/exports     ###编辑nfs配置文件
	/mnt 172.25.254.0/24(ro,sync)	  
###写入可共使用的目录,以及可以被哪个网段或者哪个主机识别到。
##ro为只读,sync为实时同步
systemctl start nfs-server

在这里插入图片描述
客户端:

systemctl stop firewalld
yum install nfs-utils -y
showmount -e 172.25.254.200     ###查看服务器可被使用的目录或磁盘
mount 172.25.254.200:/mnt /xyy   ###挂载到/xyy目录下
cd /xyy    

在这里插入图片描述
NFS服务器的搭建并不难,下面我们来对其配置参数进行说明:

配置参数:rw读写 给server的/mnt/权限777后可以建立文件

vim /etc/exports
	/mnt172.25.254.0/24(rw,async,anonuid=1001,anongid=1001,all_squash,no_root_squash)
###指定的uid和gid为服务端已经有了的用户id
no_root_squash 沿用客户端管理用户的身份,不做转换
all_squash 所用用户的身份都要做转换 【优先级高,最终会被执行】
如果有指定anonuid和anongid的话,就会被转换为指定的uid,没有指定则会转化为默认用户nsnobody。

客户端:
在/xyy建立文件,ll查看属性,进行测试。

首先我们在服务器上先更改配置如下图:
在这里插入图片描述
在这里插入图片描述
在客户端进行测试:
在这里插入图片描述
配 置 已 经 更 改 为 可 读 可 写 了 , 却 不 能 创 建 文 件 , 因 为 目 录 不 允 许 我 们 创 建 \color{blue}{配置已经更改为可读可写了,却不能创建文件,因为目录不允许我们创建} ,
我 们 在 服 务 器 上 更 改 / m n t 目 录 的 权 限 , 现 在 为 755 , 我 们 改 为 777 , 再 测 试 \color{blue}{我们在服务器上更改/mnt目录的权限,现在为755,我们改为777,再测试} /mnt755777
在这里插入图片描述
客户端:
在这里插入图片描述
当 没 有 指 定 u i d 和 g i d 时 : \color{blue}{当没有指定uid和gid时:} uidgid
在这里插入图片描述
在这里插入图片描述
使 用 客 户 端 原 有 I D , 不 做 转 换 : \color{blue}{使用客户端原有ID,不做转换:} 使ID
服务器:
在这里插入图片描述

exportfs -rv

客户端:
在这里插入图片描述
在这里插入图片描述
不是很明显,我们在客户端重新建立一个用户,再测试下:
在这里插入图片描述
发现客户端所创建的文件,其所属用户是客户端的用户,而不再是服务器的用户。

在上面的实验中,我们其实会发现,我们在第一次挂载后便没有卸载,而是直接切换用户继续使用。这样并不合理,并不是每个用户都该拥有使用的权限的。我们下面将进行系统和存储分离。效果为:使用时挂载,不使用时自动卸载掉。

在客户端先卸载/mnt

yum install autofs -y  ###自动文件系统
systemctl start autofs
systemctl enable autofs
ls -ld /net
systemctl stop autofs  ###关闭后就没有/net目录
ls -ld /net
systemctl start autofs

vim /etc/autofs.conf 或者 /etc/sysconfig/autofs 
##不同版本的主配置文件路径不同
	timeout = 5 切出目录后自动卸载的间隔时间
systemctl restart autofs.service
cd /net/172.25.254.199/mnt/
df  ###查看,发现mnt有挂载
cd ~   ###切换到别的目录【不使用199的/mnt】
df  ###查看,mnt已经被卸载掉了 【注意查看时间要等timeout设定的时长之后】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们同样可以试着去切换用户,看是否还可以直接使用200主机的/mnt,但没必要,因为我们刚才卸载掉了/xyy上的挂载设备,并没有再次重新挂载。即/xyy上并无设备,就不能使用。

我 们 在 刚 才 去 使 用 200 的 / m n t 时 , 进 入 的 是 / n e t 这 个 目 录 , 这 是 个 默 认 的 网 络 共 享 目 录 。 \color{blue}{我们在刚才去使用200的/mnt时,进入的是/net这个目录,这是个默认的网络共享目录。} 使200/mnt/net
但 是 如 果 不 想 使 用 这 个 目 录 , 也 可 以 做 修 改 \color{blue}{但是如果不想使用这个目录,也可以做修改} 使

客户端:
vim /etc/auto.master        ###主策略文件
    	/xyy	/etc/auto.nfs    ###指定子策略文件
vim /etc/auto.nfs            ###子策略文件
    	netdir 172.25.254.200:/mnt   ###指定默认被挂载到的目录和要挂载的设备
systemctl restart autofs
cd /xyy/netdir    

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我 们 同 样 可 以 在 子 策 略 文 件 中 指 定 设 置 , 例 如 , 只 读 : \color{blue}{我们同样可以在子策略文件中指定设置,例如,只读:}

在这里插入图片描述
使用mount指令查看挂载参数:
在这里插入图片描述

目录匹配:可以匹配服务端所拥有的目录进行使用:作用:给每一个用户单独的目录

客户端:

vim /etc/auto.nfs
	* -ro,vers=3  172.25.254.199:/mnt/&
systemctl restart autofs
cd /mnt/westos1
df   ###查询注意等设定刷新时长过后再查询
cd /mnt/westos2
df   ###查询注意等设定刷新时长过后再查询

服务器:

cd /mnt
mkdir a b c

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


                               大大的小小阳
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值