macOS Tahoe × Synology SMB Time Machine 완전 복구 기록
title: "macOS Tahoe × Synology SMB Time Machine 완전 복구 기록" date: "2026-04-23" description: "Permission denied(POSIX 13) → APFSMachineStore Structure missing → BACKUP_FAILED_DISCONNECTED_DISK_IMAGE(70) 3단 실패 루프를 4중 조치로 뚫은 디버깅 기록." tags: ["macOS", "Tahoe", "Time Machine", "Synology", "SMB", "Debugging"]
이 글의 모든 호스트명·사용자·경로는 익명 예시(
nas.local,tmuser,/volume1/timemachine)로 표기했습니다. 실제 환경에 적용할 때는 본인 값으로 치환하세요.
TL;DR
macOS 26(Tahoe)으로 업그레이드 이후 Synology NAS SMB 공유로의 Time Machine 백업이 단일 원인이 아닌 3개 레이어의 Apple 회귀 + 1개 Synology 기본 옵션 충돌로 실패한다. 설정을 하나씩 바꿔서는 되지 않고 네 가지를 동시에 충족해야 뚫린다.
/etc/nsmb.conf에 SMB signing/lease/멀티채널 6줄- DSM SMB 고급 탭 — Durable Handle을 "모든 공유 폴더에 적용" + macOS VFS 모듈 + 디렉토리 모니터링 해제
- Mac
ComputerName/LocalHostName/HostName모두 ASCII - Mac 시스템 우선 언어를 English 최상단으로 (APFS 내부 볼륨명
<host>'s Backup생성 유도)
성공 판정 지표: BackupPhase = Copying + bytes 증가 + APFSMachineStore - Structure missing 로그 소멸.
무엇이 실제로 깨졌는가
현장 증상은 "백업이 시작되자마자 실패"이지만 로그를 까 보면 단계별로 다른 지점에서 계속 터진다. 세션 초기부터 말기까지 관찰된 로그 키워드를 시계열로 놓으면:
| 단계 | 로그 키워드 | PID 주체 | 의미 |
|---|---|---|---|
| 마운트 | NAConnectToServerSync failed with error: 80 (Authentication error) | backupd | 자격증명 부재 (System 키체인 미저장) |
| 속성 조회 | attrVolumeWithMountPoint ... Permission denied (POSIX 13) | TimeMachineSettings, SystemUIServer, backupd | SMB 마운트는 성공했지만 볼륨 속성 질의가 거부 |
| Sparsebundle attach | Attached as diskN ... using mode 'read/write' | backupd | 여기까진 성공 |
| APFS 구조 조회 | APFSMachineStore - Structure missing + POSIX 2 No such file or directory | mdsync | 머신별 백업 디렉토리가 없다 — 초기화 실패 또는 비ASCII 경로 정규화 충돌 |
| 마운트 포인트 | Warning - mountpoint '/Volumes/...' that differs from expected mountpoint '/System/Volumes/Data/Volumes/...' | mdsync | APFS firmlink와 NFC/NFD 해석 불일치 |
| IOKit 등록 | Backup volume device entry did not appear in IOKit registry in a timely manner! | backupd | 볼륨이 생성됐지만 제시간 내 IOKit에 등록 실패 |
| 삭제 | Failed to delete '...incomplete', NSPOSIXErrorDomain Code=16 "Resource busy" | backupd | 중간 실패한 incomplete 파일이 잠겨 다음 시도 방해 |
| 최종 | Backup failed: BACKUP_FAILED_DISCONNECTED_DISK_IMAGE (70) 또는 BACKUP_IN_PROGRESS_REQUEST_DROPPED (46) | backupd | 세션 종료 |
보기만 하면 "하나만 고치면 다 풀릴 것 같은" 단일 증상처럼 보이지만, 각 로그는 서로 다른 레이어의 문제를 가리킨다. 그래서 하나씩 고쳐서는 증상만 이동하고 해결되지 않는다.
근본 원인 — 3 + 1 레이어
1) SMB signing 기본값 엄격화 (Apple Tahoe 회귀)
2026년 초 Tahoe가 조용히 SMB 클라이언트 기본 동작을 바꾸었다. 이전에는 서명 없이도 느슨하게 세션을 유지하던 것이 서명 요구로 전환됐는데, Synology를 포함한 많은 NAS의 기본 SMB 설정이 이 조합과 맞지 않는다.
증상은 "마운트는 되지만 속성 조회(attrVolumeWithMountPoint)가 Permission denied로 거부"로 나타난다. backupd의 본작업이 아니라 시스템 설정 창/메뉴바 TM 아이콘이 폴링할 때도 같은 에러가 뜨기 때문에 "권한이 없는 것처럼" 보이지만 실제로는 SMB 세션의 기능 협상이 반쪽으로 끝난 상태다.
2) 유니코드 NFC/NFD 정규화 불일치
Time Machine은 sparsebundle 내부에 APFS 볼륨을 만들 때 볼륨명을 **NFC(완성형)**으로 기록하지만, Tahoe의 backupd는 시작 시 **NFD(분해형)**으로 같은 볼륨을 찾는다. 이 두 형식이 바이트 수준에서 다르기 때문에 한글·스웨덴어·체코어 등 비ASCII 문자가 들어간 볼륨명에서는 같은 이름이지만 서로 다른 볼륨으로 인식되어 APFSMachineStore - Structure missing이 난다.
더 교묘한 것은 시스템 로케일이 개입한다는 점이다. ComputerName을 ASCII(mybook-air)로 바꿔도, 시스템 언어가 한국어면 macOS가 APFS 볼륨 생성 시 자동으로 의 백업이라는 한글 접미사를 붙여 버린다. 결과:
sparsebundle 파일명 : mybook-air.sparsebundle ← ASCII (OK)
내부 APFS 볼륨명 : mybook-air의 백업 ← 한글 접미사 (NG)호스트명만 바꿔서는 이 덫을 피할 수 없다.
3) 26.4 자격증명 회귀 (별개 이슈)
macOS 26.4 베타 2 이후 "유효한 키체인 자격증명을 TM만 거부"하는 별개 회귀가 보고됐다. Finder에서 같은 공유는 정상 연결되는데 TM만 Authentication error (80)을 반복한다. 26.5에서 수정 확인. 본 글이 다루는 사례는 26.3 환경이라 이 레이어는 해당 없었지만, 증상이 비슷하게 보일 수 있어 버전 확인이 선결이다.
+) Synology 공유 폴더 "휴지통"
백업 중 TM이 초기화 실패한 sparsebundle을 정리하려고 삭제 요청을 보내면 DSM이 이를 #recycle로 이동시킨다. 다음 시도에서 backupd는 "이전 sparsebundle이 사라졌다"는 상태를 보고 새 것을 만들고, 또 실패하면 또 휴지통으로 보내지는 무한 루프가 된다. 이건 방아쇠는 아니지만 위 1·2번 실패를 되돌릴 수 없게 증폭시키는 역할을 한다.
4중 조치
(1) Mac — /etc/nsmb.conf 작성
파일이 없으면 신규 작성.
sudo tee /etc/nsmb.conf > /dev/null <<'EOF'
[default]
signing_required=yes
streams=yes
soft=yes
dir_cache_max_cnt=0
protocol_vers_map=6
mc_prefer_wired=yes
EOF각 옵션:
| 옵션 | 역할 |
|---|---|
signing_required=yes | Tahoe 기본값 엄격화와 NAS 기본 서명 정책의 간극 해소 |
streams=yes | 확장 속성(스트림) 활성 — TM 메타데이터 누락 방지 |
soft=yes | 소프트 마운트 — 네트워크 순단 시 프로세스 행 대신 에러 반환 |
dir_cache_max_cnt=0 | 디렉토리 캐시 비활성 — 백업 중 상태 불일치로 인한 detach 차단 |
protocol_vers_map=6 | SMB2+3만 허용 (비트 2 | 4 = 6), SMB1 폴백 차단 |
mc_prefer_wired=yes | 멀티채널에서 유선 우선 — 무선·유선 혼재 시 불안정 제거 |
적용 후 Mac 재부팅. "재부팅 선택"이라 쓴 문서도 있지만 실전에선 재부팅 후에만 적용된 사례가 다수였다.
(2) DSM — SMB 고급 옵션 맞춤
제어판 → 파일 서비스 → SMB → 고급 설정.
일반 탭
- 최대 SMB 프로토콜: SMB3
- 최소 SMB 프로토콜: SMB2
- 서버 서명 상태: "SMB1 서명만 비활성화" (Mac
signing_required=yes와 호환) - Opportunistic Locking / SMB2 파일 리스 / SMB3 디렉토리 리스 / SMB 지속 가능 핸들 — 모두 활성
- Durable Handle 적용 범위: 기본은 "사용자 홈 폴더에만 적용"이지만, TM 공유가 홈이 아니라면 반드시 **"모든 공유 폴더에 적용"**으로 변경. 이 한 줄이 Durable Handle을 TM 공유에 실제로 걸어 준다.
macOS 탭
- "Mac 특수 문자 변환을 위해 VFS 모듈 활성화" ☑ —
vfs_fruit해당. NFC/NFD 및 확장 속성 처리 - "AFP로 프로토콜 간 잠금 활성화"는 ☐ (Durable Handle과 충돌)
기타 탭
- "디렉토리 내 모든 하위 폴더에서 변경 내용 모니터링" ☐ 해제. 첫 TM 백업은 수십만 파일 이벤트를 발생시키는데, 이 감시 스레드가 락을 잡아 Tahoe의 엄격한 SMB 타임아웃과 충돌한다.
공유 폴더 편집 — 고급 탭
- "휴지통 활성화" ☐ 해제 (필수)
저장 후 SMB 메인 화면 [적용] 클릭. 이걸 누르지 않으면 Bonjour 광고가 갱신되지 않아 Mac의 TM 디스크 목록에 NAS가 보이지 않는다.
(3) Mac — 호스트명 ASCII화
# <host>는 a-z / 0-9 / - 만 사용 (예: mybook-air)
sudo scutil --set ComputerName "<host>"
sudo scutil --set LocalHostName "<host>"
sudo scutil --set HostName "<host>"
sudo dscacheutil -flushcache
sudo killall -HUP mDNSRespondersparsebundle 파일명이 이 이름으로 자동 생성되므로 비ASCII 문자가 섞이면 생성 단계부터 NFC/NFD 충돌이 재현된다.
(4) Mac — 시스템 우선 언어를 English 최상단으로
이게 이번 디버깅에서 가장 찾기 힘들었던 한 수. 호스트명을 ASCII로 바꾸어도 시스템 로케일이 한국어면 APFS 내부 볼륨명에 의 백업 접미사가 자동 붙는다.
시스템 설정 → 일반 → 언어 및 지역 → 우선 사용 언어에서 English를 최상단으로 드래그 → 재시작. 이후 Mac UI는 영어로 뜨지만 첫 백업이 끝난 뒤 한국어를 다시 최상단으로 바꿔도 이미 만들어진 APFS 볼륨은 ASCII 이름 그대로 유지되므로 이후 증분 백업은 계속 정상이다.
검증:
defaults read NSGlobalDomain AppleLanguages
# → ( "en-KR", "ko-KR" ) ← 맨 앞이 en이면 OK부수 조치 — NAS 공유 완전 초기화
기존 비ASCII sparsebundle·incomplete·#recycle 잔재가 남아 있으면 Mac이 그걸 재사용해 같은 증상이 재현된다. NAS SSH에서 (경로·계정은 본인 환경에 맞게):
# /volume<N>/<your-share>, <tmuser>:<group> 는 본인 값으로
cd /volume1/timemachine
sudo rm -rf *.sparsebundle *.incomplete "#recycle"
sudo rm -f .DS_Store .com.apple.timemachine.supported-* .smbdelete*
sudo chown tmuser:users /volume1/timemachine
sudo chmod 770 /volume1/timemachine그리고 Mac 쪽 TM 대상과 키체인도 비운다.
sudo tmutil disable
sudo tmutil stopbackup
sudo pkill -9 backupd backupd-helper 2>/dev/null
tmutil destinationinfo # 현재 ID 확인
sudo tmutil removedestination <ID>
# System 키체인의 SMB 자격증명 삭제 (NAS 호스트와 계정은 본인 값으로)
sudo security delete-internet-password \
-s "nas.local" -a "tmuser" \
/Library/Keychains/System.keychain 2>/dev/null재등록과 검증
GUI로 등록해야 System 키체인에 자격증명이 자동 저장된다. CLI의 tmutil setdestination은 비밀번호 히스토리 노출 위험이 크다.
- 시스템 설정 → Time Machine → Add Backup Disk
- 목록의
<공유명> — from '<nas-host>.local'선택 → Set Up Disk… - 계정 / 비밀번호 → ☑ Save in Keychain
- Encryption Off 권장 (첫 백업 속도, 복구 편의)
- Done
실행:
sudo tmutil enable
sudo tmutil startbackup --block &별도 터미널에서:
/usr/bin/log stream --predicate 'subsystem == "com.apple.TimeMachine"' --info \
| grep -iE "error|denied|structure|iokit|copying|percent|complete|dropped"성공 판정 — 다음이 모두 나타나면 확정이다.
BackupPhase = CopyingRunning = 1bytes값이 틱마다 증가APFSMachineStore - Structure missing로그가 더 이상 나오지 않음- sparsebundle 파일명이
<host>.sparsebundleASCII - APFS 볼륨명이 Finder에서
<host>'s Backup같은 ASCII
무해한 로그 vs 진짜 블로커
실제로 진행 중에도 로그에 에러가 계속 섞여 나온다. 구분 기준은 PID 주체다.
| 로그 | PID | 해석 |
|---|---|---|
TimeMachineSettings: attrVolumeWithMountPoint ... Permission denied | UI 프로세스 | 시스템 설정 창이 상태 폴링하면서 뿜는 잡음. 무해 |
SystemUIServer: ... Permission denied | 메뉴바 | 메뉴바 TM 아이콘 표시 용 조회. 무해 |
backupd: com.apple.backupd.sandbox.xpc: connection invalid | backupd | 샌드박스 XPC 세션 만료 잔재. backupd 본체 루프는 계속 돈다 |
backupd: com.apple.backupd.status.xpc: connection invalid | backupd | 외부 클라이언트가 status 조회 후 disconnect한 자국 |
backupd: Backup failed: BACKUP_FAILED_* | backupd | 진짜 블로커 |
backupd: Failing backup with ... (70) | backupd | 진짜 블로커 |
즉 bytes가 계속 증가하고 위 두 "진짜 블로커"가 안 나오면, 잡음은 무시해도 좋다.
교훈 몇 가지
단일 원인 가설을 먼저 의심하기. 가장 많은 시간을 잃은 지점은 "비ASCII 이름이 원인인 것 같다"는 한 줄 가설을 읽고 그걸 최종 답으로 받아들인 순간이었다. 원글의 뒷부분에서 "영어로 바꿔도 실패했다"는 검증이 있었는데 요약본에서 그 부분이 잘려 있었다. 2차 자료는 반드시 원문 검증과 함께 쓴다.
로그의 PID·서브시스템까지 읽기. 같은 Permission denied라도 UI 프로세스가 뿜는 것과 backupd 본체가 뿜는 것은 의미가 다르다. 전자는 무해하고 후자는 실제 블로커다. log show --predicate의 필드를 그대로 읽는 습관이 중요하다.
레이어를 끊어서 검증 가능한 실험을 설계하기. (1) nsmb.conf → (2) DSM 옵션 → (3) 호스트명 → (4) 시스템 언어 순으로 변수 하나씩 바꿔 확인했다. 동시에 여러 개 건드렸으면 어느 것이 실제 효과였는지 분별할 수 없었다.
Apple OS 업그레이드의 "조용한 회귀" 패턴. Tahoe는 공식 릴리스 노트에 SMB signing 기본값 변경을 고지하지 않았다. NAS를 쓰는 사용자 다수가 반년 가까이 "백업이 말없이 안 되는" 상태로 방치됐다. 향후 macOS 메이저 업그레이드 직후 1–2개월간은 네트워크 백업 상태를 매주 확인하는 체크 루틴을 별도로 둘 가치가 있다.
증거 보전을 기본 습관으로. 백업 소실은 일회성이 아니다. sudo sysdiagnose -f ~/Desktop/, log collect --predicate ... --last 7d는 재발 때마다 즉시 확보해 둔다. Apple Feedback Assistant에 버그 리포트를 제출하고 접수번호를 보관하면 차후 분쟁에서도 객관 증거로 쓰인다.
참고 자료
- Apple broke Time Machine again on Tahoe — Tao of Mac — SMB signing 기본값 변경을 처음 공론화
- nsmb.conf configuration guide — GitHub Gist by Zahorone — NAS별 설정 포함 종합 가이드
- Time Machine not working on macOS Tahoe 26.2 — Apple Community — Swedish/Czech/Dutch 사용자들의 비ASCII 문자 증언
- Time Machine fails after upgrading to macOS Tahoe — iBoySoft — NFC/NFD 정규화 원리
- macOS Tahoe 26.4 breaks Time Machine network backups — Cult of Mac — 26.4 자격증명 회귀
- Synology KB — Time Machine backup failed — 휴지통 비활성 권고 등 공식 가이드
- SynoForum — SMB Disconnects with macOS 26.2 — Durable Handle·multichannel 조합 토론
macOS 26.3 × Synology DSM SMB 환경에서 재현·해결 검증.