Как отформатировать жесткий диск 4k сектора?

Я купил жесткий диск Seagate ST3000DM001 объемом 3 ТБ. Он был продан внутри корпуса. Я отформатировал в ext4, скопировал некоторые данные на него, а затем я удалил его из корпуса и подключил его непосредственно к материнской плате. Мои данные не были видны ОС (он видел один неизвестный раздел ~ 300 ГБ, а остальные - как свободное место), поэтому я начал читать о Advanced Format и> 2 ТБ дисках.

Я снова подключил диск к USB, скопировал все данные и снова подключился к sata. Я использовал gparted для создания таблицы разделов GPT (утилита диска ubuntu не позволяла мне с Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0), создал один большой раздел 3Tb Ext4, оставил значение по умолчанию Align to равным MiB и отформатировал.

Привод распознан правильно и правильно монтируется. Файлы могут быть успешно скопированы с диска и на диск.

Однако:

Gparted показывает диск, имеющий 512 тыс. Секторов, что, я знаю, неверно 1

gparted screenshot

в то время как cat /sys/block/sdb/queue/physical_block_size сообщает 4096

Я обнаружил, что у libparted есть проблема с не 512k секторами 2 и другие 3 , в которых говорится, что выравнивания с MiB достаточно.

Раздельные отчеты о том, что накопитель выровнен при выборе минимального значения:

(parted) align-check 
alignment type(min/opt)  [optimal]/minimal? min                           
Partition number? 1                                                       
1 aligned
(parted)    

Правильна ли моя конфигурация? Есть ли у меня потеря производительности, потому что диск отформатирован с 512 тыс. Секторов, gParted сообщает о ложных значениях, или я все понял неправильно?

  1. http://www.storagereview.com/seagate_barracuda_3tb_review_1tb_platters_st3000dm001
  2. http://ubuntuforums.org/showthread.php?t=153633 ; p = 9754234 # post9754234
  3. http://wdc.custhelp.com/app/answers/detail/a_id/5655
12
задан 28 August 2013 в 01:47

4 ответа

Он сообщает 512 байт, потому что это размер логического сектора для обратной совместимости со старыми ОС (Windows). (g) parted выравнивает разделы до 1 МБ, что более чем достаточно для правильной работы с дисками, использующими физические сектора 4k, так что все в порядке.

0
ответ дан 28 August 2013 в 01:47

Во-первых, большинство накопителей расширенного формата имеют размер логического сектора 512 байт, хотя размер физического сектора составляет 4096 байт (4 КБ). Это делается путем манипулирования данными в прошивке привода, и это может привести к проблемам с производительностью , если разделы не выровнены должным образом. Скорее всего, это не источник вашей проблемы, и ваше внимание на выравнивание разделов неуместно. (Безусловно, выравнивание разделов важно ; оно не является источником вашей проблемы.)

Моя догадка (а это просто догадка) состоит в том, что Ваша проблема связана с переключением между корпусом USB и прямым подключением диска. В некоторых корпусах 512-байтовые логические сектора на диске преобразуются в 4096-байтовые логические сектора, представленные на компьютере, то есть в отличие от встроенного программного обеспечения на диске расширенного формата. Я не уверен, но я подозреваю, что некоторые корпуса делают это только на дисках размером более 2 ТБ. Схемы разделения MBR и GPT ссылаются на данные по номерам секторов, поэтому изменение размера сектора делает данные разделения недействительными. Таким образом, если вы подготовите диск в USB-корпусе, который переводится таким образом, а затем попытаетесь использовать диск напрямую (или наоборот), вы увидите ошибки, потому что разделы (и даже данные резервного копирования GPT) не будут где компьютер ожидает его. Это все равно, что сказать человеку с завязанными глазами «идти 2 вперед», когда вы имеете в виду 2 фута, но человек думает, что вы имеете в виду 2 метра, и поэтому идет в стену.

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

Чтобы проверить мою гипотезу, вы можете использовать инструмент (например, parted), который сообщает размеры логических секторов. Например:

sudo parted /dev/sda print
Model: ATA Hitachi HDP72505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B

Я опустил кучу информации из этого вывода. Важная деталь находится в заключительной строке, показанной здесь: размеры логического и физического секторов составляют 512 байтов. Если вы запустите этот тест, затем подключите диск другим способом и запустите его снова, вы можете сравнить результаты. Если размер логического сектора изменяется в зависимости от того, как вы прикрепляете диск, моя гипотеза верна и является источником вашей проблемы. Или, по крайней мере, это одна проблема; могут быть и другие. В частности, упомянутая вами ошибка Error synchronizing after initial wipe может указывать на другую проблему. OTOH, это может быть побочным эффектом parted попытки чтения резервных данных GPT с конца диска. В любом случае, если вы видите изменение в размере логического сектора, вы должны решить эту проблему, прежде чем заниматься чем-либо еще. Если вы хотите перераспределить диск, но у вас есть проблемы из-за ошибки Error synchronizing, попробуйте использовать gdisk или cgdisk (в пакете gdisk), а не parted или GParted; Семейство gdisk более устойчиво к ошибкам, чем семейство parted.

