CentOS7部署NFS

  • CentOS7部署NFS已关闭评论
  • 141 次浏览
  • A+
所属分类:linux技术
摘要

最近需要把大数据测试环境的虚拟机迁移到另一台物理机上,其中数据库文件过大,一般的上传文件有大小限制不能超过4GB,可以通过NFS共享目录解决文件上传问题。


实现背景

最近需要把大数据测试环境的虚拟机迁移到另一台物理机上,其中数据库文件过大,一般的上传文件有大小限制不能超过4GB,可以通过NFS共享目录解决文件上传问题。

NFS介绍

NFS介绍NFS 即网络文件系统(Network File-System),可以通过网络让不同机器、不同系统之间可以实现文件共享。通过 NFS,可以访问远程共享目录,就像访问本地磁盘一样。NFS 只是一种文件系统,本身并没有传输功能,是基于 RPC(远程过程调用)协议实现的,采用 C/S 架构。

目标:实现A共享目录,B访问A。
前置条件:准备两台主机A和B,且在同一局域网。

1.A安装NFS软件包

sudo yum install nfs-utils 

2.配置 NFS 服务端

编辑 /etc/exports 文件,添加需要共享的目录及其权限设置。
例如,假设我们需要共享 /mnt/data 目录,并且允许所有客户端读写访问:

/mnt/data  *(rw,sync,no_root_squash) 

其中:

  • /mnt/data 是需要共享的目录。
  • ‘* 表示允许所有客户端访问。
  • rw 表示允许读写访问。
  • sync 表示同步写入磁盘,保证数据的安全性。
  • no_root_squash 表示允许 root 用户访问共享目录。
    保存修改后,使用以下命令重新加载配置:
    sudo exportfs -r

3.启动 NFS 服务端

使用以下命令启动 NFS 服务端:

sudo systemctl start nfs-server 

可以使用以下命令检查服务是否已启动:

sudo systemctl status nfs-server 

4.B配置 NFS 客户端

在B上,安装 NFS 软件包:

sudo yum install nfs-utils 

然后,使用以下命令挂载共享目录:

sudo mount server:/mnt/data /mnt/nfs 

其中:

  • server 是 NFS 服务端的 IP 地址或主机名。
  • /mnt/data 是共享的目录。
  • /mnt/nfs 是挂载到客户端上的目录。

5.验证 NFS 服务

可以在客户端上创建、修改、删除文件,然后在服务端上查看是否同步更新。
如果需要卸载 NFS 共享目录,可以使用以下命令:

sudo umount /mnt/nfs 

可能出现的问题

mount.nfs: No route to host
这个错误通常表示无法到达目标主机。请确保在执行该命令之前,您的机器可以访问目标机器的 IP 地址,并且目标机器上的 NFS 服务正在运行。
您可以通过以下几种方法来解决这个问题:

  1. 检查网络连接
    请检查您的机器与目标机器之间的网络连接,确保它们可以互相访问。您可以尝试使用 ping 命令来测试网络连接,例如:
ping 192.168.2.164 

如果无法 ping 通目标机器,可能需要检查您的网络设置或防火墙配置。
2. 检查目标机器的 NFS 服务状态
请确保目标机器上的 NFS 服务正在运行,并且已正确配置共享目录。您可以尝试在目标机器上使用以下命令检查 NFS 服务状态
3. 检查目标机器的防火墙设置
如果目标机器的防火墙已启用,请确保已将 NFS 服务端口添加到防火墙规则中。NFS 默认使用 TCP 和 UDP 端口 2049。您可以尝试使用以下命令检查目标机器上的防火墙设置:

firewall-cmd --list-all 

如果需要,请添加防火墙规则,例如:

firewall-cmd --add-service=nfs --permanent firewall-cmd --reload