跳到主要内容

运维场景(运行手册)

将常见的完整运维流程整理成可直接照做的运行手册。只需将某一节从上到下原样复制/执行即可。

容器模式盒子的运行手册

systemctl is-active plantpulse-edge.serviceactive,则为容器模式 —— 请参考盒子内的 /opt/kopens/install/RUNBOOK.md(或 容器模式运维指南),而非本页。 RUNBOOK 将 5 类故障场景矩阵(A~E)+ OTA workflow + 密码表 + 命令 cheat sheet 汇总在单一文档中。

本页为 native 盒子场景。


1. 新版本部署 —— 最安全的流程

# 0. 작업 공지 (관제 / Slack)
echo "[$(date +%F\ %T)] 게이트웨이 업그레이드 시작 — 약 15분 소요"

# 1. 사전 백업 (자동 backup 도 있지만 수동으로 한 번 더)
$PE_HOME/bin/backup.sh

# 2. 외부 NAS / S3 로 즉시 미러
LATEST=$(ls -t /data1/pp-backup | head -1)
rsync -av /data1/pp-backup/$LATEST nas:/backup/edge/

# 3. 업그레이드 (자동으로 backup → install → start)
$PE_HOME/bin/upgrade.sh

# 4. 검증
$PE_HOME/bin/ps.sh
curl -s http://127.0.0.1/api/v1/edge | jq # 버전 확인
curl -s http://127.0.0.1/ui/opcua/tree | jq '.data.tree | length' # 사이트/태그 정상
$PE_HOME/bin/log-viewer.sh # 30초 정도 봐서 SEVERE 없는지
# (Ctrl+C)

# 5. 외부 SCADA / Sparkplug 수신측 정상 도착 여부 확인
echo "[$(date +%F\ %T)] 업그레이드 완료"

详情:升级 (upgrade.sh)备份 (backup.sh)


2. 卡顿时的快速重启

$PE_HOME/bin/restart.sh
# 6초 후
curl -s http://127.0.0.1/api/v1/edge | jq

代码/配置的生效也一并完成。Cassandra/HiveMQ/Node-RED 不中断

详情:重启 (restart.sh)


3. 故障诊断 —— 分步进行

# 1. 누가 죽었나?
$PE_HOME/bin/ps.sh

# 2. 어디가 시끄러운가?
$PE_HOME/bin/log-viewer.sh
# (실시간 — Ctrl+C 로 빠져나옴)

# 3. Cassandra 의심
$PE_HOME/bin/node-info.sh

# 4. Disk 의심
df -h /data1
du -sh $PE_HOME/*/log/* /data1/* 2>/dev/null | sort -h | tail -20

# 5. 다 안 맞으면 — 안전하게 단계적 재시작
$PE_HOME/bin/restart.sh # 1차: Tomcat 만
# 그래도 이상 시
$PE_HOME/bin/stop.sh
$PE_HOME/bin/start.sh # 2차: 전체
# 그래도 이상 시
sudo $PE_HOME/bin/reboot.sh # 3차: OS 재부팅 (최후의 수단)

详情:诊断 / 巡检


4. 磁盘空间不足的处理

# 1. 무엇이 차지 중?
df -h
du -sh $PE_HOME/*/log/* /data1/* 2>/dev/null | sort -h | tail -20

# 2. 로그 / 임시 파일 정리
$PE_HOME/bin/clean.sh

# 3. Cassandra 디스크 회수
$PE_HOME/bin/node-cleanup.sh

# 4. 오래된 백업 정리 (30 일 이상)
find /data1/pp-backup -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +

# 5. 결과 확인
df -h

详情:整理 / 清理


5. 定期备份自动化(cron 示例)

# /etc/cron.d/plantpulse-backup
# 매일 새벽 1시에 백업, 30일 이상은 자동 삭제
0 1 * * * root /opt/kopens/plantpulse-edge/bin/backup.sh >>/var/log/pp-backup.log 2>&1
30 1 * * * root find /data1/pp-backup -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +

应用 cron 后,请确认次日凌晨 1 点是否新生成了 /data1/pp-backup/<date>/

详情:备份 (backup.sh)


6. 操作系统安全补丁(每季度)

# 1. 사전 백업
$PE_HOME/bin/backup.sh

# 2. 게이트웨이 정지 (커널 업데이트 가능성 대비)
$PE_HOME/bin/stop.sh

# 3. OS 업데이트
$PE_HOME/bin/firmware.sh

# 4. 커널 업데이트 시 재부팅 필요
needs-restarting -r
# 결과가 "Reboot is required" 이면
$PE_HOME/bin/reboot.sh
# 부팅 후 ssh 다시 들어가서
$PE_HOME/bin/start.sh

# 5. 검증
$PE_HOME/bin/ps.sh

详情:升级 (upgrade.sh / firmware.sh)


7. 停电 / 操作系统重启之后

虽然可通过 systemd 注册实现自动启动,但仍需手动巡检:

$PE_HOME/bin/ps.sh
# 출력이 비어있거나 일부만 살아있다면
$PE_HOME/bin/start.sh
# 또는 백그라운드로
$PE_HOME/bin/start-daemon.sh

详情:启动 (start.sh)


8. 从备份恢复(灾难恢复)

恢复会覆盖数据 —— 请与有经验的人员一起操作

以下是完整恢复的整体思路。请勿在生产环境中直接复制执行,务必与运维团队一起进行。

详细步骤:备份 (backup.sh) —— 从备份恢复


9. 了解更多

  • 各脚本的详细说明见左侧菜单:启动 / 停止 / 重启 / 备份 / 升级 / 诊断 / 清理
  • 所有脚本一览:一览