部署DFS仓库及NFS共享服务
一、DFS简介DFS(Distributed File System,分布式文件系统)通过将多个节点的存储资源整合,为用户提供统一的文件访问入口,实现数据的分布式存储、冗余备份和负载均衡,提升存储系统的扩展性和可靠性。本笔记以常见的开源DFS方案(如GlusterFS)为例,记录部署流程。配置DFS/etc/yum.repos.d目录中保存着零个或多个repo源相关文件,也可以定义不同的”repo
一、DFS简介
DFS(Distributed File System,分布式文件系统)通过将多个节点的存储资源整合,为用户提供统一的文件访问入口,实现数据的分布式存储、冗余备份和负载均衡,提升存储系统的扩展性和可靠性。本笔记以常见的开源DFS方案(如GlusterFS)为例,记录部署流程。
配置DFS
/etc/dnf/dnf.conf:
- 主要的配置文件
- main:部分保存着DNF的全局设置
- repository:部分保存着软件源的设置,可以有零个或多个”repository“
配置main部分
|
参数名 |
作用 |
|
gpgcheck=1 |
启用 GPG 签名校验,安装包时验证来源合法性(防止恶意软件) |
|
installonly_limit=3 |
限制 “仅安装型” 包(如内核)的保留数量,最多保留 3 个旧版本 |
|
clean_requirements_on_remove=True |
卸载包时自动清理不再被依赖的依赖包(避免残留无用文件) |
|
best=True |
优先选择 “最佳匹配” 的包版本(通常是最稳定、兼容性最好的版本) |
|
skip_if_unavailable=False |
仓库不可用时不跳过,若仓库故障会报错(保证安装源可靠性) |
常用选项的作用以及默认值

配置repository部分
在/etc/dnf/dnf.conf文件中的 ”repository“
软件源(repository/repo):Linux 系统的软件安装 / 更新仓库,存储了预编译的软件包、依赖关系、包索引等信息,通过包管理器(yum/dnf/apt/zypper)实现软件的一键安装、升级、卸载,无需手动编译源码。
核心作用:统一管理软件版本、自动解决依赖、简化软件维护流程,是 Linux 系统管理的基础配置。

