NFS共享存储服务

本文详细介绍了NFS(网络文件系统)共享存储服务,包括NFS的工作原理、安全特性以及在文件服务器上发布和访问共享资源的步骤。通过安装nfs-utils和rpcbind软件包,配置exports文件,设置共享目录和权限选项,然后启动NFS服务。在客户机上,可以使用showmount命令查看共享目录,并通过挂载命令进行访问。同时,文章还提到了如何设置自动挂载和在遇到问题时如何强制卸载NFS共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、NFS共享存储服务

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装 nfs-utils、rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

NFS 的配置文件为/etc/exports
格式为:
共享的目录位置客户机地址(权限选项)

二、在文件服务器使用NFS发布共享资源

2.1、安装nfs-utils、 rpcbind 软件包

rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind

在这里插入图片描述

2.2、设置共享目录

mkdir -p /opt/ lcl
chmod 777 /opt/lcl

在这里插入图片描述

vim /etc/exports
/opt/lcl 192.168.153.0/24(rw,sync,no_root_squash)	//绝对路径
/var/ftp/pub 192.168.4.11 (ro) 192.168.4.110 (rw)		//()里是相关的权限
/share * (rw, sync)

在这里插入图片描述

客户机地址可以是主机名、IP地址、网段地址,允许使用“*”、“?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync : 表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash : 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

其它常用选项

all_squash : 所有访问用户都映射为匿名用户或用户组。
async : 将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。
anonuid=xxx : 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx : 指定NFS服务器/etc/ passwd文件中匿名用户的GID

2.3、启动NFS服务程序

#手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs 
systemctl start rpcbind		//启动rpcbind服务
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

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

2.4、在客户机中访问NFS共享资源

查看NES服务器端共享了哪些目录

showmount -e 192.168.153.126

手动挂载NES共享目录

mkdir /myshare 
mount 192.168.153.126:/opt/lcl /tmp
mount

确认挂载结果

df -h
或
df -Th

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

在客户机/tmp目录中进行查看是否同步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5、设置自动挂载

vim /etc/fstab
192.168.153.126:/opt/lcl /tmp nfs defaults,_netdev 0 0
netdev:表示挂载设备需要网络

在这里插入图片描述

2.6、验证自动挂载

在这里插入图片描述

2.7、强制卸载NFS

如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行df-h
命令卡死的现象。这个时候直接使用umount命令是无法直接卸载的,需要加上-lf选项才能卸载。
umount -lf /myshare
### 配置和使用NFS共享存储 #### NFS简介 NFS(Network File System),即网络文件系统,是由Sun Microsystems开发的一种分布式文件系统协议。它允许不同主机间的文件共享,使得远程文件访问如同本地文件操作一般便捷[^2]。 #### 安装NFS工具 为了实现NFS功能,在服务器上需安装`nfs-utils`软件包。该工具提供了必要的守护进程和服务来管理NFS共享。 ```bash yum install -y nfs-utils ``` #### 修改配置文件 编辑`/etc/exports`文件以定义要共享的目录及其权限设置。例如: ```plaintext [nfs root ~]# cat /etc/exports /nfs-data 172.16.1.0/24(rw,sync) ``` 上述配置表示将`/nfs-data`目录共享给子网`172.16.1.0/24`内的所有设备,并赋予读写权限,同时启用同步模式以提高数据一致性[^3]。 #### 启动并设置NFS服务开机自启 确认NFS服务已启动且设置了开机自动运行非常重要。如果发现服务未正常工作,则可以通过以下命令解决: ```bash [root@Client ~]# systemctl status nfs-server ○ nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@Client ~]# systemctl enable --now nfs-server.service Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service. ``` 这一步确保了即使重启机器后,NFS服务仍能继续提供文件共享能力[^4]。 #### 常用命令总结 以下是几个常用的NFS管理命令: - `-v`: 查看当前主机所有的NFS共享状态。 - `-r`: 让NFS重新加载配置文件并应用新的共享设定。 - `-a`: 显示本机全部已经激活的NFS共享列表。 - `-au`: 终止所有正在进行中的NFS共享活动[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值