校园资源共享平台搭建与Shell自动化监控实战

校园资源共享平台搭建与Shell自动化监控实战

一、项目背景

在校园网络环境中,资源共享与服务稳定性是保障教学、科研和办公效率的关键。中小型办公网络需要解决以下问题:

  • 如何自动化分配IP地址?

  • 如何实现Linux与Windows之间的文件共享?

  • 如何确保关键服务(DHCP、NFS、FTP、Samba)稳定运行?

  • 如何及时发现资源异常(CPU过高、磁盘满、服务宕机)?

本文记录了我从零搭建校园内部资源共享平台的完整过程,重点分享实战中遇到的故障与排查思路


二、整体架构设计

主机名 IP地址 作用
DHCP/NFS/Samba/FTP服务器 192.168.116.30 核心共享服务
Web服务器 192.168.116.30(复用) HTTP文件访问
Backup备份服务器 192.168.116.10 实时备份NFS数据
客户端 192.168.116.128 测试验证
客户端 192.168.116.10 测试验证

三、中小型办公网络搭建------DHCP服务

1. DHCP工作流程(通俗版)

  • 客户端:有没有DHCP服务器?我需要IP!

  • 服务器:你可以用192.168.1.100,租期24小时!

  • 客户端:我决定用这个IP。

  • 服务器:确认!正式归你使用。

2. 搭建步骤

固定服务器IP:

安装DHCP:

复制代码
yum install dhcp
vim /etc/dhcp/dhcpd.conf

修改配置文件中的网段和子网掩码:

启动服务并关闭防火墙:

复制代码
systemctl start dhcpd
systemctl stop firewalld.service
systemctl restart network

3. ⚠️ 踩坑记录:DHCP服务器与客户机通信故障

现象 :DHCP服务器可以分配IP地址,但无法ping通已获取IP的客户机。

排查过程

  1. 确认客户机确实获得了正确的IP配置 → 正常

  2. 检查服务器ARP表 → 无客户机MAC记录

  3. 检查防火墙及网关配置 → 发现问题

根本原因:客户机防火墙丢弃了ICMP请求。

解决方案:永久关闭防火墙。

复制代码
systemctl stop firewalld
systemctl disable firewalld

四、跨平台共享服务------Samba

1. 为什么需要Samba?

Windows用SMB协议,Linux用NFS协议,两者不兼容。Samba让Linux模拟Windows共享服务,实现跨平台文件共享。

2. Samba工作原理流程图

3. Linux与Linux之间共享文件

服务端安装Samba

配置防火墙和SELinux

客户端和服务端皆关闭服务器防火墙:systemctl stop firewalld

禁用防火墙开机自启:systemctl disable firewalld

设置为宽容模式:setenforce 0

vi /etc/selinux/config

SELINUX=disabled

查看端口情况:

创建Samba用户:

复制代码
useradd smb1
smbpasswd -a smb1

客户端连接测试:

4. Linux与Windows共享文件

Windows本地访问测试:


五、文件传输服务------FTP

1. FTP工作模式对比

特性 主动模式 被动模式
数据连接方向 服务器→客户端 客户端→服务器
服务器端口 固定20端口 随机高端口
防火墙兼容性

主动模式流程图:

被动模式流程图:

2. 匿名用户FTP搭建

Windows测试:

Linux客户端测试:

3. 配置vsftpd

验证FTP服务:


六、Linux文件共享------NFS

1. NFS架构与原理

NFS基于RPC机制,由rpcbind(端口111)和nfs-utils组成。

通信流程图:

2. 环境准备

主机 IP地址 作用
web.tfsj.cn 192.168.116.30 Web服务器
nfs.tfsj.cn 192.168.116.10 NFS服务器
backup.tfsj.cn 192.168.116.128 Backup服务器

设置主机名和IP:

3. 搭建NFS服务

安装软件:

创建共享目录并配置exports:

启动服务并验证111端口:

4. Web服务器挂载NFS

安装Apache:

创建测试页面:

挂载NFS:

上传视频验证

视频播放效果:

5. inotify实时备份

安装inotify-tools

编写同步脚本:

执行脚本并验证备份:

6. ⚠️ 踩坑记录:NFS视频上传失败

现象 :执行yum install -y inotify-tools报错No match for argument

排查过程:inotify-tools通常包含在EPEL仓库中,默认yum源找不到。

根本原因:EPEL仓库未启用。

解决方案

复制代码
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y inotify-tools

7. NTP时间同步

安装并启动NTP服务:

复制代码
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd

七、Shell脚本自动化监控(核心亮点)

1. 监控功能说明

监控类型 检查周期 触发条件 告警方式
服务状态 10分钟 DHCP/NFS/FTP/Samba异常 邮件
CPU使用率 10分钟 超过80% 邮件
磁盘使用率 10分钟 超过阈值 邮件
目录大小 10分钟 超过设定值 邮件

. 核心模块代码解析

主循环模块:60秒监测周期,协调各模块执行。

服务监控模块:通过SSH远程检查各服务systemctl状态。

资源阈值配置

4. 实现效果展示

检测状态日志:

邮箱接收报警信息:


八、故障排查方法论总结

在项目实施过程中,我逐步形成了一套行之有效的故障排查方法:

步骤 操作 示例
1. 确认现象 明确故障表现 DHCP能分配IP但ping不通
2. 查看日志 定位错误信息 /var/log/samba/log.smbd
3. 配置核查 检查关键参数 smb.conf域配置
4. 环境隔离 关闭防火墙/SELinux setenforce 0
5. 制定方案 最小化修改验证 启用EPEL仓库

九、项目总结

成果清单

  • ✅ DHCP自动IP分配服务

  • ✅ Samba跨平台(Linux↔Windows)文件共享

  • ✅ FTP匿名/实名文件传输

  • ✅ NFS网络文件系统+实时备份

  • ✅ NTP时间同步

  • ✅ Shell自动化监控告警系统

相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB6 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220708 天前
如何搭建本地yum源(上)
运维
大树8811 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质11 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务