Linux: Как выровнять раздел и файловую систему на аппаратном RAID

У меня есть тестовая коробка (PowerEdge 2950) с подключенными дисками SAS Perc 6/i и 4x 15,5k (с размерами блоков 512 байт). Они находятся на одном виртуальном диске RAID 5 с размером фрагмента 64 КБ.

Я создаю один тестовый раздел, который охватывает весь диск. Должен ли он быть выровнен по метке блока размером 64 КБ или по размеру блока 512 байт? Если позднее, раздел может начаться с 2048 байтов в один виртуальный диск, то есть он начнется со 2-го свободного блока на первом диске (я полагаю)?

Кроме того, я добавлю еще два диска и заново создаю виртуальный диск RAID позднее для дальнейшего тестирования. Должен ли тогда быть создан раздел с размером 6x512 байт, то есть с 3072 байт?

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

2 ответа

Если вы используете начальный сектор из 2048 (512 байт) секторов, то ваш раздел запустится на диск размером 1 МБ. Это значение используется по умолчанию в большинстве новых установщиков. Это число хорошо делится на 64 КБ и большинство других распространенных размеров блоков / блоков.

Если вы создаете разделы с помощью fdisk, сделайте -u флаг. Таким образом, он сообщает значения в 512-байтовых секторах вместо цилиндров.

Поскольку вы используете ext*, вы можете использовать этот калькулятор для определения размера полосы и ширины шага для файловой системы. Я показываю, что вы хотели бы создать свою файловую систему с этими параметрами: mkfs.ext3 -b 4096 -E stride=16,stripe-width=48, Возможно, вы захотите попробовать создать файловую систему без передачи параметров и просмотра того, что mkfs обнаруживает и использует (проверьте с помощью tune2fs -l /dev/sdnn). В наши дни он, кажется, делает довольно хорошую работу, автоматически определяя размер / ширину.

Ваша математика неверна. В массиве RAID5 с четырьмя дисками есть (упрощенно) 3 диска с данными и диски четности, поэтому, если у вас есть 4 диска по 80 ГБ, вы получаете 3*80 или 240 ГБ доступного пространства на массиве RAID. Итак, по вашим предположениям, запуск раздела на 2048 байтах в диске начнется со 2-го блока 2-го диска.

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

Конечно, это чтение и запись фрагментов по 64 КБ, поэтому, если вы начали разделение на границе 192 КБ, вы можете увидеть лишь незначительное улучшение при доступе к файлам в самом начале раздела. Но, предполагая, что на этом диске не будет несколько очень больших файлов (то есть размером, кратным 192 КБ), которые будут считываться последовательно, при нормальной работе головки будут перемещаться по всему диску (дискам), выделяя файлы для чтения / записи в чанках 4Kb, которые затопили бы любой выигрыш от выравнивания раздела.

В заключение, поскольку Perc 6/i является аппаратным RAID-контроллером, я бы просто позволил ОС разделить диск в соответствии с рекомендациями. Выравнивание раздела не окажет заметного влияния на скорость доступа к диску / файлу.

Ваши разделы должны соответствовать ширине полосы (размер блока * количество дисков с данными). Однако вы должны знать, что это едва ли касается поверхности оптимизации выравнивания, и вам необходимо убедиться, что все, от размера блока RAID до метаданных файловой системы и размера ввода-вывода приложения, необходимо выровнять для оптимального производительность и отсутствие ненужного усиления чтения / записи. Я написал статью на эту тему об оптимизации выравнивания файловой системы, которая может вам пригодиться.

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