11 KiB
11 KiB
260307 외부 NAS -> 내부 NAS 컴퍼니엑스 동기화 리서치
tags: [nas, companyx, sync, research]
상위 원칙:
목적
- 아이디어 문서 260307_external_nas_companyx_sync_아이디어.md의 핵심 질문, 즉
외부 NAS 파일을 내부 NAS로 단방향 동기화하고 서버는 내부 NAS만 사용하는 구조가 실제 운영 후보가 될 수 있는지 확인한다. - 이 문서는 구현 방법을 확정하는 문서가 아니라, 확인된 사실과 미확정 항목을 분리해 다음
plans문서가 무엇을 고정해야 하는지 좁히는 것을 목표로 한다.
리서치 질문
- 외부 NAS 파일을 현재 환경에서 51123 내부 NAS 경로로 실제 가져올 수 있는가
- 외부 NAS를 서버가 직접 읽지 않고도 필요한 파일 접근 구조를 만들 수 있는가
- 외부 NAS
/6.Company X전체를 내부 NAS/mnt/nas/workspace/6.Company X로 가져오는 구조를 운영 후보로 볼 수 있는가 - 현재 시점에서 이미 운영 후보로 볼 수 있는 방식과, 아직 결정할 수 없는 항목은 무엇인가
Facts
1. 내부 NAS 기준 경로는 이미 복구되어 있다
- 51123의 내부 NAS 기준 경로는
/mnt/nas다. - 내부 NAS 주소는
192.168.0.101이다. /mnt/nas는 실제 CIFS(Common Internet File System) 마운트로 복구됐고, 쓰기 검증까지 끝났다./mnt/nas/workspace/6.Company X경로가 실제 생성되어 있다.
근거:
2. 외부 NAS의 직접 SMB(Server Message Block) 접근은 현재 경로가 아니다
- 외부 NAS
sigongipc.synology.me:5000/5001는 Synology DSM(DiskStation Manager) 웹 경로로 응답한다. - 외부 SMB
139/445직접 접근은 타임아웃으로 막혀 있다. - 따라서 현재 확인된 외부 접근 경로는 DSM File Station API다.
근거:
3. 외부 NAS -> 내부 NAS 파일 전송은 실제로 1회 이상 검증됐다
- 외부 NAS 경로
/6.Company X/Thumbs.db를 내부 NAS 경로/mnt/nas/backup/current/external-nas-test/Thumbs.db로 저장했다. - 저장 후 SHA256 해시 일치가 확인됐다.
- 외부 NAS 상위 폴더 구조 일부도 내부 NAS에 동일하게 생성됐다.
- 다만 현재 검증 경로는
/mnt/nas/backup/current/external-nas-test/...였고, 목표 운영 경로/mnt/nas/workspace/6.Company X로의 전체 동기화는 아직 실행되지 않았다.
근거:
4. 2026-03-07 실측에서는 파일 다운로드와 내부 NAS 저장 시간이 짧았다
실행 기준:
- 스크립트:
infra/scripts/bin/companyx_external_nas_sync_probe.sh - 실행 시각: 2026-03-07 16:22 KST
- 테스트 저장 경로:
/mnt/nas/backup/current/external-nas-timing-test/20260307_162237
실측값:
- DSM 로그인: 약
0.683초 - 상위 폴더 목록 조회(
/6.Company X): 약0.067초 - 사진 하위 폴더 목록 조회: 약
0.061초 Thumbs.db12,288B: 약0.094초- 엑셀
151,832B: 약0.103초 - JPG
457,889B: 약0.121초 - PDF
20,147,273B: 약0.571초
근거:
- 기존 리서치 초안의 2026-03-07 실측 기록
5. 2026-03-11 기준 목표 운영 경로 샘플 동기화도 성공했다
- 실행 시각:
2026-03-11 18:24:47 KST - 목표 경로
/mnt/nas/workspace/6.Company X/Thumbs.db로 외부 NAS/6.Company X/Thumbs.db를 직접 내려받았다. - 파일이 실제 생성됐고, 같은 시각 프로브 경로에 저장한 파일과 SHA256 해시가 일치했다.
검증값:
/mnt/nas/workspace/6.Company X/Thumbs.db- SHA256:
d858dd42f76a21f74cb2c1de0de55379de5cbb6deb2ac1805181e35c8971e346
6. 2026-03-11 기준 대표 하위 폴더 전체 동기화도 성공했다
- 대상 폴더:
/6.Company X/7. 사진/220308_X코스_5기 발표 사진 - 내부 NAS 목표 경로:
/mnt/nas/workspace/6.Company X/7. 사진/220308_X코스_5기 발표 사진 - 결과: 파일
20개, 총6,505,335B동기화 - 소요 시간: 약
2.907초
해석에 필요한 사실:
- 샘플 1건이 아니라, 실제 하위 폴더 1개 전체 파일 집합도 목표 운영 경로로 내려받을 수 있었다.
- 이 시점 검증 기준으로는 대표 사진 폴더 1개 전체 동기화가 실패 없이 끝났다.
7. 2026-03-11 기준 재실행 시 같은 크기 파일은 모두 건너뛸 수 있었다
- 같은 대표 폴더를 다시 점검했다.
- 확인 파일 수:
20개 - 같은 크기로 이미 존재해 재다운로드 불필요 판정된 파일:
20개 - 다시 받아야 하는 파일:
0개 - 점검 시간: 약
0.0142초
주의:
- 이 검증은 현재
파일 크기 동일기준의 단순 건너뛰기 가능성만 확인한 것이다. - 수정시각이나 해시까지 포함한 최종 증분 정책이 확정된 것은 아니다.
8. 인증서 문제는 아직 남아 있다
- 외부 DSM HTTPS 인증서는 만료 상태였다.
- 실제 인증서 정보:
notAfter=Dec 17 03:05:26 2021 GMTsubject=CN = tnsipc.synology.me
- 현재 접속 호스트는
sigongipc.synology.me이므로, 만료뿐 아니라 호스트명 불일치도 있다. - 현재 스크립트는
-k옵션으로 인증서 검증을 우회했다.
근거:
- 기존 리서치 초안의 2026-03-07 실측 기록
Interpretation
1. 아이디어의 핵심 구조 자체는 이미 성립 가능성이 높다
- 외부 NAS 직접 SMB 접근이 막혀 있어도, DSM API를 통해 파일을 내려받아 내부 NAS에 저장하는 경로는 실제로 동작했다.
- 따라서
외부 NAS를 서버가 직접 마운트해서 읽는다가 아니라외부 NAS에서 파일을 가져와 내부 NAS에 적재한 뒤 서버는 내부 NAS만 읽는다는 구조는 현재 환경과 충돌하지 않는다. - 목표 경로
/mnt/nas/workspace/6.Company X에도 샘플 파일 직접 동기화와 해시 일치가 확인됐으므로, 이 경로 자체도 단순 가정이 아니라 실제 동작 경로다. - 대표 하위 폴더 1개 전체 동기화도 성공했으므로,
단일 파일 가능수준을 넘어실제 폴더 단위 동기화 가능까지는 확인됐다.
2. 지금 닫을 수 있는 질문과 아직 닫을 수 없는 질문을 구분해야 한다
지금 닫을 수 있는 질문:
- 외부 NAS 파일을 내부 NAS로 가져올 수 있는가: 예
- 내부 NAS를 서버 측 기준 저장소로 삼을 수 있는가: 예
- 외부 NAS를 서버 런타임 경로에서 분리하는 구조가 가능한가: 예
/6.Company X를 내부 NAS/mnt/nas/workspace/6.Company X로 받는 구조가 가능한가: 예, 샘플 파일 직접 동기화와 해시 일치까지 확인- 대표 하위 폴더 1개를 실제로 끝까지 받을 수 있는가: 예, 20개 파일 전체 동기화 확인
- 같은 경로 재실행 시 단순 증분 건너뛰기 후보를 만들 수 있는가: 예, 크기 기준으로는 20/20 건너뛰기 확인
아직 닫을 수 없는 질문:
- 어떤 동기화 정책이 최종 운영안인가
/6.Company X전체 폴더 재귀 동기화에서 총 소요 시간과 실패율이 어느 정도인가- 삭제 전파, 수정시각 역전, 해시 재검증을 포함한 최종 증분 규칙을 무엇으로 확정할 것인가
3. 이 아이디어는 이제 가능한가 단계는 통과했고, 어떻게 운영할 것인가 단계로 넘어갔다
- 이 리서치 기준으로 보면 아이디어 문서의 가설은 부정되지 않았다.
- 남은 문제는 아이디어의 존립 여부가 아니라, 운영 정책과 자동화 방식의 확정이다.
- 따라서 다음 문서는 새로운 아이디어 문서가 아니라, 운영안을 고정하는
plans또는 그 전 단계 보강 리서치가 맞다.
Unresolved
- 동기화 대상 범위
- 현재 아이디어는
/6.Company X전체를 대상으로 하지만, 실제 계획에서 정말 전체를 한 번에 받을지 단계적으로 받을지는 아직 고정되지 않았다.
- 실패 복구 기준
- 중간 실패 시 어디서부터 재시도할지, 실패 목록을 어떤 파일 형식으로 남길지 정해지지 않았다.
- 인증서 처리
-k우회를 계속 허용할지, 외부 DSM 인증서를 별도로 정리할지 결정이 필요하다.
- 대량 폴더 실측
- 샘플 파일과 대표 하위 폴더 1개는 검증됐다.
- 하지만
/6.Company X전체 트리 기준 총 시간, 총 파일 수, 장시간 실행 안정성은 추가 검증이 필요하다.
- 목표 경로 전체 동기화 검증
/mnt/nas/workspace/6.Company X에 샘플 파일 1건과 대표 하위 폴더 1개는 검증됐지만,/6.Company X전체 파일 트리를 끝까지 동기화하는 검증은 아직 수행되지 않았다.
아이디어를 닫는 현재 결론
외부 NAS -> 내부 NAS 단방향 동기화 후 서버는 내부 NAS만 사용이라는 아이디어는 현재 근거 기준으로 유효한 운영 후보다.- 대상 경로
외부 NAS /6.Company X -> 내부 NAS /mnt/nas/workspace/6.Company X도 샘플 파일 기준으로는 이미 동작이 확인됐다. - 대표 하위 폴더 1개 전체 동기화와 재실행 건너뛰기 후보까지 확인됐으므로, 이 구조는
아이디어 수준을 넘어부분 운영 검증이 된 구조로 볼 수 있다. - 사용자 결정 기준으로 증분 정책은
수정시각 + 파일 크기, 삭제 전파는비활성화로 방향이 정리됐다. - 즉, 이 아이디어는
불가능하거나 근거 없는 제안상태가 아니라, 실제 검증된 접근 경로가 있는 가설로 닫을 수 있다. - 다만 이 문서만으로 최종 운영안을 확정할 수는 없으므로, 다음 단계는 정책과 적용 순서를 고정하는
plans문서다.
다음 단계
plans에서 먼저 고정할 항목
- 대상 루트
- 실패 기록 방식
- 인증서 처리 방침
plans전 추가 검증이 필요하면 좁혀서 할 항목
/6.Company X전체 트리 1회 동기화- 수정 파일 1건 발생 상황에서 재실행 검증
- 실패 후 재시도 기준 검증