Размер фрагмента, шага ext4 и ширины полосы для RAID уровня 1?

Размер фрагмента, шага ext4 и ширины полосы для RAID уровня 1?

на странице руководства mdadmговорится: «[chunk] имеет смысл только для RAID0, RAID4, RAID5, RAID6 и RAID10». т. е. он не применяется для RAID1. даже если вы передадите значение, он скажет ignoring chunk sizeи после создания RAID 1 вы получите:

md1 : active raid1 ...
      4883639488 blocks super 1.2 ...
      bitmap: 0/37 pages [0KB], 65536KB chunk

По какой-то причине он использовал 65 Мб для размера диска 5,6 Тб. Почему?

Затем, на странице руководства mkfs.ext4говорится:

stride=stride-size = Настройте файловую систему для массива RAID с блоками файловой системы размера stride. Это количество блоков, считываемых или записываемых на диск перед переходом на следующий диск, которое иногда называют размером фрагмента. Это в основном влияет на размещение метаданных файловой системы, таких как битовые карты, во время mke2fs, чтобы избежать их размещения на одном диске, что может повредить производительности. Это также может использоваться распределителем блоков.

stripe_width=stripe-width = Настройте файловую систему для массива RAID с блоками файловой системы stripe-width на полосу. Обычно это размер шага * N, где N — количество дисков с данными в RAID (например, для RAID 5 есть один диск четности, поэтому N будет количеством дисков в массиве минус 1). Это позволяет распределителю блоков предотвращать чтение-изменение-запись четности в полосе RAID, если это возможно, когда данные записываются.

Что все это значит для RAID1? Мне просто повторить то же значение, которое я получил для фрагмента выше? И игнорировать stripe_width, поскольку RAID1 выпадает из примечания «если возможно»? Или нет?

Не совсем понятно, что мне делать для RAID1. Используя формулы, которые я нашел в других руководствах для RAID0 и RAID5, я получил эти числа для своего массива RAID1, которые, по моему мнению, НЕ ВЕРНЫ.mkfs.ext4 -b 4096 -E stride=16384,stripe-width=16384

решение1

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

решение2

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

Связанный контент