跳到主要内容

CentOS NFS 配置

介绍

NFS(Network File System,网络文件系统)是一种允许不同计算机之间通过网络共享文件和目录的协议。它广泛应用于 Linux 和 Unix 系统中,使得多台机器可以像访问本地文件一样访问远程文件。在 CentOS 中,NFS 是一个强大的工具,特别适用于需要在多台服务器之间共享数据的场景。

本教程将逐步指导你如何在 CentOS 中配置 NFS 服务器和客户端,并提供一个实际案例来帮助你理解其应用。

备注

NFS 依赖于 RPC(远程过程调用)服务,因此在配置 NFS 之前,请确保 rpcbind 服务已安装并运行。

1. 安装 NFS 服务器

首先,我们需要在 CentOS 服务器上安装 NFS 服务器软件包。

bash
sudo yum install nfs-utils

安装完成后,启动并启用 NFS 服务:

bash
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
提示

你可以使用以下命令检查 NFS 服务状态:

bash
sudo systemctl status nfs-server

2. 配置 NFS 共享目录

接下来,我们需要配置 NFS 服务器以共享特定的目录。假设我们要共享 /mnt/shared 目录。

首先,创建共享目录并设置权限:

bash
sudo mkdir -p /mnt/shared
sudo chmod 777 /mnt/shared

然后,编辑 NFS 配置文件 /etc/exports,添加以下内容:

bash
/mnt/shared 192.168.1.0/24(rw,sync,no_root_squash)
警告
  • 192.168.1.0/24 表示允许访问的客户端 IP 范围。你可以根据需要修改为特定的 IP 或子网。
  • rw 表示允许读写权限。
  • sync 表示同步写入,确保数据一致性。
  • no_root_squash 允许客户端以 root 用户身份访问共享目录。

保存并退出后,重新加载 NFS 配置:

bash
sudo exportfs -a

3. 配置 NFS 客户端

在客户端机器上,同样需要安装 NFS 客户端软件包:

bash
sudo yum install nfs-utils

然后,创建一个本地挂载点并挂载 NFS 共享目录:

bash
sudo mkdir -p /mnt/nfs_shared
sudo mount -t nfs 192.168.1.100:/mnt/shared /mnt/nfs_shared
备注
  • 192.168.1.100 是 NFS 服务器的 IP 地址。
  • /mnt/shared 是服务器上共享的目录。
  • /mnt/nfs_shared 是客户端上的挂载点。

你可以使用以下命令验证挂载是否成功:

bash
df -h

4. 自动挂载 NFS 共享

为了在系统重启后自动挂载 NFS 共享,我们需要编辑 /etc/fstab 文件:

bash
192.168.1.100:/mnt/shared /mnt/nfs_shared nfs defaults 0 0

保存并退出后,使用以下命令测试配置是否正确:

bash
sudo mount -a

5. 实际案例:多服务器共享日志文件

假设你有一个由多台服务器组成的集群,每台服务器都会生成日志文件。为了方便集中管理,你可以使用 NFS 将所有日志文件存储在一个共享目录中。

  1. 在 NFS 服务器上创建共享目录 /var/log/cluster_logs
  2. 配置 NFS 共享该目录。
  3. 在每台客户端服务器上挂载该目录到 /var/log/cluster_logs
  4. 配置日志服务将日志文件写入挂载的目录。

这样,所有服务器的日志文件都会集中存储在 NFS 服务器上,便于管理和分析。

总结

通过本教程,你学会了如何在 CentOS 中配置 NFS 服务器和客户端,并了解了 NFS 的实际应用场景。NFS 是一个强大的工具,特别适用于需要在多台服务器之间共享数据的场景。

附加资源

练习

  1. 尝试在本地虚拟机上配置 NFS 服务器和客户端。
  2. 修改 NFS 共享目录的权限,观察客户端的行为变化。
  3. 配置一个自动挂载的 NFS 共享,并测试其重启后的效果。