配置命令:
dnf config-manager --dump
dnf repolist
dnf config-manager --dump repository
dnf config-manager --dump glob_expression
创建本地软件源仓库
本地软件源仓库是本地化的私有软件包分发中心,存储deb、rpm等格式软件包,供内网设备替代公网源安装软件。
核心价值
-
提速增效:内网传输无公网瓶颈,批量部署更高效。
-
安全可控:隔绝公网风险,可审计软件包,适配隔离环境。
-
节约带宽:一次同步公网源,内网共享资源。
-
灵活定制:支持私有包上传、自定义版本,适配业务需求。
适用场景
企业内网、实验室、无公网环境及对部署速度、安全性有高要求的场景。
主流类型及搭建工具
| 系统/类型 | 包格式 | 搭建工具 | 核心特点 |
|---|---|---|---|
| Debian/Ubuntu | .deb | apt-mirror、reprepro | 适配性强,增量同步,配置简单 |
| CentOS/RHEL | .rpm | createrepo、reposync | 兼容yum/dnf,支持索引生成 |
| Python | .whl、.tar.gz | pypiserver、devpi | 支持私有PyPI源,缓存自定义包 |
| 通用跨平台 | 多种格式 | Nexus OSS、Artifactory OSS | 可视化管理,企业级多格式支持 |
分类型搭建步骤(实操)
Debian/Ubuntu源(apt-mirror)
安装与配置
# 安装工具 sudo apt update && sudo apt install -y apt-mirror apache2 # 配置/etc/apt/mirror.list(核心参数如下) set base_path /var/spool/apt-mirror set defaultarch amd64 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse set clean http://mirrors.aliyun.com/ubuntu/
同步与部署
sudo apt-mirror # 首次同步耗时较长 sudo ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /var/www/html/ubuntu sudo systemctl start apache2 && sudo systemctl enable apache2
客户端配置
替换客户端/etc/apt/sources.list为本地IP,执行sudo apt update生效。
CentOS源(createrepo + reposync)
安装与操作
# 安装依赖 sudo yum install -y createrepo yum-utils httpd # 同步源并生成索引 sudo mkdir -p /var/www/html/centos/7/os/x86_64 sudo reposync -r base -r updates -r extras -r epel --download_path=/var/www/html/centos/7/os/x86_64 sudo createrepo /var/www/html/centos/7/os/x86_64/ # 启动服务 sudo systemctl start httpd && sudo systemctl enable httpd
客户端配置
创建/etc/yum.repos.d/local.repo指向本地IP,执行yum clean all && yum makecache。
Python私有源(pypiserver)
# 安装与配置 pip install pypiserver passlib mkdir -p ~/pypi/packages htpasswd -sc ~/pypi/.htpasswd admin # 创建上传账号 # 启动服务 pypi-server -p 8080 -P ~/pypi/.htpasswd ~/pypi/packages # 客户端使用 pip install -i http://192.168.1.100:8080/simple/ requests twine upload -r local http://192.168.1.100:8080/simple/ 包名.tar.gz
添加、启用和禁用软件源
添加软件源
例如:dnf config-manager --add-repo repository_url
启动软件源
例如:dnf config-manager --set-enable repository
禁用软件源
例如:dnf config-manager --set-disable repository
安装下载和删除:
安装:dnf install package_name
下载:dnf download package_name
删除:dnf remove package_name...
维护与排查
-
定时同步:添加crontab任务,每日凌晨执行
sudo apt-mirror > /var/log/apt-mirror.log 2>&1。 -
空间管理:定期清理过期包,仓库目录单独挂载大容量硬盘。
-
安全加固:禁用匿名上传,用HTTPS加密,限制内网IP访问。
NFS共享存储服务
安装NFS服务包
CentOS系统:
# 安装NFS服务端和RPC绑定服务(NFS依赖RPC) yum install nfs-utils rpcbind -y # 启动服务并设置开机自启 systemctl start rpcbind systemctl start nfs-server systemctl enable rpcbind systemctl enable nfs-server # 检查服务状态 systemctl status rpcbind systemctl status nfs-server
Ubuntu系统:
# 安装NFS服务端 apt update apt install nfs-kernel-server -y # 启动服务并设置开机自启 systemctl start nfs-kernel-server systemctl enable nfs-kernel-server # 检查服务状态 systemctl status nfs-kernel-server
创建共享目录
# 创建共享目录(路径可自定义) mkdir -p /data/nfs/share # 设置目录权限(确保客户端可访问) chmod 755 /data/nfs/share chown nfsnobody:nfsnobody /data/nfs/share
配置共享规则
编辑NFS主配置文件/etc/exports,添加共享规则:
vi /etc/exports # 添加以下内容(根据实际需求调整) /data/nfs/share 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash) # 保存退出后,使配置生效 exportfs -r
启动NFS服务程序
查看本机发布的NFS共享目录
在客户机中访问NFS共享资源
安装并启动rpcbind
手动挂载NFS共享目录
fstab自动挂载设置
强制卸载NFS
常见问题排查
-
客户端无法挂载:检查NFS服务端是否正常运行,防火墙是否开放111、2049端口,共享规则是否允许客户端IP访问,客户端是否安装NFS客户端包。
-
客户端无写入权限:检查共享目录权限是否为755,配置文件中是否设置rw权限,是否开启no_root_squash(客户端root用户)。
-
挂载后无法访问:检查SELinux是否关闭,NFS服务端和客户端的时间是否同步,网络是否稳定。
DFS与NFS的区别与适用场景
-
DFS:适用于大规模分布式存储场景,支持数据冗余、负载均衡和横向扩容,适合需要高可靠性、高扩展性的企业级存储需求。
-
NFS:适用于局域网内简单文件共享,配置简单、性能损耗低,适合中小型团队或跨平台(Linux/Windows)的轻量级共享需求。
更多推荐



所有评论(0)