Экспериментирую с созданием / восстановлением резервных копий с помощью LVM. Работает, но восстановление занимает около 8 минут. на idel XEON с 32 ГБ оперативной памяти и SSD. Система даже не стыковалась в соответствии с htop и top с процессором почти в режиме ожидания, но в результате на SSD только 45,7 МБ / с.
Как можно ускорить процесс? Восстановление выглядит так:
$ sudo gunzip -c snap_vol1-20150904_055547.gz | sudo dd of=/dev/vg0/staging
41738240+0 records in
41738240+0 records out
21369978880 bytes (21 GB) copied, 468.036 s, 45.7 MB/s
Несколько быстрых вещей, которые нужно проверить:
Прежде всего, если вы работаете с одним диском, у вас есть пропускная способность 90 МБ / с. В зависимости от диска и интерфейса это может быть то, на что диск способен (!)
По умолчанию DD выполняет много очень маленьких записей. Вы можете использовать опцию BS (как в bs = 1M) для увеличения размера блока, что уменьшит количество операций записи, что, в свою очередь, должно снизить нагрузку ввода-вывода.
Отправка данных по каналу обходится довольно дорого, так как данные должны быть скопированы в относительно небольшой буфер и снова выведены, в дополнение к переключениям контекста между gunzip (который, кстати, является однопоточным, еще одно узкое место) и dd. Попробуйте сначала распаковать файл, а затем распаковать его и измерить время каждой операции, чтобы понять, что вас замедляет.
Gunzip - это однопоточный процесс, и даже с быстрыми процессорами он часто достигает максимальной скорости 40/50 МБ / с.
У вас есть две возможности: