Pregunta:
Estoy archivando datos de un servidor a otro. Inicialmente comencé un trabajo de rsync
. Le tomó 2 semanas crear la lista de archivos solo para 5 TB de datos y otra semana para transferir 1 TB de datos.
Luego tuve que acabar con el trabajo, ya que necesitamos algo de tiempo de inactividad en el nuevo servidor.
Se acordó que lo tacharemos ya que probablemente no necesitemos acceder a él nuevamente. Estaba pensando en dividirlo en trozos de 500 GB. Después de tar
, lo iba a copiar a través de ssh
. Estaba usando tar
y pigz
pero todavía es demasiado lento.
Hay una mejor manera de hacerlo? Creo que ambos servidores están en Redhat. El servidor antiguo es Ext4 y el nuevo es XFS.
Los tamaños de archivo van desde unos pocos kb a unos pocos mb y hay 24 millones de jpegs en 5TB. Supongo que entre 60 y 80 millones por 15 TB.
editar: Después de jugar con rsync, nc, tar, mbuffer y pigz durante un par de días. El cuello de botella será la E / S del disco. Dado que los datos están divididos en 500 discos SAS y alrededor de 250 millones de jpegs. Sin embargo, ahora aprendí todas estas buenas herramientas que puedo usar en el futuro.
Respuesta:
He tenido muy buenos resultados usando tar
, pigz
(gzip paralelo) y nc
.
Máquina de origen:
tar -cf - -C /path/of/small/files . | pigz | nc -l 9876
Máquina de destino:
Extraer:
nc source_machine_ip 9876 | pigz -d | tar -xf - -C /put/stuff/here
Para mantener el archivo:
nc source_machine_ip 9876 > smallstuff.tar.gz
Si desea ver la tasa de transferencia, simplemente pase a través de pv
después de pigz -d
!