NFS共享存储部署
程小虎2025-12-23 21:49:06
📦 NFS共享存储部署
📌 文档信息
- 作者: 程小虎
- 创建时间: 2025-12-30
- 最近修订: 2025-12-30
- 版本号: v1.0
📄 使用场景
在NFS(网络文件系统)的共享存储场景中,它主要用于在企业或组织内部实现高效的文件共享和访问。NFS允许用户通过网络访问服务器上存储的文件,就像访问本地文件系统一样。以下是NFS共享存储的一些主要场景:
- 文件共享:
- 部门间协作:不同部门或团队可以通过NFS共享存储来共享文档、报告和其他文件,提高协作效率。
- 项目文件共享:在项目管理中,团队成员可以访问同一份文件进行编辑和更新,无需通过电子邮件传递文件。
- 备份和恢复:
- 集中备份:企业可以将关键数据备份到NFS服务器上,便于集中管理和灾难恢复。
- 快速恢复:在数据丢失或损坏的情况下,可以从NFS服务器快速恢复数据。
- 软件开发和测试:
- 代码库共享:开发团队可以通过NFS共享其代码库,使得所有成员都能访问最新的代码版本。
- 测试环境:开发和测试团队可以共享测试数据和配置文件,确保测试环境的统一性和一致性。
- 媒体和内容管理:
- 视频和图片存储:媒体内容(如视频、图片等)可以通过NFS共享存储,便于编辑和管理。
- 内容分发:在企业内部或向客户分发内容时,使用NFS可以确保高效的内容访问和分发。
- 虚拟化和容器化环境:
- 虚拟机镜像存储:虚拟化环境中,虚拟机镜像可以存储在NFS共享上,便于快速部署和管理。
- 容器存储:容器化应用(如Docker)可以利用NFS作为持久化存储,提高数据的一致性和可管理性。
- 集中日志管理:
- 日志收集:将服务器和应用日志集中存储在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 12月 30 21:50 install_nfs_server.sh
-rw-r--r--. 1 root root 13473033 12月 30 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 12月 30 21:54 install_nfs_client.sh
-rw-r--r--. 1 root root 13473033 12月 30 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 *
