linux – Transfiere 15 TB de archivos diminutos

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 !

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım