Оптимальный mdadm raid5
Linux
Ключевые моменты для лучшей производительности в RAID 5
- Размер куска :
- The
--chunk
Опция определяет размер фрагментов данных, записываемых на каждый диск массива. - Для RAID 5 размер фрагмента играет важную роль в производительности. Типичное значение
64K
или 128K
, но для операций с большими файлами 256K
или 512K
может быть лучше. - Если вы не уверены в рабочей нагрузке, начните с
128K
.
- Растровое изображение :
- The
--bitmap=internal
Опция включает внутреннее растровое изображение с намерением записи, что помогает ускорить операции повторной синхронизации, но может немного снизить производительность записи. - Если вы отдаете предпочтение производительности над скоростью повторной синхронизации, рассмотрите возможность пропустить растровое изображение или использовать внешнее растровое изображение (
--bitmap=/path/to/bitmap
).
- Предположим, чистый :
- The
--assume-clean
опция пропускает начальную синхронизацию массива. Используйте это только в том случае, если вы на 100% уверены, что диски пусты и выровнены. - В противном случае опустите этот флаг, чтобы обеспечить согласованность данных.
- Сила :
- The
--force
опция отменяет предупреждения. Используйте его осторожно, обычно при воссоздании существующего массива.
- Выравнивание файловой системы :
- Убедитесь, что файловая система, созданная на вершине RAID-массива, соответствует геометрии RAID (например, размеру фрагмента и количеству дисков с данными).
Создаем массив:
mdadm --create --verbose /dev/md0 \
--level=5 --raid-devices=4 \
--chunk=128 \
--bitmap=internal \
/dev/sdb /dev/sdc /dev/sdd /dev/sde
Опции:
--create
: Создает новый массив. --verbose
: выводит подробную информацию во время создания массива. /dev/md0
: имя создаваемого RAID-устройства. --level=5
: настройка RAID 5. --raid-devices=4
: указывает количество дисков в массиве. --chunk=128
: устанавливает размер фрагмента 128 КБ. Корректировка в зависимости от рабочей нагрузки. --bitmap=internal
: включает внутреннее растровое изображение с намерением записи. /dev/sdb /dev/sdc /dev/sdd /dev/sde
: устройства, которые необходимо включить в массив.
Проверьте статус массива :
cat /proc/mdstat
Размечаем и форматируем массив : Используйте файловую систему, оптимизированную для RAID, например xfs или ext4.:
parted -s /dev/md0 mklabel gpt
parted -s /dev/md0 mkpart primary ext4 0% 100%
mkfs.ext4 -m 0 -b 4096 -E stride=128,stripe-width=384 /dev/md0p1
Смонтируем массив :
mkdir /mnt/raid
mount /dev/md0 /mnt/raid
* не забываем что для монтирования куда правильнее использовать UUID
# blkid | grep md0
/dev/md0p1: UUID="5bbd4380-81ad-404b-b18c-74baab0f3276" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="de0037ac-667e-4b34-a25f-9297bbf1ed73"
# mount UUID=5bbd4380-81ad-404b-b18c-74baab0f3276 /mnt/raid
Обновлять mdadm Конфигурация : Сохраните конфигурацию RAID для автоматической сборки при загрузке:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
Скрипт оптимизации производительности:
#!/bin/bash
# Set stripe cache size
echo 32768 > /sys/block/md0/md/stripe_cache_size
# Increase read-ahead buffer
blockdev --setra 65536 /dev/md0
# Boost RAID sync/rebuild speed limits
echo 600000 > /proc/sys/dev/raid/speed_limit_max
echo 600000 > /proc/sys/dev/raid/speed_limit_min
echo "RAID performance tuning applied."
- Назначение : управляет скоростью синхронизации и восстановления RAID.
speed_limit_min
: минимальная скорость синхронизации/восстановления (в КБ/с). speed_limit_max
: максимальная скорость синхронизации/восстановления (в КБ/с).
- Значения по умолчанию :
speed_limit_min
: Обычно 1000
КБ/с. speed_limit_max
: Обычно 200000
КБ/с.
- Рекомендуемые значения :
600000
(600 МБ/с) является агрессивным и может значительно ускорить операции синхронизации или восстановления.
- Эффект :
- Ускоренная синхронизация и время восстановления.
- Может повлиять на производительность обычного ввода-вывода во время перестроений.
- Когда использовать :
- Во время восстановления RAID или операций повторной синхронизации.
- Не рекомендуется для производственных систем с высокими требованиями к вводу-выводу.