Я не нашел подробностей о том, как работает ремонт и каковы требования из документы.
Для автоматического ремонта от скраба нужно ли зеркало? RAIDZ? Либо? Ни то, ни другое (сами контрольные суммы не содержат четности)?
Блоки ZFS не имеют четности, поэтому они не являются «самовосстанавливающимися».
Очистка пытается исправить ошибки повреждения, перемещая блоки с неверной контрольной суммой в другое место. Это возможно только в том случае, если в пуле существует нормальная копия неисправных блоков.
Вероятность того, что последнее будет истинным, довольно высока, если вы используете избыточность (зеркалирование или raidz), но все еще присутствует для пулов или полос одиночных устройств, если ошибка контрольной суммы влияет:
copies=2
или больше)Очистка не исправляет ошибки повреждения, а только обнаруживает их. Если имеется действительная резервная копия доступных данных (зеркало, raidz и т. Д.), То поврежденные данные будут отброшены.
Когда очистка завершена, если неверные данные были обнаружены и отброшены, запускается операция переноса данных. Это восстанавливает избыточность массива (зеркало, raidz и т. Д.). Поскольку скраб запускает это поведение, вы можете назвать его частью той же операции, но внутренне это определенно отдельный процесс.
Чистка должен предложить соответствующему хранилищу сообщить об ошибках SMART и URE, если они существуют. URE предложит пометить диск как сбойный (и автоматически заменить его, если есть запасной). Ошибки SMART необходимо отслеживать отдельно (обычно через smartd
или похожие).