Samba가 실행 중인 NAS 장치(네트워크 공유 폴더)로 Windows 백업을 진행할 때 "백업에 실패했습니다. 이 버전은 이 파일 형식을 지원하지 않습니다(0xC03A0005)"라는 오류 메시지가 나타나며 실패하는 사례가 보고되었습니다. 이 글에서는 해당 문제가 발생하는 상황과 원인, 그리고 해결 방법까지 자세히 알아보겠습니다.
오류 0xC03A0005: 이 버전은 이 파일 형식을 지원하지 않습니다
이 문제는 Windows 백업이 생성하고 백업 과정에서 마운트하는 VHD 파일과의 충돌 때문에 발생합니다. VHD 파일에는 세 가지 유형이 있습니다.
- 고정형(Fixed)
- 확장 가능형(Sparse)
- 차등형(Differencing)
VHD 파일이 네이티브 VHD 드라이버가 지원하지 않는 스파스(sparse) 파일인 경우 마운트에 실패하면서 이 오류가 발생합니다. 대표적인 예로, 백업 데이터 크기에 따라 계속 확장되는 방식의 VHD 파일이 있습니다.
흥미로운 점은 이 문제가 볼륨 내 파일·폴더를 백업하는 파일 수준(File Level) 백업에서만 발생한다는 것입니다. 블록 수준(Block Level) 백업에서는 VHD 파일을 아예 마운트하지 않기 때문에 문제가 생기지 않습니다. 반면 파일 수준 백업에서는 Windows 백업이 생성한 VHD를 마운트하게 되는데, 이 드라이버는 스파스 파일의 마운트를 지원하지 않아 오류가 발생하는 것입니다.
유일한 해결책: smb.conf 파일의 Strict Allocate 옵션 사용
SSH로 SMB 서버에 로그인한 후 VI 편집기로 /etc/samba/smb.conf 위치의 설정 파일을 엽니다. 해당 옵션이 없다면 strict allocate = yes 항목을 직접 추가하면 됩니다. 이렇게 설정하면 스파스 파일이 생성되지 않도록 보장할 수 있습니다.
이 옵션은 어떤 역할을 하나요?
Samba 공식 문서에 따르면 다음과 같이 설명되어 있습니다.
이 옵션을 yes로 설정하면 서버는 파일이 확장될 때 실제 디스크 저장 블록을 할당하지 않는 기존 UNIX 방식에서 벗어나, 파일이 생성되거나 특정 크기로 확장될 때 디스크 시스템이 실제 저장 블록을 강제로 할당하도록 하는 Windows 방식으로 전환됩니다. UNIX 용어로 표현하자면, Samba가 더 이상 스파스 파일을 생성하지 않게 된다는 의미입니다.
VHD 파일이 스파스 파일인지 직접 확인하는 방법
VHD 파일을 수동으로 마운트하여 스파스 파일 여부를 테스트해볼 수도 있습니다.
디스크 관리(Disk Management) 도구를 열고 "동작(Action)" 메뉴를 클릭한 다음 "VHD 연결(Attach VHD)"을 선택하고 VHD 파일 경로를 지정합니다. 이때 백업 시 발생했던 것과 동일한 오류가 나타난다면, 원인은 바로 스파스 파일이라는 것을 확인할 수 있습니다.
이 글이 이해하기 쉬웠기를 바라며, NAS로의 Windows 백업과 관련된 0xC03A0005 오류 코드를 성공적으로 해결하실 수 있기를 바랍니다.