#linux #файлы #файловая_система #резервное_копирование #передача_данных
суть вопроса такова: Имеется диск на хосте А, размером 3.7 Тб, на который записано 1.3 Тб данных на разделе NTFS. Имеется удаленный хост В, на котором есть 2 Тб свободного места на разделе ext4 Задача: скопировать с хоста А на хост В 1.3 Тб данных. Почему я не использую rsync? Потому что при копировании мелких файлов скорость передачи падает до 100 кбайт/с, а таковых там достаточно много Почему не dd? Потому что копируется весь раздел, размером 3.7 Тб. Подскажите, как правильно и относительно быстро скопировать данные на удаленный хост? Возможно, можно использовать dd, но не создавать образ размера 3.7 тб? ОС на хосте А: Ubuntu 18.04 На хосте В: Debian 8
Ответы
Ответ 1
Обычно самый простой способ — это запаковать файлы в архив и отправить на удалённый хост. Можно это сделать обычным tar'ом tar cf /path/to/my/tarfile.tar.gz -C /путь/к/источнику . scp /path/to/my/tarfile.tar.gz host_В:/tmp/ ssh host_В tar xf /tmp/tarfile.tar.gz -C /путь/к/назначению Но т.к. на удалённом хосте, по условию задачи, не хватит места и для архива и для данных, то можно воспользоваться тем, что утилита tar умеет читать и писать в/из стандартного ввода/вывода и сделать всё в одно действие: tar cz -C /путь/к/источнику . | ssh host_В tar xz -C /путь/к/назначению Если в ssh включена компрессия или канал достаточно широкий, то следует убрать ключ z из аргументов tar. Из минусов — отсутствие возможности возобновить передачу при сбое.
Комментариев нет:
Отправить комментарий