NFS共享存储部署

程小虎2025-12-23 21:49:06

📦 NFS共享存储部署


📌 文档信息

  • 作者: 程小虎
  • 创建时间: 2025-12-30
  • 最近修订: 2025-12-30
  • 版本号: v1.0

📄 使用场景

在NFS(网络文件系统)的共享存储场景中,它主要用于在企业或组织内部实现高效的文件共享和访问。NFS允许用户通过网络访问服务器上存储的文件,就像访问本地文件系统一样。以下是NFS共享存储的一些主要场景:

  1. 文件共享‌:
    • 部门间协作‌:不同部门或团队可以通过NFS共享存储来共享文档、报告和其他文件,提高协作效率。
    • 项目文件共享‌:在项目管理中,团队成员可以访问同一份文件进行编辑和更新,无需通过电子邮件传递文件。
  2. 备份和恢复‌:
    • 集中备份‌:企业可以将关键数据备份到NFS服务器上,便于集中管理和灾难恢复。
    • 快速恢复‌:在数据丢失或损坏的情况下,可以从NFS服务器快速恢复数据。
  3. 软件开发和测试‌:
    • 代码库共享‌:开发团队可以通过NFS共享其代码库,使得所有成员都能访问最新的代码版本。
    • 测试环境‌:开发和测试团队可以共享测试数据和配置文件,确保测试环境的统一性和一致性。
  4. 媒体和内容管理‌:
    • 视频和图片存储‌:媒体内容(如视频、图片等)可以通过NFS共享存储,便于编辑和管理。
    • 内容分发‌:在企业内部或向客户分发内容时,使用NFS可以确保高效的内容访问和分发。
  5. 虚拟化和容器化环境‌:
    • 虚拟机镜像存储‌:虚拟化环境中,虚拟机镜像可以存储在NFS共享上,便于快速部署和管理。
    • 容器存储‌:容器化应用(如Docker)可以利用NFS作为持久化存储,提高数据的一致性和可管理性。
  6. 集中日志管理‌:
    • 日志收集‌:将服务器和应用日志集中存储在NFS上,便于集中管理和分析。
    • 监控和告警‌:基于日志数据进行系统监控和告警设置。

📄 实施NFS的考虑因素

  • 性能‌:对于需要高IO性能的应用(如数据库或大型视频文件),需要考虑NFS服务器的性能和配置。
  • 安全性‌:通过使用如Kerberos认证、加密传输(如NFSv4 with Kerberos)等手段增强数据安全性。
  • 容错性‌:确保NFS服务的高可用性,可以通过设置多个服务器或使用冗余存储技术来实现。
  • 兼容性‌:确保客户端操作系统与NFS服务器的版本兼容。

✨ 介绍

  • 本教程使用脚本安装,可实现一键安装,整个安装过程只需要一条命令即可
  • 本教程采用离线方式安装,可在内网环境中部署
  • 本教程包含NFS的服务端部署与客户端部署

✅ 支持的系统

目前脚本实测支持以下Linux发行版

Linux系统发行版是否支持
Redhat、CentOS、OracleLinux、RockyLinux、AlmaLinux >= 7 全系
OpenEuler >= 20 全系
Ubuntu >= 20 全系
AnolisOS >= 7 全系
统信 UOS V20 1070a/1070e
银河麒麟 Kylin >= V10 全系
中标麒麟 NeoKylin V7 全系
中科方德 NFSCNS 4.0 全系
磐宁 NingOS V3.0 全系

📄 前置条件说明

在配置SSH共享存储之前,需要满足一些前置条件,否则可能会导致配置NFS共享存储失败

  • 防止因为系统版本差异带来不可预测的问题

📄 服务端安装

📤 上传安装包

安装过程中需要使用root用户进行安装,若系统当前用户为非root用户(必须是配置了sudo免密),则先执行下面命令切换为root用户

sudo su - root

执行下面命令,创建文件上传目录

mkdir /soft

将安装包对应的文件夹 [ ],上传至/soft 路径下,若一开始登录的时非root用户,可以先上传到 /tmp 路径下,然后移动到 /soft

  • nfs-utils.tar.gz:NFS离线安装包
  • install_nfs_server.sh:一键安装脚本
