Домашне-сисадминское

Я, конеч­но, очень люб­лю TrueNAS Core. Ибо FreeBSD, и это тру. Он поз­во­ля­ет дома из гов­на и палок под­нять весь­ма серьёз­ную инфра­струк­ту­ру: ZFS с RAIDZ, снап­шо­ты, репли­ка­ции, iSCSI, SMB, NFS, вир­ту­аль­ные маши­ны, алер­ты — всё это рабо­та­ет, и рабо­та­ет ста­биль­но и пред­ска­зу­е­мо.

Но есть у Core одно харак­тер­ное свой­ство, кото­рое пери­о­ди­че­ски, как фи тепер тош­ше коф­фо­ри­те по-рус­ски, анно­ит: чрез­мер­ная щепе­тиль­ность в отно­ше­нии состо­я­ния пула.

ZFS обна­ру­жил один бит, кото­рый не сов­пал? Авто­ма­ти­че­ски вос­ста­но­вил блок из пари­те­та? Скраб под­твер­дил целост­ность?

С точ­ки зре­ния ZFS — всё пре­крас­но. Но с точ­ки зре­ния TrueNAS — «Пул дис­ков нездо­ров! Сроч­но, сроч­но! Хва­тай меш­ки — вок­зал отхо­дит!»

Core упор­но счи­та­ет пул про­блем­ным до тех пор, пока:

  1. Адми­ни­стра­тор лич­но не зай­дёт в интер­фейс или кон­соль,
  2. Не про­ве­рит SMART по каж­до­му дис­ку,
  3. Не убе­дит­ся в отсут­ствии дегра­да­ции,
  4. Не под­твер­дит, что ошиб­ка была исправ­ле­на,
  5. И вруч­ную не сни­мет пам­пер­сы тре­во­гу коман­дой zpool clear.

Даже если про­изо­шёл еди­нич­ный, слу­чай­ный сбой — будь то мимо­лёт­ная про­бле­ма в SATA, крат­ко­вре­мен­ный тай­маут кон­трол­ле­ра, оди­ноч­ный флип­ну­тый бит в опе­ра­тив­ной памя­ти (не ECC, ибо гов­но и пал­ки) от обыч­но­го фоно­во­го излу­че­ния, или любая дру­гая разо­вая ано­ма­лия — и ZFS пол­но­стью вос­ста­но­вил повре­ждён­ный блок из пари­те­та, TrueNAS всё рав­но ожи­да­ет руч­но­го вме­ша­тель­ства: адми­ни­стра­тор дол­жен зай­ти, про­ве­рить и фор­маль­но под­твер­дить собы­тие.

С точ­ки зре­ния надёж­но­сти под­ход фор­маль­но оправ­дан: ZFS может вос­ста­но­вить блок, но факт воз­ник­но­ве­ния ошиб­ки — это всё же диа­гно­сти­че­ское собы­тие.

Но на прак­ти­ке это при­во­дит к тому, что после любо­го мини­маль­но­го чиха — одна исправ­лен­ная кон­троль­ная сум­ма, один сбой чте­ния, одно крат­ко­вре­мен­ное собы­тие в кана­ле пере­да­чи дан­ных — TrueNAS сооб­ща­ет о «нездо­ро­вом» пуле, и сроч­но тре­бу­ет руч­ной про­вер­ки.

Ино­гда хочет­ся, что­бы систе­ма уме­ла гово­рить про­ще: «Да, демо­ны были. Мы это­го не отри­ца­ем. Но они само­лик­ви­ди­ро­ва­лись.»

Но фило­со­фия TrueNAS Core дру­гая: каж­дый сбой дол­жен быть зафик­си­ро­ван, про­ве­рен и под­твер­ждён чело­ве­ком. Нра­вит­ся это или нет — это часть его дизай­на. Но ино­гда… анно­ит.