Повысит ли это производительность записи, чтобы заполнить переформатированный диск нулями?

14

У меня есть диск на 2 ТБ, который был заполнен до> 99%. Я удалил разделы с fidskи отформатировал их mkfs.ext4.

Итак, насколько я знаю, фактические данные, которые были на диске, все еще существуют. Тем не менее таблица разделов была переназначена.

Вопрос: улучшит ли это производительность записи для дальнейших действий записи, если диск будет очищен ? С очищенным я имею в виду заполнить диск нулями?

Что-то вроде

dd if=/dev/zero of=/dev/sdx bs=1 count=4503599627370496
Brettetete
источник
8
Нет нужды начинать с нуля, так как он перезапишет все, что есть для начала.
Моав
7
Если бы это был SSD, ответ был бы «черт возьми, нет», потому что mkfs.ext4 фактически использует TRIM для отбрасывания содержимого всего раздела, поэтому ручная запись нулей поверх этого немного снизит производительность.
user1686
2
@ grawity Мне было интересно, есть ли какой-нибудь SSD, который вместо этого автоматически превращает записи всех нулей в TRIM.
kasperd
@kasperd: хороший вопрос!
Лиори
Другой возможный дополнительный вопрос: если указанный диск был виртуальной машиной, смонтированной в сети SAN, которая выполняла низкоуровневую репликацию диска, это могло бы помочь (в том случае, если данные были удалены на уровне виртуальной машины, если система не использует какой-либо API, поддерживающий VM SAN увидит, что все эти удаленные блоки должны остаться, тогда как установка их на все нули в конечном итоге приведет к скоплению дублированных блоков, которые все будут указывать на ноль)
Foon

Ответы:

36

Нет, это не улучшит производительность.

TL; DR: ротационные магнитные жесткие диски не работают так.

Во-первых, когда вы записываете данные на ротационный магнитный накопитель, эти данные преобразуются в магнитные домены, которые на самом деле могут сильно отличаться от битовой структуры, которую вы пишете. Это делается отчасти потому , что гораздо легче поддерживать синхронизацию , когда шаблон считан из тарелочки имеет определенное количество изменчивости, и, например , длинная строка «ноль» или «один» значение будет сделать очень трудно поддерживать синхронизацию , (Вы прочитали 26 393 бита или 26 394 бита? Как распознать границу между битами?) Методы выполнения этого преобразования между битами компьютерных данных и сохраняемыми кусками развивались с течением времени; например, посмотрите Модифицированная частотная модуляция , MMFM,Групповая запись кода и более общая технология кодирования с ограниченной длиной серии .

Фактический процесс записи, такой как HAMR , PMR , опоясывающий лишай и т. Д., Ортогональн к этому, поскольку они описывают механизм хранения магнитных доменов на физическом носителе.

Во-вторых, когда вы записываете новые данные в сектор, магнитные домены соответствующих частей диска просто устанавливаются на желаемое значение. Это делается независимо от того, какой предыдущий магнитный домен находился в этом конкретном физическом месте. Блюдо уже вращается под головкой записи; сначала чтение текущего значения, а затем запись нового значения тогда и только тогда, когда оно отличается, приведет к тому, что для каждой записи потребуется два оборота (или дополнительная головка для каждого диска), что приведет к удвоению задержки записи или значительному увеличению сложности накопителя, в свою очередь увеличивается стоимость. Поскольку ограничивающим фактором производительности последовательного ввода-вывода на жестком диске является то, насколько быстро каждый бит проходит под головкой чтения / записи, это даже не принесет никакой пользы пользователю. (Как в сторону, ограничивающим фактором в производительности произвольного ввода / вывода является то, насколько быстро головка чтения / записи может быть размещена на желаемом цилиндре, а затем желаемый сектор попадает под головку. Основная причина, по которой твердотельные накопители могут быть такими быстрыми при случайных нагрузках ввода-вывода, заключается в том, что они полностью устраняют оба этих фактора.)

Как отмечает JakeGould , одной из причин, по которой вам может потребоваться перезаписать диск с помощью некоторого фиксированного шаблона (например, всех нулей), является обеспечение того, чтобы никакие остатки ранее сохраненных данных не могли быть восстановлены , умышленно или случайно. Но это не повлияет на производительность привода в будущем по причинам, указанным выше. Другая причина, которая, как можно предположить, может «повысить производительность», как может быть сказано в liori , заключается в том, чтобы помочь сжать неиспользуемые части сохраненных образов дисков, но даже это не улучшает производительность используемой системы.

