Надежность RAID 5, качество SATA, и Дед Мороз.
Сокращенный перевод поста Chris Lionetti, Reference Architect – Microsoft Solutions Engineering
Этот пост рассматривает проблему Unrecoverable Error Rate (UER), «Уровня невосстановимых ошибок» на жестких дисках.
Диски типа SATA оптимизируются по соотношению GB/$ и GB/Watt, в то время, как диски с интерфейсом FC и SAS по параметрам IOPS/$ и IOPS/Watt. Это означает, что в плане плотности записи и механики, диски типа SATA решительно отличаются от дисков FC/SAS *1. Диски FC/SAS трехлетней давности имеют Unrecoverable Error Rate равный одному блоку на 10^15 бит данных (UER15). Диски SATA имеют этот параметр равный 1 блоку на 10^14 бит данных (UER14), что означает, что один блок (512Bytes) может быть потерян в среднем каждые 11TB считанных данных. Для UER15 это означает 1 блок каждые 110TB данных, и UER16 значит 1 блок каждые 1100TB пространства.
Давайте используем те же 9-дисковые наборы, что и в первой части поста. Берем 9-дисковый RAID 5 (8+1), 10-дисковый RAID DP/6 (8+2), и 16-дисковый RAID 10 (8+8). Предполагаем, что мы используем ту же инфраструктурную схему, при которой используется суммарно 800 дисков с данными.
Также возьмем за предположение величину отказа в 3%. Это означает 27 ребилдов для RAID 5 (см. предыдущую статью почему так). Допустим, что мы используем диски на 1TB, что означает, что когда в нашей дисковой инфраструктуре случается отказ (по нашим расчетам это может происходить до 27 раз в год) у меня есть шанс 8 из 11 (72% вероятность) что я получу ошибочно прочитанный UER-блок во время ребилда. Так как в случае возникновения UER она воздействует на весь страйп в наборе RAID 5, она влияет на объем данных, равный Stripe Element size * stripe size. Это означает, что вы можете получить до 64KB x 8 = 512KB поврежденных данных посреди вашего датасета, не узнав об этом. Хорошая новость в том, что, скорее всего, вы используете более надежные диски.
Если вы используете так называемые «enterprise class» диски вместо недорогих дисков «Desktop class SATA», то вы получаете диски с уровнем UER15. Такие более высококачественные диски, с более высоким UER, будут повреждать данные всего в 7.2% случаев во время каждого ребилда. В случае использования дисков FC 15K/10K, эта величина понизится до 0.72% во время каждого ребилда.
В случае RAID10, опасность гораздо ниже, так как ребилд производится всего с одного диска, а не с целой их группы. Смотрите таблицу.
Данные в таблице берут за основу параметры: 3% AFR, 8 дисков данных, и рассматривают вероятность для каждой операции ребилда.
Вероятность повреждения | RAID-5 (8+1) | RAID-10 (8+8) |
1 блок на 10^14 бит | 72,7% | 9,1% |
1 блок на 10^15 бит | 7,3% | 0,9% |
1 блок на 10^16 бит | 0,7% | 0,1% |
Величина поврежденного участка | 512KByte | 64KByte |
Диски типа Enterprise SATA обычно приближаются к величине UER15, в то время, как в случае дисков FC и SAS 15K RPM всегда говорят о UER16.
Скрытые проблемы на Enterprise SATA.
Аргумент, который всегда приводится, это что SATA имеют теперь тот же уровень ошибок, что и «enterprise drives». SATA на протяжении последних лет постепенно улучшают свои показатели, с UER14 до UER15, но, одновременно с этим, учетверяют свой объем. Стали ли диски боле надежными? Да, но не в 10 раз, как вы могли бы подумать, глядя на техспеки. За то же самое время диски enterprise FC улучшили показатель надежности с UER15 до UER16, достигнув при этом примерно половины емкости от дисков SATA.
Существует также некая возможность в дисках SATA, которая позволяет индустрии дисков SATA достигать уровня UER15. Эта возможность называется «heroic recovery» *2. Этот вариант восстановления ошибочно считанных данных при чтении означает, что диск прочитывает очень большой фрагмент данных и пытается восстановить неустойчиво прочтенный блок с использованием избыточности, чтобы потом переписать его куда-нибудь в другое место. Результатом замедления работы при «heroic recovery» может быть то, что диск перестает вовремя отвечать на запросы, и, в результате, вываливается из RAID.
Большинство (если не все) контроллеров RAID выключает на своих дисках «heroic recovery». Вопрос, ответ на который невозможно получить ни от одного вендора жестких дисков, это то, измерен ли UER этих диско с выключенной heroic recovery? Если вы утверждаете, что heroic recovery блока может восстановить данные с 9 из 10 неустойчиво читающихся блоков, то выключение этой возможности означает снижение для диска UER15 до UER14. Я включил в график данные как для UER14, так и для UER15, ваши диски будут располагаться где-то между этими двумя. Этот график показывает как оптимистичные, так и пессимистичные оценки вероятностей в RAID 5 и RAID 10 для объемов ваших данных, могущих быть поврежденными на протяжении года.
Выводы
У вас есть две возможности избежать неприятностей. Вы можете либо выбрать использовать RAID6, либо использовать диски с UER16. Этот пост написан не с целью продать вам диски SATA или FC, но лишь только помочь вам осознать опасности использования RAID5, а также опасность использования дисков SATA не имея способ смягчить возможные последствия. Вот в чем смысл нашего сегодняшнего заголовка. Все эти три понятия - сказочные.
(прим. romx: долго подмывало вместо Деда Мороза написать Честный Милиционер, или что-то в этом духе. В оригинале был Easter Bunny, «пасхальный кролик»)
Самое главное, что вы должны уяснить, дочитав это пост, это то, что больше нельзя доверять RAID 5. У вас есть сравнительно небольшой риск того, что ваши данные будут полностью потеряны, но существует гораздо более высокий риск того, что поврежденные данные приведут к замедлению работы, если попадутся в момент операции ребилда.
–
*1 Willis Whittington – WINHEC05 presentation on enterprise drives
*2 http://www.wdc.com/en/products/products.asp?driveid=403 Читайте про time limited recovery. Целых 7 секунд!. Эта проблема существует по всей индустрии SATA, а не только у Western Digital.