BigSector: различия между версиями

Материал из ALT Linux Wiki
м (→‎Ссылки: a few more...)
м (→‎raid/lvm/evms: ...libevms.)
 
(не показано 5 промежуточных версий 2 участников)
Строка 10: Строка 10:


== Проблемы ==
== Проблемы ==
При использовании DOS partition table первый раздел типично начинается с сектора 63, то есть 31.5k — что не является выровненным ни по какой разумной границе. Одним из способов объезда этого является [http://freesource.info/wiki/HCL/XranenieDannyx/SoftwareRAID#p20496-5 выравнивание начала раздела] ([http://www.pythian.com/news/411/aligning-asm-disks-on-linux оригинал]) по границе, кратной размеру блока либо страйпа.
При использовании DOS partition table первый раздел типично начинается с сектора 63, то есть 31.5k — что не является выровненным ни по какой разумной границе. Одним из способов объезда этого является [http://freesource.info/wiki/HCL/XranenieDannyx/SoftwareRAID#h4072-3 выравнивание начала раздела] ([http://www.pythian.com/news/411/aligning-asm-disks-on-linux оригинал]) по границе, кратной размеру блока либо страйпа.


Как если бы тормозной трансляции самой по себе было недостаточно, производители [http://lkml.org/lkml/2009/2/26/223 грозились] для удобства пользователей Windows XP учинить смещение первого сектора на 512 байт, чтобы тем самым подвинуть 63-й логический сектор размером 512 байт на границу 8-го физического сектора размером 4096 байт. Что делать, если встретятся _такие_ варианты — пока непонятно вообще.
Как если бы тормозной трансляции самой по себе было недостаточно, производители [http://lkml.org/lkml/2009/2/26/223 грозились] для удобства пользователей Windows XP учинить смещение первого сектора на 512 байт, чтобы тем самым подвинуть 63-й логический сектор размером 512 байт на границу 8-го физического сектора размером 4096 байт. Что делать, если встретятся _такие_ варианты — пока непонятно вообще.
Строка 29: Строка 29:
=== raid/lvm/evms ===
=== raid/lvm/evms ===
Тесты lvm2 показали, что align'ит нормально и характеристическая просадка скорости отсутствует.
Тесты lvm2 показали, что align'ит нормально и характеристическая просадка скорости отсутствует.
evms пришлось исправлять в нескольких местах: [https://bugzilla.altlinux.org/26925 #26925], [https://bugzilla.altlinux.org/23848 #23848], [https://bugzilla.altlinux.org/32679 #32679].


=== файловые системы ===
=== файловые системы ===
Строка 40: Строка 42:
== Ссылки ==
== Ссылки ==
* [[РаботаСДисками/WD]]
* [[РаботаСДисками/WD]]
* [http://ata.wiki.kernel.org/index.php/ATA_4_KiB_sector_issues ATA 4 KiB sector issues]
* [http://lwn.net/Articles/322777/ Linux and 4K disk sectors]
* [http://lwn.net/Articles/322777/ Linux and 4K disk sectors]
* [http://lwn.net/Articles/378776/ ATA 4 KiB sector issues, 3rd draft]
* [http://lwn.net/Articles/378776/ ATA 4 KiB sector issues, 3rd draft]
* [http://lists.altlinux.org/pipermail/hardware/2012-April/016420.html разъяснение vsu@ в hardware@]
* [http://lists.altlinux.org/pipermail/hardware/2012-April/016420.html разъяснение vsu@ в hardware@]
* [http://lwn.net/Articles/378776/ фрагмент треда в LKML]
* [http://lwn.net/Articles/378776/ фрагмент треда в LKML]
* [http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/ статья на dW]

Текущая версия от 11:16, 24 ноября 2016


Введение

С 2009 года на рынке доступны ёмкие жёсткие диски (например, WD Advanced Format), использующие физические секторы размером 4096 байт вместо издревле устоявшихся 512 байт с целью повышения эффективности использования поверхности (за счёт сокращения числа синхрозаголовков и зазоров, а также перераспределения ECC-данных).

Процессом управляет International Disk Drive Equipment and Materials Association (idema.org, bigsector.org); сейчас можно лицезреть «переходную стадию», при которой диски эмулируют для системы работу с секторами по 512 при помощи техники read-modify write (RMW — примерно как SSD для erase block’ов).

Поскольку включение этого механизма по определению приводит к потере производительности, желательно его избежать — то есть работать блоками информации с размером, кратным 4k, и смещениями, выровненными по границе 4k.

Проблемы

При использовании DOS partition table первый раздел типично начинается с сектора 63, то есть 31.5k — что не является выровненным ни по какой разумной границе. Одним из способов объезда этого является выравнивание начала раздела (оригинал) по границе, кратной размеру блока либо страйпа.

Как если бы тормозной трансляции самой по себе было недостаточно, производители грозились для удобства пользователей Windows XP учинить смещение первого сектора на 512 байт, чтобы тем самым подвинуть 63-й логический сектор размером 512 байт на границу 8-го физического сектора размером 4096 байт. Что делать, если встретятся _такие_ варианты — пока непонятно вообще.

Решения

Требуется обеспечить адекватную обработку ситуации вместе со всеми возникающими нюансами на уровнях от работы с собственно диском до файловой системы. (#16000)

установщик (alterator-vm)

  • Установка p6 Desktop показала, что создаваемые в процессе установки разделы не выравниваются. altbug #23848

работа с диском

разбиение на разделы

  • fdisk из util-linux-ng 2.17 обучен (#23014) использовать minimum_io_size и выравнивать разделы по границе физического сектора либо stripe chunk (в sisyphus)
  • parted 2.1 обучен (--align) -- есть в сизифе, но не в бранчах p5/5.1 (#23016)

raid/lvm/evms

Тесты lvm2 показали, что align'ит нормально и характеристическая просадка скорости отсутствует.

evms пришлось исправлять в нескольких местах: #26925, #23848, #32679.

файловые системы

  • XFS: mkfs.xfs 3.0.1 справляется при -s size=4096, в 3.1.1 уже сделали автодетект (#23017)

Тестирование

  • hdparm --Istdout => IDENTIFY DEVICE word 209
  • bonnie++ может давать заметный, но не в разы разлёт по Sequential Input/Output, но полное время выполнения у mike@ на WD15EARS различалось примерно втрое (что коррелирует с «performance hit of a factor of about 3.3»)
  • предложено использование мелкого сишного теста и также PostMark

Ссылки