운영 시나리오 (런북)
자주 발생하는 전체 운영 절차 를 그대로 따라 할 수 있도록 정리한 런북. 한 절을 위에서 아래로 그대로 복사 / 실행 하면 됩니다.
컨테이너 모드 박스의 런북
systemctl is-active plantpulse-edge.service 가 active 면 컨테이너 모드 — 본 페이지 대신
박스 안의 /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/<날짜>/ 가 새로 생기는지 확인하세요.
상세: 백업 (backup.sh)
6. OS 보안 패치 (분기별)
# 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. 정전 / OS 재부팅 후
systemd 등록을 통해 자동 시작될 수도 있지만, 수동 점검:
$PE_HOME/bin/ps.sh
# 출력이 비어있거나 일부만 살아있다면
$PE_HOME/bin/start.sh
# 또는 백그라운드로
$PE_HOME/bin/start-daemon.sh
상세: 시작 (start.sh)
8. 백업으로부터 복구 (재해 복구)
복구는 데이터 덮어쓰기 — 경험자와 함께
아래는 전체 복원 의 큰 그림 입니다. 운영 환경에서 그대로 복사 실행하지 말고, 운영팀과 함께 진행하세요.
상세 절차: 백업 (backup.sh) — 백업으로부터 복구
9. 더 알아보기
- 각 스크립트별 상세는 좌측 메뉴: 시작 / 중지 / 재시작 / 백업 / 업그레이드 / 진단 / 정리
- 모든 스크립트 한눈에 보기: 한눈에 보기