Je dois transférer 15 TB
des données d'une machine à une autre et, après plusieurs échecs au cours des trois dernières semaines, je suis à court d'options et je ne sais pas quoi faire.
Il y a deux machines:
La première chose que j'ai essayée était de me connecter à la première machine et d'utiliser un simple rsync:
rsync -rvz --stats --progress /mnt/samba/my_15TB_data user@second_machine:/mnt/NFS/backup
Cela a échoué après quelques heures:
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
bash: syntax error near unexpected token `('
12820840448 55% 9.02MB/s 0:18:31
12820840448: command not found
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (731 bytes received so far) [sender]
syntax error near unexpected token `('
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
bash: syntax error near unexpected token `('
Je ne comprends pas vraiment ce que cette erreur signifie, mais d'après ce que j'ai rassemblé en ligne sur plusieurs forums, cela ressemble à un bogue produit par rsync quand une énorme quantité de données est copiée! Une autre possibilité est que la connexion entre les deux machines ait peut-être été rompue.
J'ai ensuite essayé de compresser mes données autant que possible, j'ai donc choisi la compression de plus haut niveau sur 7z:
7z a 15T_data_compressed.7z /mnt/samba/my_15TB_data -mx9
Cela se passait trop bien, mais après 460 heures de temps CPU sur le processus 7Zip, le processus a été forcé par l'administrateur de la machine. J'ai réalisé que j'utilisais tous les cœurs disponibles sur la machine. Très bien de le faire après une utilisation aussi intensive des ressources pour ne compresser que des fichiers.
Que puis-je faire pour transférer efficacement mes données? Plus précisément, je recherche un moyen de me donner le possibilité de reprendre le transfert en cas de problème. Par exemple, dans le cas précédent avec rsync, je peux voir qu’une bonne quantité de données a été transférée.
Est-il préférable de monter le partage Samba à l’aide du VPN (qui se déconnecte automatiquement toutes les 10 heures) et de mettre en miroir le dossier sur le NFS? Une telle chose est-elle possible et sera-t-il plus rapide?
À propos, la vitesse de transfert moyenne entre les deux machines est de 12 Mo/s. Ce sont deux machines différentes situées dans deux pays différents.
Tout d'abord, le erreur dans rsync que vous citez semble être que vous avez collé des éléments dans un terminal. Ce n'est pas le message d'erreur d'origine.
Le message d'origine, que vous avez collé dans le terminal, indique que la connexion a été fermée pour une raison quelconque, telle qu'un redémarrage, un problème de réseau ou similaire. Mais rsync devrait pouvoir reprendre.
Il suffit de courir
rsync -rvz --stats --progress /mnt/samba/my_15TB_data user@second_machine:/mnt/NFS/backup
une fois de plus, il vérifiera l'état des fichiers, comparera l'horodatage et la taille, et ignorera tout fichier dont la taille et l'horodatage sont identiques du côté source et du côté destination. Ce processus prendra un certain temps, mais à moins qu'il ne s'agisse de très petits fichiers, il sera plus rapide que de les transférer à nouveau.
Vous pouvez en général reprendre autant de fois que vous le souhaitez avec rsync; c'est un mécanisme de transfert de fichier assez robuste.