как долго обнулять диск с дд? [закрыто]

14

Сколько времени займет заполнение нуля 1TB (используя dd dev / zero)?

Я на самом деле делаю два диска 500G одновременно, если это важно.

Miles Marley
источник
3
Итак, скажите нам, сколько времени заняло дд накопителей с нулями?
Rolnik
1
Моя WD 1Tb (5400rpm) sata занимает около 240 минут, но она старая и имеет перераспределенные сектора. Между прочим, это не так уж и отличается от того же времени, когда интеллектуальные отчеты ожидают расширенного самотестирования (255 минут).
barrymac
2
Добавление другой точки данных: только что побежал dd if=/dev/zero of=/dev/sdX bs=8M на двух совершенно новых дисках Seagate ST4000DM000 объемом 4 ТБ через порты SATA-300 (я думаю, что это было более или менее идеально распараллеливаемо - загрузка ЦП была постоянной и составляла ~ 20% для первого dd процесс до начала второго, а затем оба заняли ~ 20% каждый). Первый диск заканчивается за 8 ч 50 мин (530 мин), а второй - за 8 ч 30 мин (510 мин). Это составляет скорость записи ~ 130 МБ / с на диск, что не так уж странно, если учесть монотонный ввод. Аппаратное обеспечение было с 2009 года (процессор: C2D E8400; чипсет: Intel P43 / ICH10).
Daniel Andersson

Ответы:

9

Это зависит от многих факторов, включая, но не ограничиваясь:

  • Скорость диска (об / мин)
  • Дисковый встроенный кеш
  • Количество пластин и возможность одновременной записи на несколько пластин
  • Дисковый интерфейс (SATA / SCSI и т. Д.)
  • Производительность интерфейса контроллера
  • Конфигурация приводов (например, отдельные каналы или один и тот же канал)

Кроме того, хотя обнуление диска является простой задачей для ЦП и ОЗУ, эффект все равно может быть:

  • Производительность процессора
  • Доступная оперативная память
  • Скорость оперативной памяти
  • Другие задачи выполняются одновременно
  • Настройки управления питанием

Если предположить, что на компьютерах среднего класса с совсем недавним загрузочным диском Linux работает только минимальный загрузочный диск, на котором просто выполняется операция обнуления (без графического интерфейса, Интернета и т. Д.), Полностью загруженная в ОЗУ, это может занять от 2 до 12 часов. Если бы мне пришлось выбросить одно число, я бы сказал, что ближе к 3 с половиной часа, но опять же, информации недостаточно, чтобы получить хорошую оценку, кроме как на самом деле.

Если у вас есть более 1 ГБ свободного места, вы можете попробовать смонтировать диск и запустить dd if=/dev/zero bs=512 count=2048 of=/tmp/tempzero или какой-то другой файл. Если вы знаете больше об оптимальном размере блока для самой быстрой записи на ваш диск, вы можете использовать его для значения bs (в килобайтах) и установить для счетчика то, что вам нужно, с тем размером файла, который вы хотите. Затем вы можете использовать это, чтобы получить лучшую оценку без потери данных. Это просто создаст большой файл, который содержит нули.

TuxRug
источник
3
По моему опыту работы с жесткими дисками последнего десятилетия или около того, bs = 1M - это значительное улучшение по сравнению с bs = 512, и он достаточно хорош для использования по умолчанию, не слишком заботясь о поиске оптимального.
crazyscot
@crazyscot да огромная разница с bs = 1M, чтобы переопределить ужасный дефолт bs = 512. Также ddrescue (проверьте, как установить в нем размер блока), выдает процент / индикатор выполнения.
barlop
2

Я сделал ДД со случайными данными на диске 750 ГБ. Я думаю, что это заняло около 20 часов. Дело в том, что мне пришлось сделать это четыре раза для четырехдискового RAID-массива. Я думаю, что узким местом является скорость записи ваших дисков. Вы умны, чтобы делать это параллельно с дисками.

Rolnik
источник
2
Большая часть проблемы с производительностью, вероятно, связана с использованием случайных чисел. / dev / urandom или любой другой источник будет очень стараться генерировать действительно случайные числа, тем самым снижая вашу пропускную способность. Что-то вроде / dev / zero не будет иметь этой проблемы.
Sam Bisbee
Есть ли риск того, что 1 ТБ нулей сжимается где-то в конвейере до хранилища и искажает результаты? Я не имею в виду на самом деле сжатый на диске, но в процессе оптимизации
pufferfish
2

С разделом +100 ГБ, Acer Aspire 5750G, внешний жесткий диск sata, usb 2, 5400 об / мин:

xxxx@acer-ubuntu:~$ sudo dd if=/dev/zero of=/dev/sdb2 bs=8M
[sudo] password for xxxx: 
dd: writing `/dev/sdb2': No space left on device
12500+0 records in
12499+0 records out
104856551424 bytes (105 GB) copied, 2846.87 s, 36.8 MB/s

а также

xxxx@acer-ubuntu:~$ sudo dd if=/dev/zero of=/dev/sdb1 bs=8M
[sudo] password for xxxx: 
dd: writing `/dev/sdb1': No space left on device
6579+0 records in
6578+0 records out
55183409152 bytes (55 GB) copied, 1497.23 s, 36.9 MB/s
hsmit
источник
1

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

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

Rich Homolka
источник
1

Если вы просто стираете диски, отличный инструмент для параллельной пропускной способности DBAN в простом режиме стирания. Это доступно как ISO и в основном делает dd if=/dev/zero Команда для вас на дисках, которые вы выбираете.

wajeemba
источник
0

Это должно занять 2-5 часов. Узким местом является диск, а не оперативная память, процессор, кабели или конфигурация контроллера. Если у вас нет очень старого компьютера, такого как оригинальный Pentium, ваш процессор и память будут намного быстрее, чем скорость вращения шпинделя жесткого диска, как и ваши кабели SATA. Кэш даже не входит в игру, потому что вы обнуляете диск (если у вас нет 1 ТБ кэша).

Jordan
источник