[root@huge ~]# cd /soft/nfs-server/
[root@huge nfs-server]# ll
总用量 13180
-rw-r--r--. 1 root root    18697 1230 21:50 install_nfs_server.sh
-rw-r--r--. 1 root root 13473033 1230 21:50 nfs-utils.tar.gz

📄 脚本参数说明

执行 bash install_nfs_server.sh -h 命令,可以查看脚本参数说明

[root@huge nfs-server]# bash install_nfs_server.sh -h

 ██████   █████ ███████████  █████████      █████████  ██████████ ███████████   █████   █████ ██████████ ███████████  
░░██████ ░░███ ░░███░░░░░░█ ███░░░░░███    ███░░░░░███░░███░░░░░█░░███░░░░░███ ░░███   ░░███ ░░███░░░░░█░░███░░░░░███ 
 ░███░███ ░███  ░███   █ ░ ░███    ░░░    ░███    ░░░  ░███  █ ░  ░███    ░███  ░███    ░███  ░███  █ ░  ░███    ░███ 
 ░███░░███░███  ░███████   ░░█████████    ░░█████████  ░██████    ░██████████   ░███    ░███  ░██████    ░██████████  
 ░███ ░░██████  ░███░░░█    ░░░░░░░░███    ░░░░░░░░███ ░███░░█    ░███░░░░░███  ░░███   ███   ░███░░█    ░███░░░░░███ 
 ░███  ░░█████  ░███  ░     ███    ░███    ███    ░███ ░███ ░   █ ░███    ░███   ░░░█████░    ░███ ░   █ ░███    ░███ 
 █████  ░░█████ █████      ░░█████████    ░░█████████  ██████████ █████   █████    ░░███      ██████████ █████   █████
░░░░░    ░░░░░ ░░░░░        ░░░░░░░░░      ░░░░░░░░░  ░░░░░░░░░░ ░░░░░   ░░░░░      ░░░      ░░░░░░░░░░ ░░░░░   ░░░░░ 

注意:本脚本支持重复运行                                                                                  

用法: install_nfs_server.sh [选项] 对象 { 命令 | help }                                                                                  
-d                   共享文件目录(不存在会自动创建)                                                   

命令示例:                                                                                       

bash install_nfs_server.sh -d /netshare 

📄 安装执行

修改参数示例中的内容自己设置的,然后执行脚本安装即可

[root@huge nfs-server]# bash install_nfs_server.sh -d /sie/nfs

 ██████   █████ ███████████  █████████      █████████  ██████████ ███████████   █████   █████ ██████████ ███████████  
░░██████ ░░███ ░░███░░░░░░█ ███░░░░░███    ███░░░░░███░░███░░░░░█░░███░░░░░███ ░░███   ░░███ ░░███░░░░░█░░███░░░░░███ 
 ░███░███ ░███  ░███   █ ░ ░███    ░░░    ░███    ░░░  ░███  █ ░  ░███    ░███  ░███    ░███  ░███  █ ░  ░███    ░███ 
 ░███░░███░███  ░███████   ░░█████████    ░░█████████  ░██████    ░██████████   ░███    ░███  ░██████    ░██████████  
 ░███ ░░██████  ░███░░░█    ░░░░░░░░███    ░░░░░░░░███ ░███░░█    ░███░░░░░███  ░░███   ███   ░███░░█    ░███░░░░░███ 
 ░███  ░░█████  ░███  ░     ███    ░███    ███    ░███ ░███ ░   █ ░███    ░███   ░░░█████░    ░███ ░   █ ░███    ░███ 
 █████  ░░█████ █████      ░░█████████    ░░█████████  ██████████ █████   █████    ░░███      ██████████ █████   █████
░░░░░    ░░░░░ ░░░░░        ░░░░░░░░░      ░░░░░░░░░  ░░░░░░░░░░ ░░░░░   ░░░░░      ░░░      ░░░░░░░░░░ ░░░░░   ░░░░░ 

注意:本脚本支持重复运行                                                                                  

nfs-server 安装成功,共享目录如下:                                                                                  

Export list for huge:
/sie/nfs *

📄 客户端安装

  • 若有多个客户端,每个节点依次执行即可

📤 上传安装包

安装过程中需要使用root用户进行安装,若系统当前用户为非root用户(必须是配置了sudo免密),则先执行下面命令切换为root用户

sudo su - root

执行下面命令,创建文件上传目录

mkdir /soft

将安装包对应的文件夹 [ ],上传至/soft 路径下,若一开始登录的时非root用户,可以先上传到 /tmp 路径下,然后移动到 /soft

  • nfs-utils.tar.gz:NFS离线安装包
  • install_nfs_client.sh:一键安装脚本
[root@huge ~]# cd /soft/nfs-client
[root@huge nfs-client]# ll
总用量 13180
-rw-r--r--. 1 root root    17308 1230 21:54 install_nfs_client.sh
-rw-r--r--. 1 root root 13473033 1230 21:54 nfs-utils.tar.gz

📄 脚本参数说明

执行 bash install_nfs_client.sh -h 命令,可以查看脚本参数说明

[root@huge nfs-client]# bash install_nfs_client.sh -h

 ██████   █████ ███████████  █████████       █████████  █████       █████ ██████████ ██████   █████ ███████████
░░██████ ░░███ ░░███░░░░░░█ ███░░░░░███     ███░░░░░███░░███       ░░███ ░░███░░░░░█░░██████ ░░███ ░█░░░███░░░█
 ░███░███ ░███  ░███   █ ░ ░███    ░░░     ███     ░░░  ░███        ░███  ░███  █ ░  ░███░███ ░███ ░   ░███  ░ 
 ░███░░███░███  ░███████   ░░█████████    ░███          ░███        ░███  ░██████    ░███░░███░███     ░███    
 ░███ ░░██████  ░███░░░█    ░░░░░░░░███   ░███          ░███        ░███  ░███░░█    ░███ ░░██████     ░███    
 ░███  ░░█████  ░███  ░     ███    ░███   ░░███     ███ ░███      █ ░███  ░███ ░   █ ░███  ░░█████     ░███    
 █████  ░░█████ █████      ░░█████████     ░░█████████  ███████████ █████ ██████████ █████  ░░█████    █████   
░░░░░    ░░░░░ ░░░░░        ░░░░░░░░░       ░░░░░░░░░  ░░░░░░░░░░░ ░░░░░ ░░░░░░░░░░ ░░░░░    ░░░░░    ░░░░░ 

注意:本脚本支持重复运行                                                                                  

用法: install_nfs_client.sh [选项] 对象 { 命令 | help }                                                                                 
-si                  NFS服务端IP                                                                   

命令示例:                                                                                       

bash install_nfs_client.sh -si "192.168.80.10"                                                                                  

📄 安装执行

修改参数示例中的内容自己设置的,然后执行脚本安装即可

[root@huge nfs-client]# bash install_nfs_client.sh -si "192.168.80.19"

 ██████   █████ ███████████  █████████       █████████  █████       █████ ██████████ ██████   █████ ███████████
░░██████ ░░███ ░░███░░░░░░█ ███░░░░░███     ███░░░░░███░░███       ░░███ ░░███░░░░░█░░██████ ░░███ ░█░░░███░░░█
 ░███░███ ░███  ░███   █ ░ ░███    ░░░     ███     ░░░  ░███        ░███  ░███  █ ░  ░███░███ ░███ ░   ░███  ░ 
 ░███░░███░███  ░███████   ░░█████████    ░███          ░███        ░███  ░██████    ░███░░███░███     ░███    
 ░███ ░░██████  ░███░░░█    ░░░░░░░░███   ░███          ░███        ░███  ░███░░█    ░███ ░░██████     ░███    
 ░███  ░░█████  ░███  ░     ███    ░███   ░░███     ███ ░███      █ ░███  ░███ ░   █ ░███  ░░█████     ░███    
 █████  ░░█████ █████      ░░█████████     ░░█████████  ███████████ █████ ██████████ █████  ░░█████    █████   
░░░░░    ░░░░░ ░░░░░        ░░░░░░░░░       ░░░░░░░░░  ░░░░░░░░░░░ ░░░░░ ░░░░░░░░░░ ░░░░░    ░░░░░    ░░░░░ 

注意:本脚本支持重复运行                                                                                  

nfs-client 安装成功,发现NFS服务端如下:                                                                                  

Export list for 192.168.80.19:
/sie/nfs *

最近更新 3/19/2026, 9:06:05 AM