Учитывает ли ZFS размер автоматических запасных частей при использовании autoreplace=on?
Максимальная кодовая база ZFS для пула: zfs-linux (0.7.5-1ubuntu16.11)
Представьте себе пул, который неожиданно увеличился за счет добавления зеркал большего размера с точки зрения емкости физических дисков. Запчасти пошли на буксир. Новое зеркало, новая запаска. SAS Enterprise Grade на HBA. Зеркало 0 меньше 1, а 1 меньше 2. Каждое зеркало имеет запасное зеркало соответствующего размера.
pool: glue
state: ONLINE
scan: scrub repaired 0B in 27h55m with 0 errors on Mon Jul 12 04:19:14 2021
config:
NAME STATE READ WRITE CKSUM
glue ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
wwn-0x5000cca2a501f240 ONLINE 0 0 0
wwn-0x5000cca2975af090 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
wwn-0x5000cca271340e4c ONLINE 0 0 0
wwn-0x5000cca27134c71c ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
wwn-0x5000cca2972cce94 ONLINE 0 0 0
wwn-0x5000cca298192df4 ONLINE 0 0 0
spares
wwn-0x5000cca2558480fc AVAIL
wwn-0x5000cca2972be67c AVAIL
wwn-0x5000c50083bbae43 AVAIL
errors: No known data errors
Вот как это может выглядеть. Если используется автоматическое резервное копирование, а небольшой резервный диск пытается зеркально отразить диск, который больше его, сломается ли пул или возникнет ошибка, которую мы можем отсканировать?
Или будетautoreplace
делать ли проверки, чтобы убедиться, что запасные части присоединяются к зеркалам того же или меньшего размера? В таком случае, возможно ли, чтобы самый большой запасной элемент присоединился к самому маленькому зеркалу?
Я был бы рад взглянуть на код, если вы мне укажете. Более того, я хотел бы дать вам голос «за» и чек.
1 ответ
Автоматическая замена предназначена для замены дисков в одном и том же физическом месте и не имеет ничего общего с горячим/холодным резервированием.
Но похоже, что zfs пробует все запасные части по порядку, пока не найдет тот, который увенчается успехом. Я думаю, что это соответствующий исходный код: GitHub.