Потыренно в интернетах.

Чтобы сервер не тупил при записи тысяч мелких файлов, контроллер использует Write-Back. Сначала он принимает данные в свою сверхбыструю оперативную память (кэш), рапортует операционной системе «всё записано, работаем дальше» и потом плавно в фоновом режиме распихивает эти блоки по физическим жёстким дискам.

В этом кэше постоянно висят грязные страницы, в том числе критически важные метаданные файловой системы (те же журналы транзакций). Если вы дёргаете шнур из розетки, эта память мгновенно обнуляется.

Ясное дело, проектировали контроллеры не конченые идиоты, поэтому там есть суперконденсатор, который даёт время перенести содержимое оперативки в память, и даже батарейка BBU, которая нужна как раз на такие случаи. Только вот они не всегда справляются (знаете, насчёт конченых идиотов я, возможно, поторопился), поэтому нормальная практика — защищать сервер ИБП.

ИБП хватает на несколько минут, чтобы запустить вторую линию питания или дизель. Плюс каждый сервак у нас запитан крест-накрест от двух линий (у них по два блока питания).

Но поскольку тут дёргали из розетки прямо мимо ИБП, на одном из серваков RAID-массив всё-таки развалился. При наличии грязных страниц в памяти не получается самостоятельно загрузиться и починиться, нужны сервисные процедуры от админа. При следующей загрузке гипервизор видит write hole — физические данные на дисках не совпадают с контрольными суммами в массиве. Данные обычно теряются только с последних транзакций, но вот времени на ребилд уходит много.

Дополняем, не стесняемся!