??так, в предыдущих двух постах этой темы (часть 1, часть 2) я постарался показать, что такое usable space по сравнению с raw space, почему первое всегда меньше чем второе, и почему мы, заплатив за полновесные терабайты получаем на выходе якобы совсем не те терабайты, за которые мы заплатили.
Процесс перехода от raw к usable есть процесс получения из тупых байтов некоего функционала, “обмен байтов на дополнительные возможности и защиту данных”. Обычно чем больше мы теряем в байтах, тем больше получаем в функционале (конечно, если это правильная система хранения ;)
Один из блоггеров NetApp, которого я постоянно читаю, Костадис Руссос, использует в своих постах, в особенности в своих спорах с EMC, термины “Real Fibre Channel” (который так любят Наши Уважаемые Конкуренты) и “Better Than Real FibreChannel” :)
Давайте посмотрим, где же NetApp является “Better Than Real FibreChannel”.
Пост планируется длинный, я разбил его на несколько частей, которые будут идти в несколько приемов, так что готовьте кофе ;)
??так, как уменьшается пространство по пути от “raw data” к “usable data + функционал”?
Первый аспект относится скорее не к нашему случаю, но перечислим и его. Это так называемые “маркетинговые байты”. Большинство из читателей знает, что сто лет как существует проблема перевода из “двоичных” в “десятичные” байты. То есть “килобайт” это не 1000 байт, а 1024 байта.
Бородатый анекдот: “Шофер думает, что в килобайте 1000 байт, а программист - что в километре - 1024 метра”
Так вот, емкость в “двоичных байтах” получается больше, что очень нравится маркетерам компаний по производству жестких дисков: “А в попугаях я гораздо длиннее!” (с) Удав
Строго говоря уже в обед как сто лет принято решение ISO (International Standartization Organisation) для “двоичных байт” использовать специальные приставки, чтобы отличать двоичные и десятичные множители, звучат они непривычно, и немного смешно: не кило- а киби- (би - “бинарные”, двоичные единицы), “мега” - “меби”, и так далее.
Но пока есть что есть, и из диска на один “терабайт” (как называет его производитель), который на деле “тебибайт”, “исчезает” за счет этого почти сто мегабайт.
Аспект номер два - сектор 520 байт на 8 байт больше обычно используемого. Зачем это так сделано я писал тут и тут. Это уменьшает емкость диска примерно на 1/64 долю, повышая надежность хранения и позволяя использовать дедупликацию.
Далее переходим к RAID-ам. Как вы знаете уже, на системах NetApp используется RAID тип 4 (чередование с четностью, с выделенным диском четности), который имеет емкость X*N-X, где X - это емкость одного диска, а N это число дисков в RAID-группе, то есть на обеспечение отказоустойчивости занимается один диск.
Второй применяемый тип RAID, это вариант RAID-6 под названием RAID-DP, в нем на обеспечение отказоустойчивости занимается два диска (X*N-2X). Такой тип RAID рекомендуется использовать по умолчанию.
Максимальный размер RAID для дисков FC и SAS - 28 дисков. Для SATA - 16. Меньший размер RAID в случае SATA диктуется меньшей надежностью дисков, более высокой вероятностью выхода из строя и ошибок, что потребовало ограничить размер RAID. Кроме того, скорость rebuild на длинном RAID для относительно медленных дисков SATA может быть неприемлимо низкой.
При необходимости использовать большее количество дисков необходио создавать две и более группы, на каждую из которых будет потрачено по 2 диска четности (в случае RAID-DP).
Обратите внимание, что максимальный размер RAID для группы типа RAID-4 в два раза меньше, то есть 16 для SAS и FC, и 8 для SATA! Большая разрешенная длина группы RAID-DP также связана с его более высокой надежностью и отказоустойчивостью.
Следующий этап - диски hot spare. Система NetApp назначает все неиспользуемые в действующих RAID-группах диски в Hot Spare. Затем из пула hotspare-дисков вы можете их забрать, создавая RAID-ы, aggregates тома. Более того, эксплуатация системы без Hot Spare дисков вообще - настоятельно не рекомендуется. Это, в принципе, наверное возможно (например какая-нибудь тестовая инсталляция с абсолютно неценными данными, но ограниченная по дисковым ресурсам), но это должно быть осознанное решение, риск которого полностью возлагается на администратора системы. Для отключения весьма надоедливого уведомления о работе без hot spare необходимо установить одну из системных опций в настройках (курите маны, если что - я ни при чем.).
Но это, повторюсь, не рекомендуется, и является нештатным и рискованным режимом.
В нормальном состоянии необходим один hot spare на каждый контроллер кластера, причем для каждого используемого типа дисков.
Например, если у вас “двухголовая”, двухконтроллерная кластерная система, в которой используется два типа дисков, например 300GB и 450GB FC, или 300GB SAS и 750GB SATA, то вам нужно будет иметь spare каждого из типов, то есть отдельно 300 и отдельно 450, или отдельно 300 SAS, и 750 SATA.
С некоторых пор Data ONTAP предлагает иметь два hot spare на контроллер минимум.
Это связано с некими внутренними “маневрами” системы, и в принципе, как и в случае с работой без hot spare вообще, это может быть отключено в системных опциях ONTAP.
Лично вот мне, как частному лицу, кажется, что держать _четыре_ hot spare на систему (по 2 на контроллер) это уже откровенный перебор, даже для достаточно крупной системы, что уж говорить о наиболее популярных у нас “голова плюс одна или две полки”.
* ??зменить установку по умолчанию в 2 spare можно установив опцию raid.min_spare_count в 1, однако добавлять диски в aggreate придется в командной строке, так как для FilerView установку в 2 spare для ONTAP выше 7.3 изменить не удается (она просто не даст вам в GUI использовать дисков больше чем “все диски головы минус два”).
> aggr add [aggrname] -d [diskname]
Тем не менее, всякий раз, когда вы меняете настройки принятые по умолчанию - подумайте дважды. ??ли как было написано в “шапке” конфигурационного файла одной из линуксных программ: “Уберите свои руки от наших установок по умолчанию!”
Продолжение следует.