巡检与健康检查
巡检体系
H3C 巡检服务层次:
日常监控(自动化):
7×24 小时自动监控
告警自动触发工单
月度巡检(人工):
H3C 工程师远程执行
输出月度健康报告
季度巡检(深度):
H3C 工程师现场执行
包含性能基准测试
输出季度健康报告 + 优化建议
年度巡检(全面):
全面健康评估
容量规划建议
升级路线图建议自动化巡检脚本
CloudOS 健康检查
bash
#!/bin/bash
# cloudos-health-check.sh
REPORT_FILE="/tmp/health-report-$(date +%Y%m%d).txt"
ALERT_EMAIL="ops@example.com"
PASS=0
WARN=0
FAIL=0
log() {
echo "$1" | tee -a $REPORT_FILE
}
check() {
local name=$1
local cmd=$2
local expected=$3
result=$(eval "$cmd" 2>/dev/null)
if echo "$result" | grep -q "$expected"; then
log "✅ $name: OK"
((PASS++))
else
log "❌ $name: FAIL (got: $result)"
((FAIL++))
fi
}
log "=== CloudOS 健康检查报告 ==="
log "时间: $(date)"
log "主机: $(hostname)"
log ""
# 1. 管理服务检查
log "--- 管理服务 ---"
for service in nova-api nova-conductor nova-scheduler \
neutron-server keystone glance-api cinder-api; do
check "$service" "systemctl is-active openstack-$service" "active"
done
# 2. 计算节点检查
log ""
log "--- 计算节点 ---"
TOTAL_NODES=$(openstack compute service list --service nova-compute -f value -c State | wc -l)
UP_NODES=$(openstack compute service list --service nova-compute -f value -c State | grep -c "up")
log "计算节点: $UP_NODES/$TOTAL_NODES 在线"
if [ $UP_NODES -lt $TOTAL_NODES ]; then
log "❌ 有计算节点离线"
openstack compute service list --service nova-compute | grep "down"
((FAIL++))
else
log "✅ 所有计算节点正常"
((PASS++))
fi
# 3. Ceph 存储检查
log ""
log "--- Ceph 存储 ---"
CEPH_STATUS=$(ceph health 2>/dev/null)
if echo "$CEPH_STATUS" | grep -q "HEALTH_OK"; then
log "✅ Ceph 状态: HEALTH_OK"
((PASS++))
elif echo "$CEPH_STATUS" | grep -q "HEALTH_WARN"; then
log "⚠️ Ceph 状态: HEALTH_WARN"
ceph health detail | head -20 | tee -a $REPORT_FILE
((WARN++))
else
log "❌ Ceph 状态: HEALTH_ERR"
ceph health detail | tee -a $REPORT_FILE
((FAIL++))
fi
# 4. 存储使用率检查
log ""
log "--- 存储使用率 ---"
ceph df | tee -a $REPORT_FILE
USAGE=$(ceph df | grep "TOTAL" | awk '{print $5}' | tr -d '%')
if [ "${USAGE%.*}" -gt 85 ]; then
log "❌ 存储使用率 ${USAGE}% 超过 85%,需要扩容"
((FAIL++))
elif [ "${USAGE%.*}" -gt 70 ]; then
log "⚠️ 存储使用率 ${USAGE}%,建议关注"
((WARN++))
else
log "✅ 存储使用率 ${USAGE}% 正常"
((PASS++))
fi
# 5. 资源使用率检查
log ""
log "--- 资源使用率 ---"
openstack hypervisor stats show | tee -a $REPORT_FILE
# 6. 网络代理检查
log ""
log "--- 网络代理 ---"
DOWN_AGENTS=$(openstack network agent list | grep "XXX" | grep -v "alive" | wc -l)
if [ $DOWN_AGENTS -gt 0 ]; then
log "❌ 有 $DOWN_AGENTS 个网络代理异常"
openstack network agent list | grep -v "alive"
((FAIL++))
else
log "✅ 所有网络代理正常"
((PASS++))
fi
# 7. 汇总
log ""
log "=== 检查汇总 ==="
log "通过: $PASS"
log "警告: $WARN"
log "失败: $FAIL"
# 发送报告
if [ $FAIL -gt 0 ]; then
mail -s "[告警] CloudOS 健康检查发现 $FAIL 个问题" $ALERT_EMAIL < $REPORT_FILE
elif [ $WARN -gt 0 ]; then
mail -s "[警告] CloudOS 健康检查发现 $WARN 个警告" $ALERT_EMAIL < $REPORT_FILE
fi
echo "报告已保存到: $REPORT_FILE"Ceph 深度检查
bash
#!/bin/bash
# ceph-deep-check.sh
echo "=== Ceph 深度健康检查 ==="
# 1. 集群状态
echo "--- 集群状态 ---"
ceph status
# 2. OSD 状态
echo ""
echo "--- OSD 状态 ---"
ceph osd tree
echo ""
echo "OSD 统计:"
ceph osd df | tail -5
# 3. PG 状态
echo ""
echo "--- PG 状态 ---"
ceph pg stat
# 检查非正常 PG
ABNORMAL_PG=$(ceph pg stat | grep -oP '\d+ \w+' | grep -v "active+clean" | grep -v "^0")
if [ -n "$ABNORMAL_PG" ]; then
echo "⚠️ 异常 PG: $ABNORMAL_PG"
fi
# 4. OSD 延迟
echo ""
echo "--- OSD 延迟 ---"
ceph osd perf | awk 'NR==1 || $3>10 || $4>10 {print}'
# 显示延迟 > 10ms 的 OSD
# 5. 磁盘健康(SMART)
echo ""
echo "--- 磁盘 SMART 状态 ---"
for disk in $(lsblk -d -o NAME | grep -E '^sd|^nvme'); do
STATUS=$(smartctl -H /dev/$disk 2>/dev/null | grep "overall-health" | awk '{print $NF}')
if [ "$STATUS" = "PASSED" ]; then
echo "✅ /dev/$disk: $STATUS"
else
echo "❌ /dev/$disk: $STATUS(需要关注)"
fi
done
# 6. 网络延迟测试
echo ""
echo "--- 存储网络延迟 ---"
for node in storage01 storage02 storage03; do
LATENCY=$(ping -c 10 $node 2>/dev/null | tail -1 | awk -F'/' '{print $5}')
echo "$node: 平均延迟 ${LATENCY}ms"
done
# 7. 性能基准(快速测试)
echo ""
echo "--- 存储性能快速测试 ---"
rados bench -p vms 30 write --no-cleanup 2>/dev/null | grep -E "Bandwidth|IOPS|Latency"
rados bench -p vms 30 seq 2>/dev/null | grep -E "Bandwidth|IOPS|Latency"
rados -p vms cleanup月度巡检报告模板
月度健康巡检报告
客户:XXX 公司
巡检时间:2024-01-15
巡检工程师:张工(H3C)
报告版本:v1.0
一、系统概况
CloudOS 版本:7.x.x
计算节点:20 台(全部在线)
存储容量:总计 500TB,已用 320TB(64%)
运行 VM 数:485 台
二、健康状态汇总
项目 状态 说明
管理服务 ✅ 正常 所有服务运行正常
计算节点 ✅ 正常 20/20 节点在线
Ceph 存储 ✅ 正常 HEALTH_OK
网络代理 ✅ 正常 所有代理在线
备份任务 ✅ 正常 本月备份成功率 100%
安全补丁 ⚠️ 警告 有 3 个安全补丁待安装
三、资源使用趋势
存储使用率趋势:
11月:55% → 12月:60% → 1月:64%
预测:按当前增速,约 6 个月后达到 80%
建议:Q3 前规划存储扩容
计算资源使用率:
vCPU 使用率:72%(超分后)
内存使用率:68%
状态:正常,有充足余量
四、本月事件
事件1:2024-01-08 存储节点 OSD 故障
处理:更换故障磁盘,数据自动重建
影响:无业务影响
状态:已解决
五、优化建议
1. 安装 3 个待安装的安全补丁(建议本月内完成)
2. 存储使用率增长较快,建议 Q3 前规划扩容
3. 建议开启 Ceph 数据压缩,预计可节省 15-20% 空间
六、下月计划
1. 安装安全补丁(计划 1/20 维护窗口)
2. 存储容量规划讨论
3. 季度深度巡检(计划 2 月)