S>NTFS не хранит, т.к. CRC и ECC по факту уже реализованы внутри самого диска. Bit rot детектится хард драйвом ещё до того, как данные попадут на уровень файловой системы. Более того, благодаря ECC, они сначала корректируются, блок релокируется, и только когда запасных блоков для релокации перестаёт хватать или объём повреждений сектора превышает возможности ECC, мы получаем сбой чтения, заметный на уровне ФС.
А ZFS видимо просто так придумали?
Это опасное заблуждение. Данные портятся и могут быть восстановлены контроллером используя CRC и ECC только в том случае, если их кто-нибудь читает! Вот именно для этого и придумали data scrubbing, если что. Если ты не читаешь испорченный сектор годами, то ошибки в нем накапливаются и его уже нельзя восстановить, при попытке чтения ты получишь URE или, что еще хуже, прочитаешь битый сектор.
S>Bottom line: прочитать "гнилые данные" с современного винта практически невозможно.
Даже из RAID-5 массива их можно прочитать.
S>Это кстати вообще, на мой взгляд, общее место какое-то. Т.е. к примеру крайне популярна тема сравнения надёжности (fault tolerance) и доступности (availability) разных решений — SQL там, NoSQL, и т.п. — при этом, что характерно, никаких разговоров о времени восстановления из бэкапа не ведётся в принципе. На мой взгляд, это профанация — потому, что двухмашинный active-passive кластер при смерти активной ноды превращается в одномашинный кластер. Если восстановление второй ноды занимает неделю, то у нас есть все шансы нарваться на второй фолт и получить полную потерю данных.
S>В SQL Azure, насколько я знаю, по этой причине используется три реплики базы, и коммит требует кворума "2 из 3х". Благодаря этому при единичном сбое мы всё ещё имеем избыточность, и можно продолжать работать. Если у нас осталась единственная реплика данных, то по идее надо всё тихонечко выключать и молиться, что за время подготовки второй реплики в первую не шарахнет метеорит
Термин "high-availability" подразумевает что твой кластер может пережить потерю до трети машин без перерывов в обслуживании. С двухмашинным "кластером" ни о каком HA говорить, само собой, нельзя. Если под "репликами" подразумеваются разные кластеры в двух разных ДЦ, то да, после того как в первый ДЦ шарахнул метеорит, второй будет работать без реплики. Но мы тут исходим из того, что событие "метеорит шарахнул в ДЦ" — очень маловероятно.