
У меня есть массив RAID 10, состоящий из двух SSD-дисков, использующих mdadm на Linux,
Я создал его с помощью
mdadm --create --verbose --level=10 --metadata=1.2 --chunk=512 --raid-devices=2 --layout=f2 /dev/md/MyRAID10Array /dev/nvme0n1p3 /dev/nvme1n1p3
но мне интересно, почему когда я смотрю на массив, я получаю размер куска 65536kb? Я также думаю, что --chunk=512 может быть слишком большим.
Из cat /proc/mdstat
md127 : active raid10 nvme1n1p3[1] nvme0n1p3[0]
942664704 blocks super 1.2 512K chunks 2 far-copies [2/2] [UU]
[=====>...............] resync = 29.5% (278703616/942664704) finish=55.2min speed=200170K/sec
bitmap: 6/8 pages [24KB], 65536KB chunk
решение1
Согласно вики-сайту mdadmhttps://raid.wiki.kernel.org/index.php/Mdstat, то, что вы там видите, это фрагмент битовой карты, а не фрагмент массива. Размер фрагмента массива составляет 512 КБ, как вы его и установили, согласно сообщению двумя строками выше. Хотя вики не совсем ясно описывает значение фрагмента битовой карты, там говорится: «Битовая карта в памяти использует 16 бит для каждого фрагмента битовой карты для подсчета всех текущих записей в фрагмент, поэтому она фактически в 16 раз больше, чем битовая карта на диске». Возможно, что «фрагмент битовой карты» на самом деле имеет размер одной «страницы» битовой карты в памяти. Ваш массив сообщает только о 8 страницах битовой карты, из которых 6 загружены в память; после завершения повторной синхронизации количество страниц для битовой карты должно уменьшиться.
решение2
chunk
определить полосу элемента массива RAID (т.е. насколько велики фрагменты - куски - данных). ИзСтраница руководства:
-c, --chunk=
Specify chunk size in kilobytes. The default when
creating an array is 512KB.
Это подтверждается mdstat
2-й строкой:
942664704 blocks super 1.2 *512K chunks* 2 far-copies [2/2] [UU]
Фрагменты данных отличаются отбитовая картакуски, которые определяют активные зоны, охватываемые каждым битом битовой карты. Такие куски намного больше - 64 МБ в вашем случае:
bitmap: 6/8 pages [24KB], *65536KB chunk*
В общем, для RAID1/10 вам не нужно настраивать эти параметры. Однако имейте в виду, что значения по умолчанию оптимизированы для вращающихся носителей (HDD), а не для быстрых SSD, поэтому, если хотите, можете поэкспериментировать с меньшими блоками данных (например, 8-64K). Я бы не стал заморачиваться с настройкой битовой карты.