Cómo Linux puede mejorar la eficiencia de copia de archivos grandes

  

En la operación del sistema Linux, cuando está haciendo una copia directa de la máquina, es una pérdida de tiempo cuando encuentra archivos grandes, especialmente cuando copia archivos a múltiples máquinas al mismo tiempo. Entonces, ¿hay alguna buena manera de mejorar la eficiencia de copia de archivos grandes? Vamos a aprender juntos.

Puede copiar uno por uno por uno desde el equipo de origen al equipo de destino, pero a menudo se duplica el tiempo. O puede copiar desde la máquina de origen a múltiples máquinas de destino al mismo tiempo, pero dependiendo del ancho de banda de la máquina de origen, la velocidad no es realmente rápida.

Afortunadamente, con algunas herramientas de UNIX puedes hacerlo mejor. Combine tee y FIFO para formar una cadena de distribución de archivos rápida: cada máquina en la cadena de distribución guarda el archivo y lo distribuye a su siguiente anillo.

Primero, seleccione una máquina de destino como el último enlace de la cadena de distribución. En esta máquina, solo necesita usar nc para escuchar (asumiendo que el puerto es 1234), luego descomprímalo por pipez a través de la tubería y continúe pasando. La tubería divide los datos en tar para descomponer.

nc -l 1234 |  Pigz -d |  Tar xvf -

Luego, suba desde el final de la cadena de distribución, configure otras máquinas de destino y también escuche, descomprima y descomponga, pero antes de la descompresión, enviamos los datos a la canalización con el comando tee ( FIFO), otra tubería de shell distribuirá estos datos sin comprimir al siguiente anillo de la cadena de distribución:

mkfifo myfifo

nc hostname_of_next_box 1234 nc -l 1234 |  Tee myfifo |  Pigz -d |  Tar xvf -

Finalmente, inicie la cadena de distribución en la máquina fuente y transfiera los datos al primer anillo de la cadena de distribución:

tar cv some_files |  Pigz |  Nc hostname_of_first_box 1234

En mis pruebas, cada máquina en la cadena de distribución perdió alrededor del 3% -10% de su rendimiento (a diferencia de una copia uno a uno), pero relativamente una por una. O se puede distribuir una sola máquina a varias máquinas al mismo tiempo, y la mejora de la eficiencia es obvia.

Lo anterior es la introducción de Linux para mejorar la eficiencia de la copia de archivos grandes, principalmente a través de la herramienta UNIX para formar una cadena de distribución rápida de archivos para lograr una copia rápida de archivos grandes, la eficiencia ha mejorado mucho.

Copyright © Conocimiento de Windows All Rights Reserved