Đã có báo cáo khi thực hiện Windows Backup lên thiết bị NAS (backup lên chia sẻ mạng) chạy Samba, thất bại với thông báo — The backup failed, The version does not support this version of the file format (0xC03A0005). Bài này chia sẻ chi tiết khi nào xảy ra, nguyên nhân và giải pháp.

Lỗi The version does not support this version of the file format, 0xC03A0005
Vấn đề xảy ra do xung đột với file VHD được tạo bởi Windows Backup và mount trong quá trình. Có ba loại file VHD:
- Fixed (Cố định),
- Expandable/Sparse (Mở rộng/Thưa), và
- Differencing (Khác biệt).
Nếu file VHD là sparse file không được driver VHD gốc hỗ trợ, việc mount sẽ thất bại và bạn nhận được lỗi này. Ví dụ file VHD là file tự mở rộng tùy theo kích thước backup.
Vấn đề chỉ xảy ra với File Level backup (file/thư mục trong volume) chứ không phải block level backup vì file vhd không bao giờ được mount. Tuy nhiên, với File Level Backup, file vhd được mount, do Windows Backup tạo, không hỗ trợ mount sparse file.
Giải pháp duy nhất: dùng tùy chọn Strict Allocate trong file smb.conf
Đăng nhập SMB qua SSH. Mở file cấu hình bằng VI editor tại /etc/samba/smb.conf. Nếu tùy chọn không có, thêm thủ công strict allocate = yes để đảm bảo không tạo sparse file.
Tùy chọn này làm gì?
Theo trang web chính thức,
Khi thiết lập yes, server sẽ chuyển từ hành vi UNIX (không commit block lưu trữ thực khi mở rộng file) sang hành vi Windows (buộc hệ thống đĩa cấp phát block lưu trữ thực khi file được tạo hoặc mở rộng đến kích thước cho trước). Về thuật ngữ UNIX, nghĩa là Samba sẽ ngừng tạo sparse file.
Bạn cũng có thể kiểm tra file VHD có phải sparse file bằng cách mount thủ công.
Mở Disk Management, click “Action” rồi “Attach VHD”, chỉ định đường dẫn file vhd. Nếu lỗi giống như backup thì do sparse file.
Hy vọng bài viết dễ theo dõi và bạn giải quyết được mã lỗi 0xC03A0005 liên quan đến Windows backup lên NAS.
