linux笔记(NFS服务)
-
NFS 简介
- 定义:NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,允许用户通过网络在不同的主机之间共享文件和目录。它使得本地计算机可以像访问本地文件系统一样访问远程服务器上的文件。
- 工作原理:基于客户端 - 服务器模型。服务器端将共享的文件系统目录通过 NFS 协议导出,客户端则通过挂载(mount)这些共享目录到本地文件系统的挂载点来访问其中的文件。在这个过程中,NFS 使用远程过程调用(RPC)机制来实现通信。
- 主要应用场景:适用于企业内部网络环境,用于在服务器和客户端之间共享文件,如共享公司内部的文档、代码仓库、用户数据等。
-
NFS工作流程图:
-
大致流程:
-
首先服务器先启动rpc服务,并开启111端口
-
服务器端启动nfs服务,并向rpc注册端口信息
-
客户端启动rpc服务,向服务端的rpc请求服务器的nfs端口
-
服务端的rpc服务反馈nfs端口信息给客户端
-
-
NFS 服务器端设置
- 安装 NFS 软件包:在服务器端,需要安装 NFS 相关软件。在 CentOS 中可以使用
yum install nfs - utils
命令安装, - 配置共享目录:
- 主要配置文件:在 CentOS 等系统中,NFS 的配置文件通常是
/etc/exports
。通过编辑这个文件来指定要共享的目录、允许访问的客户端以及访问权限等信息。例如,要共享/data/shared
目录给网络中的192.168.1.0/24
网段的客户端,并且允许读写访问,可以在/etc/exports
文件中添加一行/data/shared 192.168.1.0/24(rw)
。 - 权限设置细节:权限选项除了
rw
(读写),还有ro
(只读)。另外,可以设置sync
或async
来控制数据同步方式。sync
表示服务器在回应客户端请求之前将数据写入磁盘,更加安全但性能稍低;async
则是先回应客户端请求,之后再将数据写入磁盘,性能较好但可能在服务器崩溃时有数据丢失风险。
- 主要配置文件:在 CentOS 等系统中,NFS 的配置文件通常是
- 启动和管理 NFS 服务:
- 启动服务:在 CentOS 中,使用
systemctl start nfs - server
命令启动 NFS 服务 - 检查服务状态:可以使用
systemctl status nfs - server
命令来检查服务是否正常运行。并且可以通过exportfs - v
命令来查看当前已经共享的目录及其权限等详细信息。
- 启动服务:在 CentOS 中,使用
- 安装 NFS 软件包:在服务器端,需要安装 NFS 相关软件。在 CentOS 中可以使用
-
NFS 客户端设置
- 安装 NFS 客户端软件:客户端也需要安装相应的软件来支持 NFS 访问。在 CentOS 中可以使用
yum install nfs - utils
- 挂载 NFS 共享目录:
- 命令挂载:使用
mount - t nfs <服务器IP地址或主机名>:<共享目录> <本地挂载点>
命令来挂载 NFS 共享目录。例如,要挂载前面服务器共享的/data/shared
目录到本地的/mnt/nfs
目录,假设服务器 IP 是192.168.1.100
,则可以使用mount - t nfs 192.168.1.100:/data/shared /mnt/nfs
命令。 - 自动挂载(fstab):为了在系统启动时自动挂载 NFS 共享目录,可以将挂载信息添加到
/etc/fstab
文件中。例如,添加一行192.168.1.100:/data/shared /mnt/nfs nfs defaults 0 0
,这样系统启动时就会自动挂载该 NFS 共享目录。不过在修改/etc/fstab
后,需要谨慎检查挂载信息是否正确,否则可能导致系统启动故障。
- 命令挂载:使用
- 访问 NFS 共享文件:挂载成功后,客户端就可以像访问本地文件一样访问 NFS 共享目录中的文件。可以使用文件系统相关的命令(如
ls
、cp
、mv
等)来操作共享文件。
- 安装 NFS 客户端软件:客户端也需要安装相应的软件来支持 NFS 访问。在 CentOS 中可以使用