Перепрошивка Ubuntu ISO на USB-накопитель с dd: рекомендуемый размер блока

Что разумно bs использовать при запуске dd для прошивки образа Ubuntu? Я использую:

dd if=ubuntu-17.04-server-amd64.iso of=/dev/sda bs=1M

Файл ubuntu-17.04-server-amd64.iso имеет размер 685 M.

Я выполняю эту операцию dd на сильном сервере с bs=1M. Это занимает почти 3 минуты (154 секунды):

718274560 bytes (718 MB) copied, 154.192 s, 4.7 MB/s

Я предполагаю, что если я буду использовать более высокий bs, как bs=500M, он будет быстрее (хотя я не проверял это).

Что рекомендуется и надежно bs= для такой команды dd?

3
задан 17 October 2019 в 18:43

1 ответ

Мой стандарт dd размер блока bs=4096

Несколько лет назад я протестировал различные размеры блока и нашел это bs=4096 хорошее значение для большинства случаев. Это не имело никакого большого значения для увеличения размера блока до более высоких значений. Если я понял правильно, это было также значение, используемое несколькими программами (кошка, CP и т.д.). Это - размер блока, используемый для dd под капотом в mkusb.

Вещи, возможно, изменились, так как я протестировал различные размеры блока, но я думаю, что скорость в Вашем случае ограничена аппаратными средствами флэш-памяти. Быстрый USB 3 pendrive или карта быстродействующей памяти будут в 5 раз быстрее (~25 МБ/с), даже когда соединено через USB 2. См. эту ссылку и ссылки от нее,

help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed

Таким образом, можно продолжить bs=1M или используйте bs=4096.

При необходимости Вы можете попробовать некоторые различные размеры блока, но не ожидаете большого улучшения. Возвратитесь и сообщите о результате, особенно при нахождении основного улучшения. В этом случае также важно указать аппаратные средства и операционную систему (версия Ubuntu).

Править: Новый тест

Я протестировал снова, с текущими версиями Lubuntu 16.04 LTS и компьютерным оборудованием другого вида и возраста, как описано в следующей таблице и графиках.

Тестовые детали

  • Тест был запущен со сценарием оболочки, который для каждого размера блока вытер и синхронизировал первый Гибибайт целевого USB pendrive (перезаписал с нулями), затем клонированный и синхронизировавший из файла ISO Lubuntu (который немного меньше, чем один Гибибайт, таким образом, в вытертой части pendrive).
  • Во всех случаях чистое dd командная строка использовалась (никакая передача по каналу через pv или подобные команды).
  • Большинство тестов было запущено от системы Lubuntu 16.04.2 LTS amd64 (с yakkety ядром) установленный в SSD, но тесты на рабочей станции HP xw8400 были запущены с установленной системой Lubuntu 16.04 LTS i386 (с гостеприимным ядром) во внутреннем жестком диске.

  • 'Экстремальным значением' и 'Cruzer_blade' является SanDisk USB pendrive модели

  • 'порт диска' то, где целевой USB pendrive соединен
  • 'порт OS' то, где SSD или жесткий диск с операционной системой соединены

  • Больше деталей перечислено в следующей таблице, и изменения из-за размера блока проиллюстрированы в следующих графиках с log (block size) вдоль оси X из-за символа диапазона значений размера блока,

    • 512 (значение по умолчанию)
    • 4096 (4K)
    • 65536 (64K)
    • 1048576 (1M)
    • 4194304 (4M)

dd-blocksize-test-table

dd-blocksize-test-graphs

Заключения

  • Размер блока по умолчанию, bs=512 (байты) делают dd медленный.

  • Клонирование с размерами блока от bs=4096 to 4M выполненный в 'полной скорости'. Существуют только незначительные различия между тестовыми сценариями (за исключением bs=512).

6
ответ дан 1 December 2019 в 15:22

Другие вопросы по тегам:

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