- 51123_nas_sync_verification_workflow.md 신규 - 51123_github_org_repo_bootstrap_workflow.md 신규 - 기존 런북 deprecated 표시 및 SSOT 링크 - workflow README 문서 목록 테이블화 Made-with: Cursor
7.7 KiB
7.7 KiB
tags
| tags | ||||||
|---|---|---|---|---|---|---|
|
51123 -> 내부 NAS 동기화 점검 워크플로우
상위 원칙
- Infra Project Identity
- Core Infrastructure Principles
- Operational Guardrails
- 공통 작성 원칙: 0_VALUE Writing Principles
관련 문서
- 51123_nas_remote_operations_workflow.md — NAS 원격 작업 전체 흐름
- Infrastructure Project Structure
- 260307 NAS(192.168.0.101) SSOT 전환 및 CIFS 실마운트 복구
- 260313 내부 NAS -> 외부 NAS 경로 교정 및 Go 프로브 검증
- 260313 내부 NAS 직접 Go 동기화 가능성 리서치
목적
- 51123 서버에서 내부 NAS
192.168.0.101에 접속해 Company X 외부 NAS 동기화 상태를 같은 절차로 반복 점검한다. - 이 문서는 사건 기록이 아니라, 운영자가 다시 실행할 수 있는 고정 절차를 남기는 워크플로우다.
적용 범위
- 점검 주체: 51123 서버
- 점검 대상: 내부 NAS
192.168.0.101 - 점검 주제:
- NAS SSH 접속 가능 여부
- NAS 라우팅이 외부 NAS 경로 기준으로 유지되는지
- Go 테스트 결과가 남아 있는지
- 현재 운영 중인 fullscan / hierarchical 동기화가 실패 없이 끝났는지
SSOT 기준값
- 내부 NAS 호스트:
192.168.0.101 - NAS 공유 기준:
/mnt/nas - 51123 런타임 기준 파일:
/home/admin/workspace-config/runtime.env/home/admin/workspace-config/secrets.env
- 23 서버 cron 기준:
*/30 * * * * /home/admin/infra/scripts/bin/companyx_external_nas_sync_hierarchical_cron.sh0 1 * * * /home/admin/infra/scripts/bin/companyx_external_nas_sync_fullscan_cron.sh
- NAS 로컬 동기화 로그 기준:
~/workspace/.sync-logs/~/workspace/.sync-logs-hierarchical/
- NAS 로컬 Go 테스트 흔적 기준:
~/workspace/.sync-logs-go/~/workspace/.sync-logs-go-real-20260313/~/workspace/.sync-logs-go-live/
표준 흐름
1. 51123 기준값 확인
grep -n '^NAS_' /home/admin/workspace-config/runtime.env /home/admin/workspace-config/secrets.env
crontab -l
ls -la /mnt/nas/workspace/.sync-logs /mnt/nas/workspace/.sync-logs-hierarchical
확인 기준:
NAS_HOST=192.168.0.101이어야 한다.- 30분 계층형과 1일 1회 전수조사 cron이 보여야 한다.
/mnt/nas/workspace/.sync-logs*아래 최신 summary 파일이 있어야 한다.
2. NAS SSH 포트 확인
nc -vz -w 3 192.168.0.101 22
ssh-keygen -F 192.168.0.101
확인 기준:
22/tcp접속 성공- known_hosts에 기존 호스트키가 있으면 재확인 없이 바로 접속 가능
3. 51123에서 내부 NAS SSH 접속
ssh -o StrictHostKeyChecking=no admin@192.168.0.101
설명:
- 현재 운영 확인 기준 계정은
admin이다. - 비대화형 키 접속이 보장되지 않으므로, 필요 시 비밀번호 입력으로 접속한다.
- 이 문서는 접속 방법을 남기는 문서이며, 비밀번호 값 자체는 문서에 적지 않는다.
4. NAS 기본 상태 확인
date
hostname
whoami
ip route
성공 기준:
hostname은 내부 NAS 장비명으로 응답해야 한다.- 라우팅에
default via 192.168.0.1 dev eth1가 있어야 한다. - 외부 NAS 호스트 라우트가 있으면
112.218.113.4 via 192.168.0.1 dev eth1형태여야 한다.
5. NAS 내부에서 동기화 관련 경로 찾기
find ~ -maxdepth 3 \( -name '*companyx*' -o -name '*probe*' -o -name '*.log' -o -path '*/log/*' \) 2>/dev/null | sort | tail -n 200
목적:
- Go 프로브/테스트 바이너리와 로컬 sync 로그 경로가 실제로 남아 있는지 본다.
6. Go 테스트 결과 확인
for f in \
~/workspace/.sync-logs-go/companyx_sync_summary_*.json \
~/workspace/.sync-logs-go-real-20260313/companyx_sync_summary_*.json \
~/workspace/.sync-logs-go-live/companyx_sync_summary_*.json
do
[ -f "$f" ] && echo "FILE=$f" && cat "$f"
done
판단 기준:
- 샘플 다운로드 테스트는
downloaded > 0,failed = 0이면 1차 성공으로 본다. - 같은 경로 재실행 테스트는
downloaded = 0,skipped > 0,failed = 0이면 증분 판정이 동작한 것으로 본다. - 루트 기준 go-live 테스트는
files_seen과downloaded/skipped/failed가 남아 있어야 한다.
7. 현재 fullscan 운영 결과 확인
cat ~/workspace/.sync-logs/companyx_sync_state.json
ls -1t ~/workspace/.sync-logs/companyx_sync_summary_*.json | head -n 3 | while read f; do
echo "FILE=$f"
cat "$f"
done
판단 기준:
- 최신 summary에
finished_at이 있어야 한다. failed = 0이면 실패 없이 종료한 것이다.downloaded = 0이어도skipped > 0이면 정상 재검사일 수 있으므로 실패로 보지 않는다.- state 파일의
updated_at,last_scanned_path,last_downloaded_path가 있으면 상태 기록 기능은 정상으로 본다.
8. 현재 hierarchical 운영 결과 확인
cat ~/workspace/.sync-logs-hierarchical/companyx_sync_state.json
ls -1t ~/workspace/.sync-logs-hierarchical/companyx_sync_summary_*.json | head -n 3 | while read f; do
echo "FILE=$f"
cat "$f"
done
판단 기준:
- 최근 30분 실행 summary가 계속 생성돼야 한다.
failed = 0이면 정상 종료다.downloaded = 0,skipped > 0은 캐시 기반 점검에서 흔한 정상 결과다.
9. 필요 시 결과물 실체 확인
find ~/workspace/companyx_go_sample_real_20260313 -type f | wc -l
stat -c '%n %s %y' ~/workspace/companyx_go_sample_real_20260313/Thumbs.db
find ~/workspace/6.Company\ X -type f | wc -l
stat -c '%n %s %y' ~/workspace/6.Company\ X/Thumbs.db
목적:
- summary 숫자만이 아니라 실제 파일이 존재하는지 한 번 더 닫는다.
성공 판정 규칙
A. NAS 접속 성공
- 51123에서 NAS SSH 접속이 된다.
- NAS 라우팅이
eth1기준으로 유지된다.
B. Go 테스트 성공
- 샘플 다운로드 summary에
downloaded > 0,failed = 0 - 재실행 summary에
downloaded = 0,skipped > 0,failed = 0
C. 운영 동기화 정상
- latest fullscan summary에
finished_at존재,failed = 0 - latest hierarchical summary가 최근 시각까지 누적되고
failed = 0
D. 주의
downloaded = 0만으로 실패라고 판단하지 않는다.- 반드시
failed,finished_at,updated_at, 실제 파일 존재 여부를 함께 본다.
기록 원칙
- 반복 절차 자체는 이 워크플로우를 SSOT로 유지한다.
- 특정 날짜의 실제 점검 결과는 아래 중 하나에 남긴다.
- 장애/이상 징후가 있으면
journey/troubleshooting/ - 문제 없이 끝난 점검이면
journey/worklog/
- 장애/이상 징후가 있으면
이 워크플로우가 다루지 않는 것
- NAS 로컬에 Go 동기화 본체를 상시 배포하는 절차
- DSM 작업 스케줄러 또는 NAS cron에 실제 운영 스케줄을 심는 절차
- 외부 NAS 계정/비밀번호 같은 민감값 기록
한 줄 결론
- 이 워크플로우는
51123 -> 내부 NAS -> Go 테스트/운영 sync 상태 확인을 같은 기준으로 반복하기 위한 고정 운영 절차다.