![внешний битовый массив mdadm не используется](https://rvso.com/image/154452/%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9%20%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%20mdadm%20%D0%BD%D0%B5%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F.png)
Я поместил битмап на внешний диск EXT4 (1xHDD), но я бы ожидал, что файл будет записываться также всякий раз, когда данные изменяются на моем массиве RAID10, верно?
Я даже сделал контрольную сумму файла битмап, и он точно не изменился.
Размер файла всего 2 КБ (размер фрагмента битмап установлен на 64 МБ)
- Я пробовал останавливать и запускать массив, никаких изменений, нет записи в файл
- Если файл недоступен при запуске массива, я получу ошибку,
mdadm: Could not open bitmap file /mnt/1xHDD/R10_bitmap.dat
что хорошо.
Состояние процесса mdadm с cat /proc/mdstat
:
Детали массива с mdadm --detail /dev/md127
:
Проверка файла растрового изображения с помощьюmdadm -X /mnt/1xHDD/R10_bitmap.dat
Filename : /mnt/1xHDD/R10_bitmap.dat
Magic : 6d746962
Version : 4
UUID : 39f863d1:4d247162:c3672454:1765abe2
Events : 2914
Events Cleared : 2914
State : OK
Chunksize : 64 MB
Daemon : 5s flush period
Write Mode : Normal
Sync Size : 624877568 (595.93 GiB 639.87 GB)
Bitmap : 9535 bits (chunks), 0 dirty (0.0%)
Содержимое моего mdadm.conf:
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/SRV01:R10_HDD metadata=1.2 bitmap=/mnt/1xHDD/R10_bitmap.dat name=SRV01:R10_HDD UUID=39f863d1:4d247162:c3672454:1765abe2
Кстати, есть ли какие-нибудь комментарии относительно размещения файла битовой карты на одном жестком диске? Попробовал просто переименовать его, и массив продолжает работать без проблем, хотя и mdadm --details...
сообщает, что битовая карта была удалена.
Дополнительное примечание: При переходе на внешнюю битовую карту производительность записи на этом массиве RAID10 возросла со 135 МБ/с до 370 МБ/с! (при использовании прямого ввода-вывода, т.е. кэш страниц не используется).
решение1
Кажется, внешний файл bitmap все-таки заработал.
Как отметил Стивен Китт в комментарии, файл обычно довольно мал, особенно если вы используете большой размер фрагмента растрового изображения. (Я ожидал, что он будет намного больше).
Я не заметил изменения файла bitmap, потому что забыл, что смонтировал файловую систему с опцией EXT4 noatime
(не обновит дату и время изменения), а когда я сделал контрольную сумму MD5 файла, массив в тот момент был синхронизирован, поэтому никаких изменений не произошло.
Во-вторых, о стабильности/риске размещения внешнего битмэпа на «небезопасном» диске 1x:
отключение диска, на котором находился файл битмэпа, во время выполнения не привело к какой-либо нестабильности в работающем и затронутом массиве. mdadm просто сообщает, что файл битмэпа был «удален», но массив продолжает работать нормально. Хотя он не выйдет в онлайн при перезапуске массива, например, при перезагрузке, пока вы не перенастроите битмэп (либо на none
, internal
либо на другой external
файл битмэпа).
В целом я считаю безопасным размещать его на незеркальном диске.
В документации mdadm и во всех руководствах по mdadm, которые я читал, сильно недооценивается, насколько велико влияние на производительность использования внутренней битовой карты по умолчанию, по крайней мере, на RAID10 и RAID5.
Только что провел быстрый тест на R5:
Bitmap: Внутренний, запись: 267 МБ/с
Bitmap: Нет, запись: 434 МБ/с
(общий размер теста 20 ГБ, размер блока 512 КБ, кэширование страниц включено)