Передача терабайт данных между двумя машинами эффективно (самба и NFS монтируются),

Я должен передать 15 TB из данных с одной машины на другую машину и переставший работать несколько раз в течение прошлых трех недель, я вне опций и не знаю, что сделать.

Существует две машины:

  • исходная машина: самба использования совместно использует точку монтирования, и в большой степени ограничивается (соединяющийся с машиной за пределами сети, требует VPN, и я не могу обычно монтировать долю на второй [целевой] машине, не настраивая VPN, которая разъединяется автоматически каждые 10 часов). Мои 15 ТБ данных находятся на этой машине
  • целевая машина: который использует NFS

Первая вещь, которую я попробовал, соединялась с первой машиной и использовала простой rsync:

rsync -rvz --stats --progress /mnt/samba/my_15TB_data user@second_machine:/mnt/NFS/backup

Это перестало работать после нескольких часов:

 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 `('

Я действительно не понимаю то, что эта ошибка означает, но от того, что я собрал онлайн от нескольких форумов, она похожа на ошибку, которую производит rsync, когда существует огромный скопированный объем данных! Другая возможность состоит в том, что соединение между этими двумя машинами могло бы, был поврежден.

Я затем пытался сжать свои данные как можно больше, таким образом, я выбрал сжатие высшего уровня на 7z:

7z a 15T_data_compressed.7z /mnt/samba/my_15TB_data -mx9

Это продолжалось слишком хорошо, но после 460 часов процессорного времени, проведенного на 7zip процесс, процесс был завершен силой администратором машины.. Я понял, что использовал все доступные ядра на машине, таким образом, администратор должен был хорошо сделать это после такого тяжелого использования ресурсов для того, чтобы только сжать файлы.

Что я могу сделать для эффективной передачи моих данных? Строго говоря, я ищу путь, который дал бы мне возможность ВОЗОБНОВИТЬ передачу в случае, если что-то идет не так, как надо. Например, в случае выше с rsync, я вижу, что был передан хороший объем данных.

Действительно ли это - лучшая идея смонтировать долю самбы с помощью VPN (который автоматически разъединяется каждые 10 часов), и в некотором роде зеркально отразите папку на NFS? Действительно ли такая вещь возможна, и это будет быстрее?

Между прочим, средняя скорость передачи между этими двумя машинами составляет 12 МБ/с. Это две различных машины, расположенные в двух разных странах.

1
задан 25 June 2018 в 11:54

1 ответ

Прежде всего, ошибка в rsync, которую вы цитируете, кажется, что вы вставили что-то в терминал. Это не оригинальное сообщение об ошибке.

Исходное сообщение, которое вы вставили в терминал, указывает на то, что соединение было закрыто по какой-то причине, например, перезагрузка, проблема с сетью или подобное. Но rsync должен быть в состоянии возобновить.

Просто запустите

rsync -rvz --stats --progress /mnt/samba/my_15TB_data user@second_machine:/mnt/NFS/backup

еще раз, и он проверит состояние файлов, сравнив метку времени и размер, и проигнорирует любой файл, который имеет одинаковый размер и метку времени на источнике и месте назначения боковая сторона. Этот процесс займет некоторое время, но если он не содержит много очень маленьких файлов, это будет быстрее, чем повторная передача файлов.

Обычно вы можете возобновить столько раз, сколько захотите, с помощью rsync; это довольно надежный механизм передачи файлов.

2
ответ дан 7 December 2019 в 13:23

Другие вопросы по тегам:

Похожие вопросы: