linux下的NFS (Network File System网络文件系统)

什么是NFS

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

NFS体系至少有两个主要部分
一台NFS服务器和若干台客户机
客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。

搭建一个基本的nfs服务器,实现在本地可以挂载

搭建一个nfs服务器,使nfs服务器的目录可以挂载在客户端本地,并且在本地修改
在服务器主机上面搭建nfs服务器

(1) yum install nfs-utils 安装服务

在这里插入图片描述

(2)vim /etc/exports编辑该服务的配置文件

/mnt 172.25.254.0/24(ro,sync)
表示将这台nfs服务器的/mnt这个目录挂载在本地这个网段的任何一个主机上面,并且只读,而且同步
exportfs -rv 刷新
在这里插入图片描述在这里插入图片描述在这里插入图片描述

(3) 客户端主机测试
yum install nfs-utils -y在本地安装可以使用网络文件系统的软件
showmount -e 172.25.254.111
快速查看desktop远程服务器共享出来的东西(错误),因为服务端的火墙开着

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

(4)服务端
systemctl status firewalld
systemctl stop firewalld
客户端
showmount -e 172.25.254.111
快速查看desktop远程服务器共享出来的东西(正确)
但是看不到/mnt这个目录, 因为服务器的nfs服务没有开启

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

(5)服务端
systemctl start nfs-server
exportfs -rv刷新
客户端
showmount -e 172.25.254.111可以看到/mnt
mount 172.25.254.111:/mnt/  /mnt/挂载服务端的目录到本地
df查看挂载
cd /mnt/进入这个目录, 实际上进入了服务器的目录
ls查看服务器的这个目录里面的内容
touch file失败,因为只读(其实就是对远程主机操作)比较慢
umount /mnt卸载
df查看是否卸载

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

使nfs服务器的目录可以在本地挂载的同时也可以在本地对它修改(ro—>rw)

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

在本地对nfs服务器进行修改的文件的所有人所有组的设置

anonuid=1001(指定客户端的用户身份为服务端已经存在的用户身份)
就是客户端建立文件的身份是服务端指定的服务端自己存在的用户,客户端不存在这个用户

no_root_squash (指定沿用客户端挂载的用户身份)
客户端以哪个身份建立文件,文件就属于客户端哪个用户的

all_squash(转变所有的客户端的用户身份为服务端的用户身份)
不管客户端以哪个身份建立文件,文件的所有人所有组均为服务器指定转换为服务器自己存在的用户身份
都会被映射成服务端匿名用户,如果指定了,就是指定的1001的用户

/mnt 172.25.254.0/24(rw,sync,anonuid=1001,anonugid=1001)
使得在客户端本地建立文件属于服务端的指定的用户
/mnt 172.25.254.0/24(rw,sync,anonuid=1001,anonugid=1001,no_root_squash)
让文件属于客户端谁建立就属于谁
/mnt 172.25.254.0/24(rw,sync,anonuid=1001,anonugid=1001,no_root_squash,all_squash)使得客户端建立的文件均属于服务端的用户

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

实现nfs服务器在本地的自动挂载和自动卸载在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 改变自动挂载的目录,现在不想通过/net 这个目录自动挂载

172.25.254.111:/mnt/ /mnt/westos想挂载到/mnt/westos上面
现在想改变挂载策略,将服务端的目录 挂载到 我的客户端我想挂载的任何目录上
实际上客户端/mnt/westos是不存在的

以下所有的实验都在客户端进行
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

实现自动设置挂载类型

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

实现客户端被挂载的目录和服务端的名字匹配在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值