0
ответ дан 28 August 2013 в 01:47

Пока вы выравниваете свои разделы по кратности 4 КБ, все в порядке. В противном случае вам не нужно делать ничего особенного для дисков с физическими секторами 4 КБ.

Старые разделенные программы выравнивали разделы на нескольких секторах размером 63x512B, что приведет к снижению производительности, если диск имеет 4 КБ физических секторов, поскольку это 31 с половиной килобайт, а НЕ кратно 4 КБ.

Практически никакое программное обеспечение для разметки, доступное в настоящее время в Ubuntu, больше не будет этого делать (если только вы специально не попросите об этом) Большинство по умолчанию выровняется по кратному 1 МБ (2048x512B секторов, что также составляет 256x4KB секторов).

Что бы произошло, если бы вы не выровняли его?

Если вы не выровняете разделы с кратными 4 КБ, худшее, что может произойти, - это потеря производительности ( довольно значительный для небольших файлов). Диски с секторами 4 КБ, как правило, эмулируют сектора 512 Б для совместимости с существующими системами. Таким образом, они прекрасно функционируют, если вы просто рассматриваете их как секторный диск 512В. Но когда вы пишете в одну область 512B, она перезаписывает весь сектор 4KB.

Итак, по соображениям производительности важно убедиться, что кластеры 4 КБ, которые вы используете в своей файловой системе, выровнены с секторами 4 КБ на диске, чтобы одна запись кластера не привела к необходимости записи двух секторов 4 КБ на диске .

0
ответ дан 28 August 2013 в 01:47

Внесены изменения как в ядро ​​Linux, так и в утилиты для поддержки дисков расширенного формата. Эти изменения гарантируют, что все разделы на дисках Advanced Format правильно выровнены по границам секторов 4K. Поддержка ядра для дисков расширенного формата доступна в версиях ядра 2.6.31 и выше. Поддержка разделения и форматирования дисков расширенного формата доступна в следующих утилитах Linux:

Fdisk: GNU Fdisk - это утилита командной строки, которая разбивает жесткие диски на разделы. Версии 1.2.3 и выше поддерживают диски расширенного формата.

Parted: GNU Parted - графическая утилита для разметки жестких дисков. Версии 2.1 и выше поддерживают диски расширенного формата.

Собственные 4K-диски (4Kn) имеют размер логического сектора 4 КБ. Современные операционные системы могут хранить данные на этих дисках, но они обычно не могут загружаться с этих дисков. Эти диски обычно являются внешними дисками с USB-соединением.

Чтобы создать раздел, используемый в качестве устройства хранения мультимедиа, просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo mkfs.ext4 -m 0 /dev/sdb1

Большинство физических дисков 4k имеют размер физического сектора 4096 байт, так что 3 ТБ могут уместиться на пластинах, но они все еще имеют логический сектор 512B размер для совместимости с ОС, которые ожидают, что один сектор будет 512B. Вот почему, когда вы используете команду print в parted для распечатки деталей, это говорит, что размер сектора логический / физический 512B / 4096B. Это нормально.

Это «преобразование» осуществляется интеллектом на самом диске, и это нормально. Вот как это должно работать.

Если вы не видите всего 3 ТБ, сначала проверьте в BIOS, не ограничивает ли он размер диска. Может быть, вам нужно обновление BIOS для поддержки диска.

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

Итак, измените единицу измерения на MiB, напечатайте информацию о диске, которая также будет печатать размер диска в MiB, и создайте раздел (если вам нужен только один раздел), начиная с 1MiB и заканчивая последним MiB (или одним до последний).

Например, диск объемом 3 ТБ должен иметь что-то вроде 2 861 022 МБ. Таким образом, создание одного раздела, охватывающего весь диск на дисковом устройстве под названием / dev / sdX, будет выглядеть следующим образом (замените X правильной буквой):

sudo parted /dev/sdX
unit MiB
mklabel gpt
print (to see the total size in MiB)
mkpart primary 1 2861022
quit

Если размер диска больше или меньше МБ чем 2861022, отрегулируйте конечное местоположение.

1117 Вот и все. После этого создайте нужную файловую систему в разделе.

Источники и дополнительное чтение

4-секторные накопители и Linux

< sup> Проверка ошибок и установка дисков 4k в Linux

Форумы Ubuntu

0
ответ дан 28 August 2013 в 01:47

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

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