CVn
источник
3
Другая причина обнуления разделов / дисков - это если вы планируете использовать необработанный дамп раздела / диска (например, в качестве резервной копии, создания образа ОС для нескольких компьютеров, в качестве метода миграции системы и т. Д.). Нули хорошо сжимаются, что может отличаться от того, что было ранее сохранено на диске.
Лиори
@liori Хорошая мысль, но это не обычный сценарий для конечного пользователя, и он довольно далек от того, что описывает OP.
CVN
То есть оптические диски не вращаются или являются магнитными?
Макс Райд
4

Вы говорите это:

Вопрос: улучшит ли это производительность записи для дальнейших действий записи, если диск будет очищен? С очищенным я имею в виду заполнить диск нулями?

100% Нету. Запись нулей на диск не улучшает производительность. Вы бы сделали это только для уничтожения данных. Итак, зная это, вы говорите так:

Итак, насколько я знаю, фактические данные, которые были на диске, все еще существуют.

Технически да ... Данные, которые ранее существовали на диске, все еще существуют на диске на некотором фундаментальном уровне. Тем не менее, он не существует в форме, к которой легко получить доступ или восстановить на данном этапе, но это может быть проблемой, если вы действительно обеспокоены тем, что данные могут быть скомпрометированы кем-то, кто готов приложить усилия для восстановления тех фрагментов данных, которые остаются.

Таким образом, если вас беспокоит безопасность и конфиденциальность, вы можете записать на диск нули, чтобы убедиться, что все свободное пространство действительно стерто. Но безопасность и конфиденциальность - абсолютная единственная причина, по которой вы когда-либо удаляете свободное место с нулями, поскольку подобные действия никогда не улучшают производительность.

JakeGould
источник
Работает ли такой инструмент, recoverкак «легкий»? Было бы много файлов на полном диске, который только что был найден mkfs.
Хоббс
0

Мой подарок в два цента для всех вас - мой собственный опыт, ДА, это помогает, но с осторожностью.

У меня было много SSD и, основываясь на моих собственных тестах, я рекомендую заполнить нулями до перезаписи основной таблицы и вместо удаления разделов воссоздать основную таблицу.

Позже я объясню почему, но шаги были бы «доп», чтобы заполнить весь SSD, использовать bs = 1M, намного быстрее, чем bs = 1, и забыть параметр count, чтобы заставить его идти до конца (это даст ошибку, больше не будет места, когда дойти до конца, который указан, так что не беспокойтесь, чтобы увидеть такую ​​ошибку, она должна быть показана); после полного заполнения используйте gparted или все, что вы хотите, чтобы записать основную таблицу (MBR / GPT / etc) по мере необходимости, это «обрежет» весь диск, затем создаст разделы с нужным форматом и т. д.

Зачем заполнять его нулями? Коротко говоря, мой опыт заключается в том, что когда я заполняю его нулями, некоторые твердотельные накопители исправляют 2-24 нечитаемых блока, и блоки больше не используются.

Теперь первое, что я делаю, когда получаю новый твердотельный накопитель, перед его использованием - это полное заполнение его нулями, чтобы избежать повторных случайных ошибок нечитаемых блоков размером 1 КБ.

Мой опыт: используя программное обеспечение для чтения / тестирования всего SSD (оно говорит вам, сколько времени занимает чтение каждого «сектора»), я получил много пар «512-байтовых секторов» (блоки по 1 КБ), которые не пригодны для использования, и их положение изменяется случайным образом и количество отказов варьируется от 2 до 24 и т. д .; после полного заполнения нулями и воссоздания мастер-таблицы (которая обрезает обрезки) больше не читаемые сектора.

Мой краш-тест: Я запустил заполнение нулями для восстановления после таких ошибок, я позволил использовать один SSD, через несколько часов и после того, как на него было записано менее одного терабайта (120GiB SSD), он умер по ошибке, он не позволяет доступ к нему больше, биос материнской платы не может его видеть, USB-корпуса зависают при доступе к нему, поэтому ни Windows не видит его, ни Linix fdisk не видит его.

Это был тест «die» с несколькими SSD, которые я купил одновременно, идентичные ... все, что я не обнулял, умерли, остальные перераспределили много блоков, но без каких-либо нечитаемых ошибок.

