Удаленный Linux-сервер на удаленный Linux-сервер большие разреженные файлы копировать - Как?
У меня есть два двойных сервера CentOS 5.4 с установленным VMware Server на каждом.
Какой самый надежный и быстрый способ копирования файлов виртуальных машин с одного сервера на другой, при условии, что я всегда использую разреженные файлы для своих виртуальных машин vmware?
Файлы vm копировать очень сложно, поскольку они очень большие (50 ГБ), но, поскольку они являются разреженными файлами, я думаю, что можно что-то сделать, чтобы повысить скорость копирования.
4 ответа
Если вы хотите быстро скопировать большие данные, rsync
по SSH не для тебя. Как создаю rsync
демон быстрого однократного копирования тоже tar
а также nc
сделать трюк следующим образом.
Создайте процесс, который будет обслуживать файлы по сети:
tar cSf - /path/to/files | nc -l 5000
Обратите внимание, что это может занять tar
долгое время, чтобы исследовать разреженные файлы, так что это нормально, чтобы некоторое время не видеть прогресса.
И получите файлы со следующим на другом конце:
nc hostname_or_ip 5000 | tar xSf -
В качестве альтернативы, если вы хотите получить все фантазии, используйте pv
для отображения прогресса:
tar cSf - /path/to/files \
| pv -s `du -sb /path/to/files | awk '{ print $1 }'` \
| nc -l 5000
Подождите немного, пока не увидите, что pv
сообщает, что некоторые байты прошли, затем запустите приемник на другом конце:
nc hostname_or_ip 5000 | pv -btr | tar xSf -
Вы пробовали rsync с опцией --sparse
(возможно, через ssh)?
От man rsync
:
Старайтесь эффективно обрабатывать разреженные файлы, чтобы они занимали меньше место в пункте назначения. Конфликтует с --inplace, потому что это невозможно перезаписать данные разреженным способом.
Поскольку rsync
очень медленно копирует редкий файл, я обычно прибегаю к использованию tar
над ssh
:
tar Scjf - my-src-files | ssh sylvain@my.dest.host tar Sxjf - -C /the/target/directory
Вы можете взглянуть на http://www.barricane.com/virtsync
(Отказ от ответственности: я автор.)