Código de error 21 y 19 de Time Machine, "Error al montar... porque no se pudo adjuntar la imagen"

Con macOS sierra (10.12.4), las copias de seguridad de Time Machine en un Synology NAS fallan en la fase de "preparación de la copia de seguridad". Los mensajes de la interfaz de usuario no son útiles, pero la consola muestra este error de la copia de seguridad:

Failed to mount '/Volumes/TimeMachine/fubar.sparsebundle'
because the image could not be attached, error:
Error Domain=com.apple.backupd.ErrorDomain Code=21 "(null)"
UserInfo={MessageParameters=(
    "/Volumes/TimeMachine/fubar.sparsebundle",
    19
)}

Esto se repite cada 60 segundos durante varios minutos, y luego Time Machine se rinde.

Estoy familiarizado con el tipo de problema solucionado por https://apple.stackexchange.com/a/39842/30668 pero parece ser diferente. Puedo montar el volumen de red y adjuntar el sparsebundle. Ejecutar fsck no muestra errores. El plist sparsebundle muestra VerificationState0 y no tiene un RecoveryBackupDeclinedDate.

Respuestas (3)

Esto resultó ser un problema de llavero. Posiblemente cambié la contraseña de inicio de sesión de NAS y nunca actualicé el llavero.

  1. Configuración > Time Machine > Dejar de usar "TimeMachine" para la copia de seguridad
  2. Llavero > busque el nombre de host del NAS y elimine todas las contraseñas que coincidan. Creo que las entradas problemáticas estaban en el llavero del sistema, pero también eliminé entradas del llavero de inicio de sesión.
  3. Ajustes > Time Machine > Añadir disco de copia de seguridad... > seleccione "TimeMachine" > introduzca la contraseña

Esta situación era confusa porque los mensajes de Time Machine no decían nada sobre la autenticación, y Finder podía conectarse correctamente al volumen NAS. Pero aparentemente, la copia de seguridad usa una entrada de llavero diferente, que era mala o incorrecta.

Mi problema resultó ser que la cuenta de usuario de Time Machine que accedía al NAS había excedido su cuota de uso en otras partes del volumen (facepalm).

Esto terminó causando que el Info.plistarchivo dentro del paquete disperso tuviera 0 bytes. Afortunadamente, había un Info.bckuparchivo allí que copié para que fuera el nuevo Info.plist.

En mi caso (error 21) era un Info.plistarchivo distorsionado[1] (en Time Capsule). Afortunadamente, había un archivo de copia de seguridad llamado Info.bckupque usé para reemplazar el ilegible. Lo cual resolvió mi problema.


[1] No me preguntes cómo llegaron esas cosas al Info.plistarchivo...:

$ more Info.plist an Loop[2] : 50 Skin Side 3 Fan Loop[3] : 50 Skin Side 3 Fan Loop[4] : 0 0 44 271 47 0 0 0 0 0 0 0 0 0 Skin Side 4 Fan Loop[0] : 50 Skin Side 4 Fan Loop[1] : 38912 Skin Side 4 Fan Loop[2] : 50 Skin Side 4 Fan Loop[3] : 50 Skin Side 4 Fan Loop[4] : 164 198 0 0 0 0 0 0 0 0 0 0 0 0 HDD Radio Loop[0] : 100 HDD Radio Loop[1] : 102400 HDD Radio Loop[2] : 100 HDD Radio Loop[3] : 100 HDD Radio Loop[4] : 0 0 0 0 0 0 0 0 0 0 0 0 0 362 2G Radio Radio