Quantcast
Channel: 小蓝博客
Viewing all articles
Browse latest Browse all 3155

Ubuntu安装NFS详细步骤

$
0
0

在 Ubuntu 上安装 NFS(Network File System)可以让你在网络中共享目录,使多个系统能够挂载同一文件系统。这种方式非常适合跨服务器共享数据。下面是详细的安装和配置步骤,包括 NFS 服务器和客户端的设置。

1. NFS 服务器端配置

1.1 安装 NFS 服务器软件

首先,在要配置为 NFS 服务器的 Ubuntu 系统上安装 NFS 服务器包 nfs-kernel-server

sudo apt update
sudo apt install nfs-kernel-server

解释

  • sudo apt update 更新软件包列表,确保获取最新的安装包版本。
  • sudo apt install nfs-kernel-server 安装 NFS 服务器软件包。

1.2 创建共享目录

在 NFS 服务器上,创建一个目录,用于共享给客户端。假设我们创建一个共享目录 /srv/nfs/share

sudo mkdir -p /srv/nfs/share
sudo chown nobody:nogroup /srv/nfs/share
sudo chmod 755 /srv/nfs/share

解释

  • sudo mkdir -p /srv/nfs/share 创建共享目录。
  • sudo chown nobody:nogroup /srv/nfs/share 将目录的所有者和用户组设置为 nobodynogroup,这是 NFS 默认的非特权用户。
  • sudo chmod 755 /srv/nfs/share 设置目录的权限,使其对所有用户可读并且目录所有者可以写入。

1.3 配置 NFS 导出目录

编辑 NFS 导出的配置文件 /etc/exports,将你想要共享的目录添加到其中。

sudo vi /etc/exports

在文件末尾添加如下内容:

/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check)

解释

  • /srv/nfs/share 是要共享的目录。
  • 192.168.1.0/24 指定允许访问该共享目录的客户端网络地址范围(例如:192.168.1.0 到 192.168.1.255)。
  • rw 允许客户端具有读写权限。
  • sync 确保数据同步写入磁盘,保证数据一致性。
  • no_subtree_check 禁用子树检查,提升性能。

保存并退出编辑器。

1.4 启动并启用 NFS 服务

编辑完成后,启动 NFS 服务并让它开机自动启动:

sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server

解释

  • sudo systemctl restart nfs-kernel-server 启动或重启 NFS 服务器服务。
  • sudo systemctl enable nfs-kernel-server 将 NFS 服务设为开机自动启动。

1.5 配置防火墙(可选)

如果服务器上启用了防火墙(如 ufw),需要开放 NFS 服务所需的端口:

sudo ufw allow from 192.168.1.0/24 to any port nfs

解释

  • sudo ufw allow from 192.168.1.0/24 to any port nfs 允许客户端网络访问 NFS 服务器的 NFS 端口。

2. NFS 客户端配置

2.1 安装 NFS 客户端软件

在需要挂载 NFS 共享的 Ubuntu 客户端上,安装 NFS 客户端软件包 nfs-common

sudo apt update
sudo apt install nfs-common

解释

  • sudo apt install nfs-common 安装 NFS 客户端软件包,用于与 NFS 服务器交互。

2.2 挂载 NFS 共享

创建一个目录作为挂载点,然后通过 NFS 将服务器的共享目录挂载到本地。

sudo mkdir -p /mnt/nfs/share
sudo mount 192.168.1.10:/srv/nfs/share /mnt/nfs/share

解释

  • sudo mkdir -p /mnt/nfs/share 在客户端创建挂载目录。
  • sudo mount 192.168.1.10:/srv/nfs/share /mnt/nfs/share 将服务器 192.168.1.10 的共享目录 /srv/nfs/share 挂载到客户端的 /mnt/nfs/share

2.3 验证挂载

使用 df -h 命令查看挂载情况,确认 NFS 共享是否正确挂载:

df -h

解释

  • df -h 显示挂载的文件系统及其使用情况,检查 NFS 共享是否挂载成功。

2.4 持久化挂载

为了使系统重启后自动挂载 NFS 共享,需要将挂载信息添加到 /etc/fstab 文件中。

编辑 /etc/fstab

sudo vi /etc/fstab

在文件末尾添加以下内容:

192.168.1.10:/srv/nfs/share /mnt/nfs/share nfs defaults 0 0

解释

  • 192.168.1.10:/srv/nfs/share 是服务器上的 NFS 共享路径。
  • /mnt/nfs/share 是本地挂载点。
  • nfs defaults 指定文件系统类型为 NFS,使用默认挂载选项。

保存并退出编辑器。

2.5 测试自动挂载

重启系统或运行以下命令,验证是否能够自动挂载:

sudo mount -a

解释

  • sudo mount -a 挂载 /etc/fstab 中定义的所有文件系统,确保配置正确。

3. 常见问题及解决方案

3.1 客户端无法访问 NFS 共享

如果客户端无法访问 NFS 共享,可能是由于防火墙或 NFS 服务未启动所致。可以通过以下步骤排查:

  1. 检查 NFS 服务是否正在运行

    sudo systemctl status nfs-kernel-server
  2. 检查服务器防火墙设置,确保相关端口已开放。

3.2 挂载时报错:mount.nfs: access denied by server while mounting

可能的原因是服务器的 /etc/exports 文件中配置了错误的 IP 地址范围。确保 /etc/exports 中的 IP 范围正确无误。

3.3 挂载成功但权限不足

确保共享目录的权限正确,并且在 /etc/exports 中设置了合适的读写权限(如 rw 选项)。

4. NFS 安装与配置流程分析表

步骤说明
安装 NFS 服务器在服务器上安装 nfs-kernel-server 软件包
创建共享目录在服务器上创建要共享的目录,并设置相应的权限
配置 NFS 导出目录/etc/exports 文件中定义要共享的目录及其访问权限
启动 NFS 服务启动 NFS 服务器并设为开机自动启动
配置防火墙(可选)如果有防火墙,允许客户端访问 NFS 端口
安装 NFS 客户端在客户端上安装 nfs-common 软件包
挂载 NFS 共享在客户端上挂载 NFS 共享目录,并测试挂载情况
持久化挂载/etc/fstab 中添加挂载信息,确保系统重启后自动挂载

5. 总结

通过本文的详细步骤,您可以在 Ubuntu 系统上成功配置 NFS 服务器并让客户端挂载 NFS 共享。NFS 是一种强大的文件共享系统,适用于局域网中的文件共享和跨服务器的数据同步。注意确保 NFS 的防火墙设置和网络权限正确,以防止不必要的访问问题。


Viewing all articles
Browse latest Browse all 3155

Latest Images

Trending Articles