14

Я знаю, что такое разделы, но я увидел вопрос о выровненных разделах в Ask Ubuntu и понял, что не знаю, что такое "выровненные разделы".

Так что же значит "выровнять" разделы? Каковы преимущества и недостатки?

5 ответов5

15

Выравнивание раздела означает выравнивание его в соответствии с истинной базовой структурой блока.

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

На SSD истинный размер блока может быть 128 КБ. На RAID-массиве это может быть 64 КБ. На диске расширенного формата это будет 4 КБ.

Для обратной совместимости накопитель продолжает работать с блоками по 512 байт. Но по соображениям производительности ваша система действительно должна знать истинный размер блока.

Одной из самых простых настроек производительности является выравнивание раздела диска в соответствии с истинным размером блока, чтобы когда ваша ОС записывала 4 КБ, 64 КБ или 128 КБ, она записывала полный блок.

Если раздел не выровнен, то результатом будет запись 512 байт в первый блок и 4–512 байт во второй блок, заставляя диск /SSD /RAID выполнять два цикла чтения-изменения-записи вместо одной записи.

3

Разделы - это последовательности блоков, и по давним соглашениям один блок составляет 512 байт.

Таким образом, раздел может начинаться с любого кратного 512 байтов внутри диска, "видимого" как очень длинная строка байтов.

Однако базовое дисковое оборудование, которое изначально имело тот же размер сектора в 512 байт, теперь использует больший размер для эффективности. Допустим, это 4096 байт.

По соображениям совместимости микропрограмма, стоящая между ОС и аппаратным обеспечением, по-прежнему "говорит по секторам". Таким образом, вы запрашиваете первый сектор, и аппаратное обеспечение извлекает первый блок (4096 байт), а микропрограмма извлекает и доставляет соответствующий фрагмент. Вы спрашиваете второй блок, и блок, вероятно, извлекается из кэша.

Пока несоответствие размера сектора не имеет минусов.

Но операционная система также использует блоки (обычно называемые кластерами) для эффективности и выровняет их по разделу. Таким образом, кластер из 4 секторов будет состоять из секторов 5, 6, 7 и 8.

Когда ОС запрашивает кластер файловой системы № 2, микропрограммное обеспечение запрашивается для логических секторов 5, 6, 7 и 8. Если они все находятся в одном и том же блоке диска , то диск должен выполнить ОДНО чтение.

Но если раздел начинается с "неправильного" сектора, первый кластер в файловой системе, например, в конечном итоге упростится до секторов 2, 3, 4 и 5. И тогда они могут быть наполовину в первом блоке диска (1-2-3-4), наполовину во втором (5-6-7-8).

Теперь вам нужно одно дополнительное чтение. Для соотношений ОС к диску 1:1 это то же самое, что удвоение чтения. Если соотношение ОС к диску составляет 2:1, кластер состоит из двух аппаратных дисковых блоков, вам потребуется 2+1 = 3 чтения, штраф 50%:

OS   |--- cluster  12 ---|--- cluster  13 ---|--- cluster  14...
     |                   |                   |
HDD  --|----|----|----|-a--|--b-|-c--|-d--|-e--|----|---        BAD
     |                   |                   |
HDD  |----|----|----|----|-a--|--b-|-c--|-d--|----|----|---     GOOD

Выше кластер состоит из 4 аппаратных блоков (соотношение 4:1) по 2 сектора в каждом. Выравнивание по "четным" секторам означает, что для чтения кластера эти 8 чтений сектора преобразуются в 4 чтения блока. Выравнивание по нечетным секторам означает, что те же 8 секторных чтений требуют 4+1 = 5 блочных чтений, снижение производительности составляет 25% (вы добавляете одно чтение каждые четыре).

Если у вас неправильно выровненный диск с соотношением 4:1, его выравнивание сделает его на 20% быстрее (вы сохраняете одно чтение каждые 5).

Чтобы сделать раздел "выровненным", вы должны либо переместить / установить его смещение от начала диска до соответствующего кратного 512b-сектора, либо (в зависимости от инструмента) вы можете вставить небольшой раздел в начале диска, с таким размером, что следующий раздел начинается точно на границе раздела диска. Во втором случае, хотя теоретически вам нужно не более N-1 секторов, т. Е. Очень мало килобайт, на практике вам, вероятно, потребуется потратить несколько сотен килобайт, возможно, целых мегабайт, чтобы выжать максимум производительности из ваших мультигигабайтный жесткий диск.

(Возможно, вы сможете восстановить это пространство и многое другое, правильно выбрав размер кластера ОС).

2

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

До середины 2000-х годов перегородки традиционно были выровнены по "цилиндрическим" границам. По историческим причинам "цилиндр" обычно составлял 63 сектора. Сектор 0 содержит загрузочный сектор и таблицу разделов. Более поздние сектора в цилиндре 0 иногда ограничены дополнительной информацией для загрузчика. Первый раздел обычно начинался в начале цилиндра 1.

Большинство файловых систем группируют сектора в более крупные блоки (иногда называемые "кластерами"). Обычно они размером 4 КБ.

В какой-то момент производители накопителей полагали, что было бы более эффективно, если бы они также использовали физические сектора 4K, но из соображений совместимости они сохранили размер логического сектора на уровне 512 байт. Если хост читает или записывает весь физический сектор одновременно, все происходит быстро. Если чтение части этого все еще довольно быстро, поскольку диск может просто отбрасывать ненужные данные. Однако, если хост записывает только часть физического сектора, накопитель должен прочитать физический сектор, объединить данные, считанные с данными с хоста, а затем переписать модифицированный сектор. Это означает ожидание поворота привода в положение дважды, а не один раз.

Это хорошо работает, если кластеры 4K файловой системы выровнены с физическими секторами диска 4K. К сожалению, традиционный способ разделения дисков означает, что первый раздел в основном гарантированно не выровнен, а последующие разделы имеют только 1 из 8 шансов на выравнивание. Поэтому поставщикам накопителей расширенного формата пришлось спешить с инструментами, чтобы помочь людям перестроить свои разделы.

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

В настоящее время обычной практикой является выравнивание разделов по границам в 1 МБ, что является достаточной степенью двойки, чтобы быть кратным всем общим размерам блоков.

1

Скорее всего, они имеют в виду новые жесткие диски расширенного формата.

Выравнивание статьи здесь

http://consumer.media.seagate.com/2010/03/the-digital-den/4k-sector-hard-drive-primer/

еще один здесь http://notepad.patheticcockroach.com/900/dealing-with-wd-advanced-format-hard-drives-on-linux-windows-and-mac-os-part-1/

0

Не знаю, если это полезно, но я понимаю, что выравнивание разделов происходит, когда вы выравниваете данный раздел с базовыми модулями RAID.

Очевидно, что производительность может ухудшиться, если вы используете аппаратный RAID или программный; Могут возникнуть проблемы, если начальное расположение раздела не выровнено по границе раздела в полосе раздела диска, созданного на RAID.

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

Я могу быть далеко, и это не может иметь ничего общего с RAID;)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .