On Thu, Jul 09, 2015 at 07:29:32AM +0300, Vasiliy P. Melnik wrote:
Ну и да - raid обладает противной особенностью выпадения второго (и третьего, если это raid6) диска в процессе ребилда, если это > 1Tb диски и на них (OMFG!) есть нагрузка. Диски отваливаются от каждого чиха: кабель, неровный shutdown, timeout при ремапе и т.п. В этом смысле zfs ттт на высоте.
Ну техника разная бывает, рейды тоже. Индусы иногда не кривые прошивки делают. Ну все как обычно. У меня за все время пул зфс-а умер только один раз - ну я вообще ничего не смог с него вытянуть, рекавери нет никакого как класса. Виновата в этом была планка памяти.
Один раз - на солярке, я отключил чексумы, пожил пол-годика, диск помер, поменял - и оно исполнило бесплатный цирк - "восстановило" данные на других
К сожалению это невозможно принципиально (zfs): на дисках есть уникальная метка и метка принадлежности к сету дисков, т.е. старое доброе развлечение с Mylex'ов типа вставить диск от друго raid set'а и все расхерячить просто не сработает. Помимо этого можно по zdb найти какой блок был последним и это не raid в классическом понимании, где такое возможно оверрайдом.
дисках читая с пустого. Результат был фееричен - вылезли ещё грабли с gzip - читаешь файл, ОС крэшится пытаясь разжать мусор.
failmode=wait | continue | panic Controls the system behavior in the event of catastrophic pool fail- ure. This condition is typically a result of a loss of connectivity to the underlying storage device(s) or a failure of all devices within the pool. The behavior of such an event is determined as fol- lows: wait Blocks all I/O access until the device connectivity is recov- ered and the errors are cleared. This is the default behav- ior. continue Returns EIO to any new write I/O requests but allows reads to any of the remaining healthy devices. Any write requests that have yet to be committed to disk would be blocked. panic Prints out a message to the console and generates a system crash dump.
С полудохлым диском и стукнутой статикой планкой памяти (может она, конечно, и сама сдохла) - всё более-менее пахало и ошибки детектились :)... На заре моей ЗФС-о-мании был случай с IDE-дисками, один сдох, другой исполнил непонятную команду и повредил данные. В итоге - колупание ядра, убирание "фатальности" в ошибках - всё смонтировалось, фигдесят файлов были нечитаемы, их имена/пути можно было получить.
Рекавери - только всякие полицаи писали - "очень классно, данные не перезаписываются". Короче, это возможно, но никакая крупная контора не заморачивалась.
Рекавери с zdb - работает как надо. Мы восстанавливали десятки тер после жесткого крэша бэкплейна.