본문으로 건너뛰기

운영 시나리오 (런북)

자주 발생하는 전체 운영 절차 를 그대로 따라 할 수 있도록 정리한 런북. 한 절을 위에서 아래로 그대로 복사 / 실행 하면 됩니다.

컨테이너 모드 박스의 런북

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/<날짜>/ 가 새로 생기는지 확인하세요.

상세: 백업 (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. 더 알아보기

  • 각 스크립트별 상세는 좌측 메뉴: 시작 / 중지 / 재시작 / 백업 / 업그레이드 / 진단 / 정리
  • 모든 스크립트 한눈에 보기: 한눈에 보기