NFS(网络文件系统)

简介:

系统版本:CentOS7.X

概念


NFS(Network File System)名为网络文件系统,是一种用于网络中主机与主机之间共享文件的一种服务。它把主机上要共享的目录通过文件系统的方式挂载到网络中的主机上,让网络中的主机访问共享目录就如同访问自己本地的磁盘分区一样。

NFS一般用于企业内网文件共享,相对Samba传输效率较好,相对vSFTP安全性较低。

NFS依赖于RPC(远程调用)服务,NFS支持的功能很多,每启动一个功能都需要启用一些端口来传输数据,NFS功能所对应的端口都是随机去用一些小于1024的端口。而RPC的最主要的功能就是定位对应功能的端口号并告诉给客户端连接。

NFS启动的RPC Daemons(守护进程):

  • rpc.nfsd   :NFS主要服务进程,用于管理挂载信息,判断登陆用户的ID,身份验证等。

  • rpc.mountd :当客户端成功访问并将共享目录挂载到本地,提供文件权限管理功能。

  • rpc.lock   :提供文件是否锁定(Lock)方面功能。(非必要开启)

  • rpc.statd  :用来检查文件的一致性,用于恢复损坏的文件,与rpc.lock相关,需要客户端与服务端同时开启此功能。(非必要开启)


服务端:搭建NFS服务


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

# yum -y install nfs-utils rpcbind

二、创建要共享的目录并授权,将目录增加到NFS中托管

# mkdir /data                   (创建要共享的目录

# chmod 007 /data                (授权共享目录,007表示其他用户将拥有可读、可写、可执行权限。NFS默认用户为“nfsnobody”,也可以使用“chown nfsnobody.nfsnobody /data”命令授权。

# vi /etc/exports                (将目录加入到NFS中托管,在exports文件中增加条目

/data 192.168.116.0/24(rw,sync)       #书写格式:/共享目录 指定IP网段/掩码(参数1,参数2)

三、开启服务

# systemctl start rpcbind        (必须首先启动RPC服务

# systemctl start nfs             (启动NFS服务

# netstat -lnupt |grep rpc          (查看端口情况


客户端:挂载NFS共享目录


一、挂载NFS共享目录到本地

# mount 192.168.116.130:/home /mnt   #挂载命令:mount NFS服务器地址:/共享目录  本地挂载目录


配置完整解读


配置文件路径:/etc/exports

配置格式:

NFS共享的目录     NFS客户端地址1(参数1,参数2) NFS客户端地址2(参数1,参数2)


配置说明

一、NFS共享的目录:

使用绝对路径指定目录路径,如:/data

二、NFS客户端地址:

指定主机IP,如:192.168.1.1

指定主机网段,如:192.168.1.0/24

指定所有主机,如:*

三、参数:

ro                 #拥有只读的权限

rw                 #拥有可读可写的权限

sync                #将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性(同步传输)

async                    #将数据先保存在内存缓冲区中,必要时才写入磁盘(异步传输)

all_squash                 #将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)

no_all_squash               #与all_squash取反(默认设置),默认使用nfsnobody匿名用户

root_squash                #将root用户及所属组都映射为匿名用户或用户组(默认设置)

no_root_squash           #与rootsquash取反

anonuid=xxx                #将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=XXX)

anongid=xxx                #将远程访问的所有用户组都映射为匿名用户组账户

本文转自   触动的风   51CTO博客,原文链接:http://blog.51cto.com/10978134/2043983

相关文章
|
6月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
342 15
|
7月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
1113 7
|
8月前
|
存储 网络协议 安全
软件管理,磁盘存储,文件系统以及网络协议
【11月更文挑战第9天】本文介绍了软件管理、磁盘存储和网络协议等内容。软件管理包括软件生命周期管理和软件包管理,涉及需求分析、设计、实现、测试、发布、维护等阶段,以及软件包的安装、升级和依赖关系处理。磁盘存储部分讲解了磁盘的物理结构、分区与格式化、存储管理技术(如 RAID 和存储虚拟化)。网络协议部分涵盖了分层模型、重要协议(如 HTTP、TCP、IP)及其应用与安全。
128 5
|
9月前
|
存储 安全 Unix
网络文件系统 (NFS)
【10月更文挑战第12天】
345 5
|
9月前
|
存储 缓存 安全
网络文件系统 (NFS)
【10月更文挑战第11天】
187 1
|
9月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
434 0
|
11月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
149 0
|
11月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
127 0
|
11月前
|
存储 Ubuntu Linux
NFS服务部署全攻略:从零到一,轻松驾驭网络文件系统,让你的文件共享像飞一样畅快无阻!
【8月更文挑战第5天】NFS(网络文件系统)能让网络中的电脑无缝共享文件与目录。基于客户端-服务器模式,用户可像访问本地文件般透明操作远程文件。部署前需准备至少两台Linux机器:一台服务器,其余作客户端;确保已装NFS相关软件包且网络通畅。服务器端安装NFS服务与rpcbind,客户端安装nfs-utils。
537 4
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)