Использование дисков 4k с md / LVM / dm-crypt

8

Я знаю, что мне нужно выровнять свои диски 4k по 8 секторам, но как насчет md-RAID / LVM / dm-crypt? Как мне сказать этим слоям, что мой диск 4k? Если они не уважают размер сектора 4k, выравнивание раздела бесполезно. Как мне выровнять LVM / md / crypto-слои? Спасибо.

Винсент
источник
2
Я просто думал: «Хм, 4 килобайта кажутся очень маленькими для дисковода». Возможно это новый 640к.
Том О'Коннор
@Том. Многие файловые системы используют размер блока 4 КБ, поэтому большие сектора могут привести к значительному снижению производительности чтения-изменения-записи. Во-вторых, стремление к более крупным секторам должно было в первую очередь повысить эффективность ECC, и отдача от его увеличения становится все меньше.
Янв
@janneb Вы - Базз Киллингтон AICMFP
Том О'Коннор

Ответы:

4

Быть осторожен! Метки gpt, необходимые для дисков> 2 ТиБ, имеют длину 39 (512 байт) секторов. Поэтому, если вы создадите свой первый раздел сразу после метки, он не будет на границе 4 КБ.

GNU parted не делает этого по умолчанию, вероятно потому, что многие накопители «Advanced Format» ложно утверждают, что их физические сектора, а не только их логические сектора, по-прежнему имеют размер всего 512B.

Поэтому, если вы используете GNU parted, убедитесь, что каждый раздел начинается на LBA, кратной 8 (LBA остаются 512B, поэтому 8 * 512B = 4KiB). LBA начинаются с 0, поэтому начните первый раздел с «40».

Также, если вы используете GRUB, оставьте место для его начальной загрузки. Метки MS-DOS состоят из 63 секторов, и в GRUB достаточно места, чтобы спрятать загрузчик второй стадии, но в ярлыке gpt нет свободного места. Поэтому создайте небольшой раздел 1, установите его флаг «bios_grub», а затем создайте «настоящие» разделы - убедитесь, что каждый из них начинается на LBA, кратном 8.

Фил Карн
источник
3

См. Https://ata.wiki.kernel.org/index.php/ATA_4_KiB_sector_issues.

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

Для LVM вы должны изучить --dataalignmentвариант pvcreateили для более старых дистрибутивов -–metadatasize.

MD, AFAIK, помещает свои собственные метаданные в конец разделов, поэтому они всегда должны быть выровнены с нижележащим разделом.

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

janneb
источник
1

проблема в основном с выравниванием раздела, начиная со структуры основного диска. чтобы диски обратной совместимости «лежали» в BIOS / OS, они имеют секторы 512B, в то время как на самом деле они имеют секторы 4096B для современных жестких дисков, секторы 32-64kB для наиболее распространенных raders / ssds.

смещение разделов повредит вашей производительности. Я сделал некоторые тесты только для обычных разделов в верхней части диска - без lvm, и мои результаты, измеренные с помощью bonnie ++, были без правильного выравнивания:

Sequential Output Block: 29MB/s
Sequential Output Rewrite: 20MB/s

с выравниванием:

Sequential Output Block: 70MB/s
Sequential Output Rewrite: 37MB/s

проверьте это для выравнивания lvm.

PQD
источник
0

Большинство новых дистрибутивов уже обновлены, чтобы знать о 4K. Я только что собрал установку md-RAID / LVM / XFS на кучу 2 ТБ дисков без проблем. Ничего особенного не делал.

Крыльцо
источник
я не согласен ... конечно - все работает, но разделы выровнены, что снижает производительность.
2010 г.
Ну, это напрашивается на вопросы. У меня есть несколько различных рейдов, использующих диски от 2 ТБ до 500 ГБ с LVM поверх них, отформатированных в XFS. Так как именно все будет работать, если все диски не 4k? Я бы с удовольствием провел тесты, но мой сервер terra медленнее, чем диски, поэтому это было бы бессмысленно.
Крыльцо