No estoy seguro de cuán específico debo ser en mi pregunta, por lo que haré una pregunta general según el título que apunta a donde creo que está el problema, y luego describiré la situación general, en caso de que alguien tenga otras ideas:
Estoy sincronizando dos conjuntos de btrfs ro snapshots con Buttersink sobre una conexión ssh. Las 2 instantáneas contienen versiones ligeramente diferentes de un solo archivo muy grande (1.5 TB) La transferencia fue muy rápida, el diferencial fue de solo 5 MB, pero como los datos se transfirieron hace horas, Buttersink está haciendo ALGO, pero no está finalizando el proceso. ¿Que es eso? ¿Se espera este comportamiento? En el lado remoto, ni la potencia de procesamiento (vserver) ni la E / S del disco (archivo contenedor con formato btrfs en el montaje CIFS) pueden ser impresionantes.
Fondo:
Quiero hacer una copia de seguridad diferencial cifrada sobre una conexión comparativamente lenta (25MBit arriba, pero en comparación con un volumen de 1.5TB, que es bastante lento). La copia de seguridad va a un servidor remoto que a su vez monta espacio de copia de seguridad en el centro de datos a través de CIFS. El vserver no es un sitio de confianza, cifrado, todo el cifrado debe hacerse localmente.
Así que se me ocurrió el siguiente plan:
1. Productivo local: sistema de archivos BTRFS.
2. Copia de seguridad local: archivo de contenedor cifrado con formato BTRFS en el sistema de archivos BTRFS
3. Remoto: archivo de contenedor cifrado con formato BTRFS en sistema de archivos sin cifrado con formato BTRFS en el montaje CIFS
a. El sistema de archivos BTRFS interno es para una copia de seguridad local eficiente de 1. a 2: 1. ya sabe qué ha cambiado, y puede transferir directamente solo los cambios a 2., sin atravesar grandes Maildirs y ese tipo de cosas.
segundo. El sistema de archivos BTRFS externo es para una copia de seguridad eficiente del archivo contenedor al almacenamiento remoto: 2. ya sabe qué partes del contenedor se cambian, y puede transferir directamente solo los cambios a 3., sin calcular un montón de sumas de comprobación rsync de un 1.5 Archivo TB
En este momento, tengo una instantánea de un archivo de datos aleatorios de forma local y remota, y una instantánea del mismo archivo con cifrado y btrfs localmente. El aprox. El delta de 5MB se transfirió casi inmediatamente (de modo que la ventaja esperada funciona), pero desde entonces, todo está estancado. ¿Alguna idea de por qué?
Algunas anticipando preguntas y respuestas como:
- "¿Por qué no solo estás usando rsync?" - Si sincronizo mis archivos en la ubicación remota, no se cifrarán de forma remota. Si vuelvo a sincronizar el contenedor cifrado, se calcularán las sumas de comprobación para encontrar cuáles son diferentes. Eso toma bastante tiempo y poder de procesamiento para 1.5TB. Esto será especialmente difícil en el lado remoto con el montaje CIFS y el pequeño servidor virtual. BTRFS ya sabe que es diferente.
- "¿Por qué no estás usando la duplicidad?" - La duplicidad me deja con una copia de seguridad completa + deltas. No quiero tener muchos deltas. Aprendí que la duplicidad necesita una actualización completa regular. No quiero subir 1.5TB regularmente. BTRFS siempre mantendrá un estado limpio en el que mi instantánea actual es tan buena como la primera, y siempre puedo eliminar cualquier instantánea entre o desde el principio.
- "¿Por qué no estás usando encfs?" - No parece ser completamente seguro: https://en.wikipedia.org/wiki/EncFS#General_security_concerns Además, un montón de las mismas razones que se dan para rsync.