Linux文件共享之NFS

本文介绍NFS网络文件系统的功能与好处,包括节省存储空间、统一Home目录及共享存储设备。详细讲解NFS参数配置,如读写权限、同步选项及安全设置。并提供在Linux环境下部署NFS服务器和客户端的步骤,涵盖安装、配置、自动挂载及指定文件所有者的操作。
摘要由CSDN通过智能技术生成

简介

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

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

NFS参数

ro只读访问
rw读写访问
sync所有数据在请求时写入共享
asyncNFS在写入数据前可以相应请求
secureNFS通过1024以下的安全TCP/IP端口发送
insecureNFS通过1024以上的端口发送
wdelay如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
Hide在NFS共享目录中不共享其子目录
no_hide共享NFS目录的子目录
subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check和上面相对,不检查父目录权限
all_squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录。不管客户端以哪个身份建立文件,都会被映射成服务端匿名用户,如果指定了,就是指定的1001的用户
no_all_squash保留共享文件的UID和GID(默认)
root_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squasroot用户具有根目录的完全管理访问权限 ,客户端以哪个身份建立文件,文件就属于客户端哪个用户的
anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID ,指定客户端的用户身份为服务端已经存在的用户身份

前期准备

server1-172.25.70.11服务端
server2-172.25.70.12客户端

在这里插入图片描述

部署NFS

server1

yum install nfs-utils -y
systemctl start nfs-server 开启服务nfs
vim /etc/exports 编辑该服务的配置文件
	/mnt 172.25.70.0/24(ro,sync)
将这台nfs服务器的/mnt这个目录挂载在本地这个网段的任何一个主机上面,并且只读,而且同步
exportfs -rv 刷新
systemctl stop firewalld
firewall-cmd --list-all  或者查看防火墙的nfs和rpc服务是否启动

在这里插入图片描述

在这里插入图片描述

server2

yum install nfs-utils -y
systemctl start nfs-server
exportfs -rv刷新
showmount -e 172.25.70.11 快速查看126远程服务器共享出来的东西
mount 172.25.70.11:/mnt/ /mnt/ 挂载服务端的目录到本地

在这里插入图片描述

客户端可读写

server1

vim /etc/exports
	/mnt 172.25.70.0/24(rw,sync)	
exportfs -rv刷新更改

在服务端,vim /etc/exports 修改成为读写方式共享,让客户端可以建立和删除文件

server2

在这里插入图片描述

服务端指定文件所有者

vim /etc/exports 
	/mnt 172.25.70.0/24(rw,async,anonuid=1001,anonugid=1001)使得在客户端本地建立文件属于服务端的指定的1001用户
exportfs -rv刷新更改
chmod 777 /mnt

其中
设定参数 all_squash表示,转变所有客户端的用户身份为服务器用户,
all_squash也就是说不管客户端是以什么样的身份来进行访问的,都会被压缩成为anonuid、anongid 指定的id
客户端访问服务端默认是使用nfsnobody这个用户来进行访问的。
服务器默认共享时,也是加上了all_squash这个参数
no_root_squash参数,在客户端建立文件file3,在服务端的/mnt文件中file3的所有者和所有组都变为root

server2

在这里插入图片描述

自动挂载和卸载

前面当一个用户注册信息的时候放在一台主机里面,当主机坏了,这个用户就登陆不了,
当由有多个用户分别对应多台主机的时候,每个用户的信息都在自己的服务器里面放着,但是这样很不好,当其中一个服务器挂了,那个主机的信息就没了,
实际在企业当中,主机系统和存储数据是分离的,客户通过主机注册系统,然后放到存储数据的地方,
每台主机和存储设备相连但是当主机不用的时候,没有必要和存储系统连接,浪费资源。

现在想实现客户端,用的时候自动挂载,不用的时候自动卸载。

server2

yum install autofs -y   安装可以实现自动挂载文件系统的服务
systemctl start autofs
systemctl enable autofs 设置开机启动

开启autofs这个服务后,系统就会有/net这个目录
vim /etc/sysconfig/autofs 更改退出目录时自动卸载的时间,默认为300s,更改为3秒
	timeout=3
systemctl restart autofs.services
cd /net/172.25.70.11/mnt

在这里插入图片描述

更改自动挂载目录

server2

mkdir /westos_nfs建立共享目录
vim /etc/auto.master
	/mnt /etc/auto.nfs

vim /etc/auto.nfs
	westos 172.5.70.11:/mnt

systemctl restart autofs.services

在这里插入图片描述

指定挂载类型

server2

vim /etc/auto.nfs
westos -ro,vers=3 172.25.254.11:/mnt
systemctl restart autofs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值