Использование размера блока в dd и ddrescue

Я видел примеры использования dd и ddrescue команда, и я вижу, что вместо того, чтобы просить у пользователя размер блока на их устройстве, они рекомендуют использовать bs=1M и я не понимаю почему.

Что происходит, если размер сектора диска 512 байты и 1MB присваивают bs?

Кто-либо может оценить использоваться независимо от размера сектора диска?

В случае дисков усовершенствованного формата и с мощностью 1 ТБ, что Вы рекомендуете использовать?

1
задан 3 January 2019 в 11:58

1 ответ

Что такое опция бакалавра наук и почему она используется?

Это было объяснено в dd, производит случайный файл на 32 МБ вместо 1 ГБ (который я рекомендую читать, btw), это bs опция относится к сколько единственный read() syscall считал бы и сохранил бы в памяти (если размер памяти и устройства, из которого Вы читаете, допускает такой размер). На это также ссылаются в руководстве:

чтение bs=BYTES и запись до байтов БАЙТОВ за один раз (значение по умолчанию: 512);

Таким образом это не имеет никакого отношения к количеству блоков/секторов на диске, но с ddпроизводительность - хранящий больше вещей в памяти для более быстрой обработки. Заключить один ответ ServerFault в кавычки:

Я знаю, когда я копирую жесткие диски, я получаю более быстрый уровень путем определения bs=1M, чем при помощи bs=4k или значения по умолчанию. Я говорю улучшения скорости 30 - 300 процентов. Нет никакой потребности настроить его для абсолюта лучше всего, если это не все, что Вы делаете каждый день. но выбор чего-то лучше, чем значение по умолчанию может сократить часы от времени выполнения.

Выбор bs значение было также обсуждено на другом сообщении stackoverflow:

Оптимальный размер блока зависит от различных факторов, включая операционную систему (и ее версия), и различные аппаратные шины и включенные диски. Несколько подобных Unix систем (включая Linux и по крайней мере некоторые разновидности BSD) определяют st_blksize участника в статистике структуры, которая дает то, что думает ядро, оптимальный размер блока

Что касается того, почему 1M это потенциально, потому что люди нашли, что это было оптимальным значением. Помните, что размер RAM раньше был 512M. Так использование 1M было бы достаточно маленьким, чтобы поддержать Использование оперативной памяти на низком уровне, но иметь достойный dd скорость.


Относительно Вашего вопроса:

Что происходит, если размер сектора диска составляет 512 байтов, и 1 МБ присвоен бакалавру наук?

Ничего. dd считает данные в блоках 1 МБ. Это не изменяет данные всегда. Это может улучшиться dd скорость по сравнению с меньшим размером блока, но не имеет никакого эффекта на сами данные.

Другая история произошла бы, если Вы читаете в блоках, меньших, чем размер сектора диска: диски должны служить полному размеру сектора и кэшам ядра та информация. См. ответ Matthew Ife на том же сообщении Serverfault. Но снова, никакой эффект на сами данные.

В случае дисков усовершенствованного формата и с мощностью 1 ТБ, что Вы рекомендуете использовать?

Усовершенствованный формат такой, как какой? До dd самостоятельно идет, это не должно заботиться ни о каком формате диска - все, что это знает, должен читать и записать с и на блочные устройства; не имеет значения, если Вы пишете в карту с интерфейсом USB или диск SCSI - синтаксис является тем же, это - ядро, которое обрабатывает мелкие подробности и имеет драйверы для тех устройств для надлежащей передачи данных.

И снова, способность также не имеет значения. Диск SATA на 1 ТБ является все еще диском SATA.

2
ответ дан 7 December 2019 в 13:19

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

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