当前位置: 首页 > news >正文

某CICD系统分布式存储异常处理脚本

#!/bin/bash## authored by zhaoxc# 漏扫工具会使得 glusterfs 6.5 版本的卷处于异常状态。 异常时 gluster vol status xxx 状态为 N ; 而命令返回值无异常#VOL_LIST="vol "VOL_FILE="/root/glusterfs-recovery.log"log(){echo"$(date'+%Y-%m-%d %H:%M:%S')-$1"|tee-a"$LOG_FILE"}# 检查卷状态, 返回状态字符串check_volume(){localvol=$1localstatus_outputlocalvol_status="NULLNULL"# 获取卷状态详细输出status_output=$(/usr/sbin/gluster volume status"$vol"2>&1)localsingle_line_output=$(echo"$status_output"|tr'\n'' ')ifecho"$single_line_output"|grep-q"Brick.*$vol";thenlocalbrick_section=$(echo"$single_line_output"|grep-o"Brick[^B]*$vol[^B]*")localonline_status=$(echo"$brick_section"|grep-oE"\s[YN]\s"|tr-d' ')if["$online_status"="N"];thenvol_status="offline"elif["$online_status"="Y"];thenvol_status="online"elsevol_status="unknown"fifiecho"$vol_status"}recover_volume(){localvol=$1log"开始恢复卷:$vol"# 停止卷log"停止卷:$vol"if/usr/sbin/gluster volume stop"$vol"force--mode=script>>"$LOG_FILE"2>&1;thenlog"卷$vol停止成功"elselog"卷$vol停止操作完成"fisleep5# 启动卷log"启动卷:$vol"if/usr/sbin/gluster volume start"$vol">>"$LOG_FILE"2>&1;thenlog"卷$vol启动成功"return0elselog"卷$vol启动失败"return1fi}main(){localvol_status="EmptyEmpty"localOFFLINE_VOLUMES=()log"=== 开始 GlusterFS 卷状态检查 ==="log"当前VOL_LIST的值:$VOL_LIST"log"VOL_LIST中的卷数量:$(echo$VOL_LIST|wc-w)"# 检查每个卷forvolin$VOL_LIST;dolog"检查卷:$vol"# 获取卷状态vol_status=$(check_volume"$vol")log"本卷检查的返回值为:$vol_status>>>>>>>>>>>>"# 根据状态决定是否重启if["$vol_status"="offline"]||["$vol_status"="unknown"];thenOFFLINE_VOLUMES+=("$vol")recover_volume"$vol"elif["$vol_status"="online"];thenlog"卷$vol状态正常,无需处理"elselog"卷$vol状态异常:$vol_status"filog"---"done# 输出结果摘要log"=== 检查完成 ==="if[${#OFFLINE_VOLUMES[@]}-eq0];thenlog"所有卷均在线"elselog"本次离线卷列表:${OFFLINE_VOLUMES[*]}"fi}# 执行主函数main
http://www.jsqmd.com/news/1115195/

相关文章:

  • 如何让任何游戏手柄都能畅玩PC游戏:ViGEmBus完整指南
  • 【教师备课效率革命】:ChatGPT辅助备课的7大黄金场景与实测提效43%的落地模板
  • 【软考零基础通关黄金72小时】:20年阅卷专家亲授,从报名到拿证的精准时间切割法
  • 沙姆角计算与视觉测量应用
  • 5分钟掌握跨平台流媒体下载:N_m3u8DL-RE新手完全指南
  • 为什么你的 CUDA kernel 写对了,但 GPU 还是跑不满?|Kerminal工程笔记
  • Zotero插件市场终极指南:3步打造你的高效学术工具箱
  • 自动驾驶三条技术路线的本质区别与融合实践
  • 小白也能学会!7步进阶大模型,附实操路线图,收藏这份从0到1的AI工具开发指南
  • 软考上岸最后72小时冲刺指南:从报名到拿证的12个关键动作清单
  • 《干了5年供应链,考完SCMP才明白:我们管的不是“货”,是“时间”》
  • 软考高项论文速成模板(附2024最新评分细则+3套万能框架)
  • 湿电子化学品技术解析:电子级磷酸纯化、除杂及除锑工艺优化方案
  • 科研绘图告别熬夜改图!paperxie 一站式 AI 制图工具适配全学科论文配图
  • 传统终端安全全面失效?从零信任视角拆解无文件木马、内存脚本新型攻击防御方案
  • 金装裁决之传世无双手游官网下载:金装裁决之传世无双最新官方下载渠道
  • 【软考通关黄金法则】:20年阅卷专家亲授3大必过策略与5个致命失分陷阱
  • 智能散热系统设计:DRV8213驱动与RISC-V MCU应用
  • 在GEO优化中,是否应当优先考虑内容的视觉呈现?
  • Claude Code 中转站怎么选?KingFlow 选型评测指南
  • 盘锦辽滨定制鞋柜,踢脚线细节别忽略
  • 大模型落地关键:Specificity工程化实施六框架
  • 四层板差分阻抗偏差五大误区-闭环避坑标准化流程
  • AIE 黄色荧光探针:NMYF-BPO 过氧化苯甲酰 BPO + 潜指纹成像双功能检测探针
  • 输入法词库转换神器:如何用imewlconverter解决20+种输入法格式互转难题
  • LiveView 的生命周期:mount、handle_event 和 Socket 到底怎么运转
  • S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
  • Mermaid Live Editor完整指南:3分钟学会专业图表编辑的终极教程
  • 2026老房墙体返潮实地勘测,十年工长总结根治防霉施工法
  • Si4732与MKV46F128VLH16打造专业数字收音系统