Назад | Перейти на главную страницу

Сжатие образа диска падает

Я использую partclone для создания образов дисков с помощью этой команды:

partclone.ntfs -c -s /dev/$mypartition | lzop -c > /my/nfs/share/mypartition.lzo

Размер раздела составляет 34,1 ГБ, при этом используется 33,8 ГБ.

Проблема в том, что через некоторое время производительность падает. Сначала резервная копия записывается со скоростью примерно 300 МБ / мин, но скорость постепенно падает до 150-200 МБ / мин. Расчетное время завершения увеличивается с 1,25 часа до 2,5 часов.

Я сделал снимок без сжатия:

partclone.ntfs -c -s /dev/$mypartition -o /my/nfs/share/mypartition

Скорость резервного копирования колеблется около 600 МБ / мин, но производительность НЕ снижается через некоторое время. Он остается около 600 МБ / мин более или менее.

Что я могу сделать, чтобы производительность не ухудшалась при использовании сжатия?

РЕДАКТИРОВАТЬ: я использовал gzip и lzop, и оба страдают от снижения производительности. Я также попытался создать резервную копию того же образа на машине Pentium D (2 ядра, 3 ГБ ОЗУ) и Xen DomU (1 процессор, 512 МБ ОЗУ). У них обоих одна и та же проблема.

Со старыми процессорами, которые вы используете, наиболее вероятно, что вы ограничены процессором; сжатие потребляет много ресурсов ЦП (и это может варьироваться в зависимости от сжимаемых данных) и почти наверняка является непосредственной причиной проблемы.

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

Вы также можете попробовать использовать многоядерную утилиту сжатия, такую ​​как pbzip2, что должно, по крайней мере, увеличить степень сжатия в вашей двухъядерной системе. Однако на однопроцессорной виртуальной машине он ничего не сделает. pbzip2 записывает bzip2-совместимые файлы и уже упакован для большинства дистрибутивов Linux.

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

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

Просто беги partclone.ntfs -c -s /dev/$mypartition | bfr | lzop -c > whatever.dat

Поскольку процесс является однопоточным, сжатие будет узким местом на максимальной скорости процессора.

Если вы можете разбить это так, чтобы вы могли разделить его на несколько параллельных частей, вы могли бы получить немного больше скорости, используя больше ядер ЦП, если у вас несколько ядер (не HT).