校园资源共享平台搭建与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自动化监控告警系统

相关推荐
YOLO数据集集合10 分钟前
配电站智能运维|变电一次设备识别|高压电气构件目标检测数据集|电力巡检
运维·人工智能·深度学习·yolo·目标检测·视觉检测
keyipatience10 分钟前
25.Linux静态动态库全解析
linux·运维·服务器
开开心心_Every38 分钟前
多连接方式的屏幕共享工具推荐
运维·服务器·pdf·电脑·excel·tornado·dash
Land03291 小时前
Python + RPA 双引擎实战:从手写脚本到可交付自动化应用的完整链路
python·自动化·rpa
Chris-zz1 小时前
Linux:线程概念与控制
linux·运维
剑神一笑1 小时前
Linux chown 命令详解:从 inode 到实战
linux·运维·服务器
学代码的真由酱1 小时前
Docker基础
运维·docker·容器
MIXLLRED2 小时前
随笔——在 Ubuntu 22.04 中查看 Markdown (.md) 文件
linux·运维·ubuntu·markdown
Mr.Daozhi2 小时前
Playwright实战:抓取Meta Ad Library动态页面的三级降级策略
爬虫·python·自动化·playwright·meta广告
STDD2 小时前
Linux cgroup v2 资源控制实战:限制进程 CPU/内存/IO,systemd slice 管理
linux·运维·服务器