Конечно, я пришел к выводу, что все твердотельные накопители не являются надежными, независимо от марки и емкости.

Итак, по моему опыту, первое, что нужно сделать, - это заставить их заполниться хотя бы один раз, лучше с нулями, чем со случайными (это быстрее).

Более того, большинство SSD выполняют внутреннюю обрезку при записи с нулями (алгоритмы выделения garbe и т. Д.).

Кроме того, если вы сначала заполните их один раз, любой блок, который дает ошибку записи, перераспределяется. Гораздо лучше, когда такое происходит без важных данных, когда записанные нули, если данные были потеряны (все были нулями), это не имеет значения, но если данные «жизненно важны» для операционной системы, это очень плохо.

Большинство SSD перераспределяют это, но теряя данные в блоке, который дал ошибку записи, только «предприятие» (они стоят> 10 € за ГиБ) делают попытку записи после перераспределения правильно. Некоторые SSD также потеряют все другие «сектора» в таком отказавшем блоке (как, например, «сброс»).

Так что лучше, попробуйте сначала, после полного заполнения, проверьте данные SMART, чтобы увидеть, сколько еще можно сделать перераспределений.

Не так важно, сколько было выполнено перераспределений, большинство твердотельных накопителей были получены от производителя с некоторыми перераспределенными блоками, найти один с нулем меньше 1%, поэтому важно соотношение между перераспределением и возможным перераспределением в будущем.

Это мой опыт после того, как сотни SSD умерли в течение пяти-пяти лет, некоторые умерли в первый час использования, другие через неделю, другие через месяц; но все, что я сделал с таким нулевым полным заполнением, действительно проживало от 2 до 3 лет, с записью 13 ГБ каждый день, 3 * 365 * 13 ГиБ = 13,9 ТБ, что намного меньше, чем говорят производители (> 100 ТБ).

Но скорость имеет значение, в большинстве случаев в Windows (в Linux хорошее чередование 2xHDD LVM2 дает одинаковое время загрузки, но не выходит из строя через> 25 лет), поэтому использование SSD по цене 0,21 € за гигабайт (120GiB = 25 €) стоит Стоит (для Windows), среди них они могут быть изменены через 2 или 3 года; Я надеюсь, что технологии улучшат надежность.

Для Linux я больше не хочу SSD, пока они не станут более надежными, но для Windows (Vista, 7 и 10) системный раздел является обязательным (время загрузки в десять раз ниже, в некоторых случаях, с Windows Vista, вместо> 30 минут загрузки) загружается на> 4 мин на моем старом ноутбуке).

Да, полное заполнение нулями обязательно, учитывая мой опыт.

Но только тогда, когда вы получаете SSD и до того, как использовать его для чего-либо.

Совет: Если SSD плохо выполняет сборку мусора, а операционная система не требует, чтобы он все обрезал, лучше выполнить полное заполнение нулями, в конце это то, что внутри SSD, когда он удаляет блоки. Кроме того, запись нулей приведет к очистке электронных данных, поэтому он помогает восстанавливать неисправные блоки чтения.

А также, каждый раз, когда вы меняете данные на нем, попробуйте выполнить клон, SSD сообщит, что запись была в порядке, также на нечитаемых секторах (они могут быть записаны в порядке, но не прочитаны), ни одна операционная система не предназначена для поддержки такого условия. , они все предлагают, если wtite в порядке, данные могут быть прочитаны; не путайте читаемые с прочитанными различными данными, чем написанные.

Это мой опыт работы с твердотельными и жесткими дисками. Для загрузки Windows и приложений я использую SSD, но всегда с клоном, сделанным на обычных HDD, так как SSD умирает менее чем за 3 года, но для Linux я использую 2x или 3x хороших 2,5 "HDD, которые при обычном использовании получают те же времена, что и SSD , но длится гораздо дольше (> 25 лет).

Я не собираюсь платить> 1000 евро за твердотельный накопитель Entetprise 100 ГБ, который хорошо работает в течение 10 лет, я предпочитаю платить 25 евро за 130 ГБ каждые 2 или 3 года. Цена имеет значение 100 € в год (для предприятий) против 10 € в год (Yucon, Samsung и т. Д.), Просто посчитай.

Claudio
источник
Принудительная запись поверх поврежденных секторов действительно является довольно надежным способом их «исправления», если зарезервированные секторы все еще доступны.
конфетти