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

Материал из ALT Linux Wiki
м (→‎raid/lvm: +evms)
Строка 22: Строка 22:
=== разбиение на разделы ===
=== разбиение на разделы ===
* fdisk из util-linux-ng 2.17 обучен ([https://bugzilla.altlinux.org/show_bug.cgi?id=23014 #23014]) использовать minimum_io_size и выравнивать разделы по границе физического сектора либо stipe chunk
* fdisk из util-linux-ng 2.17 обучен ([https://bugzilla.altlinux.org/show_bug.cgi?id=23014 #23014]) использовать minimum_io_size и выравнивать разделы по границе физического сектора либо stipe chunk
* parted 2.1 обучен ([http://lists.gnu.org/archive/html/bug-parted/2009-12/msg00037.html --align]) -- есть [http://git.altlinux.org/people/led/packages/?p=parted.git;a=summary у led@]
* parted 2.1 обучен ([http://lists.gnu.org/archive/html/bug-parted/2009-12/msg00037.html --align]) -- есть [http://git.altlinux.org/people/led/packages/?p=parted.git;a=summary у led@] ([https://bugzilla.altlinux.org/show_bug.cgi?id=23016 #23016])


=== raid/lvm/evms ===
=== raid/lvm/evms ===

Версия от 17:40, 23 февраля 2010


Введение

С 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 байт. Что делать, если встретятся _такие_ варианты — пока непонятно вообще.

Решения

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

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

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

  • fdisk из util-linux-ng 2.17 обучен (#23014) использовать minimum_io_size и выравнивать разделы по границе физического сектора либо stipe chunk
  • parted 2.1 обучен (--align) -- есть у led@ (#23016)

raid/lvm/evms

???

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

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

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

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