clonehd занимает 2 часа для диска 100 ГБ. Ожидал? [closed]

У меня есть образ VirtualBox, использующий VDI и гибкий размер. Щас физический файл DVI 94Гб. Хост - это сервер Ubuntu, а гость - CentOS 6.4 с разделом ext4. Хост использует обычный диск sata емкостью 1 ТБ.

Скорость чтения с диска:

 sudo hdparm -tT /dev/sda

 /dev/sda:
 Timing cached reads:   23330 MB in  2.00 seconds = 11679.09 MB/sec
 Timing buffered disk reads: 420 MB in  3.01 seconds = 139.49 MB/sec

Скорость записи с диска:

 sudo dd if=/dev/zero of=output bs=8k count=128k; sudo rm -f output
 131072+0 records in
 131072+0 records out
 1073741824 bytes (1.1 GB) copied, 4.91353 s, 219 MB/s

Итак ... Я думаю, что копирование 100 ГБ должно занять гораздо меньше времени. Фактически, простой cp занимает намного меньше времени. В моем примере это занимает 30 минут по сравнению с 2 часами clonehd .

Я знаю, что clonehd также выполняет сжатие, так что это может иметь большое значение. Теперь ... скажите, что я хочу сжать только один раз явно, а затем просто клонировать.Есть ли другая более быстрая альтернатива? Я где-то читал, что могу сделать простой cp , а затем изменить UUID созданного клонированного изображения. Кто-нибудь это делал? Это безопасно? Поскольку я делаю это для резервных копий ... мне нужен безопасный процесс.

Обратите внимание, что я уже очистил свободное место в гостевой ОС Cent, используя dd или zerofree . Но это не тема этой ветки.

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

Заранее спасибо,

-1
задан 22 August 2014 в 22:42
1 ответ

Вы писали, что «хост использует обычный диск sata емкостью 1 ТБ». Это наводит меня на мысль, что вы говорите о вращающемся жестком диске, возможно, даже о диске настольного уровня (например, SATA 7200 об / мин вместо диска SAS 10 или 15 000 об / мин, не говоря уже о твердотельных накопителях).

Имейте в виду, что 7200 Скорость вращения дисков обычно достигает 100-120 МБ / с. Это устанавливает верхнюю границу того, что вы должны ожидать, если не полагаетесь на кеширование. (Обратите внимание, что команда dd в вопросе, скорее всего, сильно зависит от кеширования и, таким образом, дает неточное представление о производительности ввода-вывода. Вы можете добавить conv = sync , чтобы принудительно использовать синхронный ввод-вывод. Также, как указано в комментариях, при чтении из / dev / zero вы устраняете одну сторону уравнения.)

Вполне возможно, что, поскольку файл образа диска вашей виртуальной машины тонко подготовлен, это он фрагментирован на диске. В зависимости от того, насколько сильно он фрагментирован, у вас может быть даже ограничение на количество операций ввода-вывода в секунду. У накопителей 7200 об / мин теоретическая максимальная производительность составляет 120 операций ввода-вывода в секунду

Односторонний (чтение или запись) 100 ГБ со скоростью 110 МБ / с займет около 900 секунд. Удвойте это, потому что вы оба читаете и и смотрите на 1800–2000 секунд, или полчаса.

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

1
ответ дан 5 December 2019 в 19:55

Теги

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