LINUX.ORG.RU
ФорумAdmin

Являются ли zpool scrub; zpool clear - альтернативой fsck?

 , ,


0

2

всё время проходят разные флеймы по поводу починки zfs, но лично мне кажется что всё примитивно. Сначала надо запустить #zpool scrub <POOL> а потом, посмотрев результаты - исполнить zpool clear <POOL>.

Так ли это? Или я заблуждаюсь?

Так получилось что я использую часть zfs томов, поверх USB3 и порой, при «передёргивании» одного из устройств на хабе - один из zfs, падает в DEGRADE. Но там принципиально не было операций. В данный момент выпал том, с которым вообще ни чего не делал. Он смонтирован где то в /zfs

Насколько я понимаю, надо запустить zpool scrub <POOL> и watch zpool status <POOL> для просмотра прогресса. Когда scrub отрапортует сколько нашел и исправил ошибок - можно исполнять zpool clear <POOL>

Вспомнил что там ещё можно посмотреть ошибки, перед clear, и тупо удалить файлы с ошибками. Возможно после удаления надо сделать повторный scrub?

Хотя сейчас пишет:

config:

	NAME         STATE     READ WRITE CKSUM
	S1T1Archive  DEGRADED     0     0     0
	  S1T1A      DEGRADED     0     0    27  too many errors

errors: No known data errors

т.е. ошибок нет, но «too many erors».

★★★

Последнее исправление: n0mad (всего исправлений: 1)

zpool clear - это просто сброс текущей статистики по ошибкам, чисто для просмотра.

zfs постоянно онлайн чинит любые ошибки, которые встречает в своей работе.

zpool scrub полезен вычитыванием всей поверхности и ремонтом любых отклонений заранее, чтобы не нагружать систему ремонтом ошибок и возможными отклонениями (например, в мониторингах могут срабатывать алерты и т.п.) в поведении системы из-за ошибок во время работы. Кроме того, если были серьёзные ошибки из-за сбоев дисков и шин данных вплоть до остановки работы всего пула, которые не сбрасываются через clear, то лучше таки сначала сделать полный scrub или хотя бы реплицировать данные в другой пул на другом хосте, чтобы не испытывать судьбу на качество кода ZFS, хоть оно и неплохое.

sanyo1234
()
Ответ на: комментарий от sanyo1234

zpool clear - это просто сброс текущей статистики по ошибкам, чисто для просмотра.

Но видмо для сброса - надо пофиксить ошибки?

zfs постоянно онлайн чинит любые ошибки, которые встречает в своей работе.

С чего придумал? Как мне кажется - все ошибки в журнале появляются уже после scrub. Потом по zpool status -v - Можно посмотреть список файлов с ошибками, удалить и снова scrub чтобы получить 0 ошибок в данных. Только посче этого я сбрасываю DEGRADED.

zpool scrub полезен вычитыванием всей поверхности и ремонтом любых отклонений заранее, чтобы не нагружать систему ремонтом ошибок и возможными отклонениями (например, в мониторингах могут срабатывать алерты и т.п.) в поведении системы из-за ошибок во время работы. Кроме того, если были серьёзные ошибки из-за сбоев дисков и шин данных вплоть до остановки работы всего пула, которые не сбрасываются через clear, то лучше таки сначала сделать полный scrub или хотя бы реплицировать данные в другой пул на другом хосте, чтобы не испытывать судьбу на качество кода ZFS, хоть оно и неплохое.

Ну фиг знает, по логике scrub это по факту чекдиск. Он же заносит в лог ошибок всё что находит и убирает то что сможет исправить. Хотя могу и заблуждаться.

n0mad ★★★
() автор топика