Тестирование СХД

Тестирование СХД своими руками для тех, кто этого не видел и не делал. В том числе с тем, как подбирать СХД для своей системы, если ты оценку производительности системы в душе не чуешь как делать.

В четырех частях с буфетом и антрактом.

Часть 1. Тестирование основных физических компонентов и внутренней логики.

Часть 2. Подбор СХД для себя

Часть 3. Траблшутинг.

Часть 4. Тестирование производительности (для Vmware, пока что. Для Hyperv-V и KVM и прочего Openstack методика не отличается как-то принципиально). Ну тут в Vmware есть парочка документов, конечно, и готовые шаблоны, впрочем и не только у них - все кто плотно работают с СХД, знают что один поток данных и 10-20-50 потоков работают по разному, но вообще этот вопрос тоже надо отдельно и тщательно описать. Иначе начинается "ой у вас СХД говно, один поток всего NNN IOPS, а вот СХД ## торт, у нее 2*NNN при одном потоке" - и пофиг, что в реальных сценариях потоков будет куда больше 1 (а может быть и один).

О прошлой неделе коллегами притащили очередное СХД. Оно конечно не такой лютый кошмар, как Infortrend http://blog.korphome.ru/2019/05/20/infortrend-gs-конец-истории/ Кстати кто пишет русскими буквами адреса в интернете - тот рано или поздно будет работать только с такими СХД, и использовать только яндекс и для поиска, и для облака, ЕВПОЧЯ.

Часть 1. Тестирование основных физических компонентов и функций

Ребята не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте что тут писалось.

Перед началом тестирования необходимо будет прояснить несколько моментов про СХД, в частности:

  • Основные рабочие моменты - доступ файловый, блочный, или какой, и что под капотом? то есть как презентация пространства выглядит из СХД?

  • Где хранится ОС?

  • Используются ли диски СХД для хранения копии ОС и логов и данных ? (На некоторых СХД используются, на некоторых нет).

  • Какая модель используется, Active/Passive (ну вдруг), ALUA (Asymmetric Logical Unit Access) или труЪЪ Symmetrical Active/Active (SAA)

  • Сколько времени идет переключение путей при отказе или замене контроллера? Есть ли ограничения и какие?

  • Как реализовано управление, только WEB или WEB + SSH + SNMP + REST (ну понятно что второе) или еще и свой софт (например, очень любимый многими IBM Hitachi Storage Navigator)

  • Как вообще организована работа с СХД для стандартного обслуживания - нужно ли дополнительное ПО или все делается через WEB SSH?

    Нужна ли Java для работы этого ПО и если да, то какая и как с этим жить?

    Нужен ли отдельный сервер управления (Service Processor)?

    Есть ли демо управления, где скачать (пометка: поставить ссылку на склад демок)

Кстати говоря, работа с REST Api отлично реализуется через Powershell (если есть привычка к нему).

  • Как себя ведет СХД при нарезании тонких лунов и если при этом случается overcommit с переполнением всего места? Встает ли и ждет и как ее выводить из такого состояния?

  • Как себя ведет СХД при недостатке указанного типа хранения? Вынося из одного чата про триппер (3PAR): AFAIR, стандартное поведение 3PAR при out of space на каком-то уровне - сначала пытаться аллоцировать с меньшей отказоустойчивостью (magazine vs. cage), потом уже в другом tier/CPG. — It is also possible for a CPG to run out of space if there are not enough free chunklets of the selected device type to complete a grow. In such a circumstance the CPG will attempt to complete the grow by using a lower availability level (i.e., HA MAG instead of HA CAGE) and if that is not possible it will use chunklets from another tier. The system will report that the CPG was grown with degraded parameters and once the space shortage has been corrected, it is important to run the tunesys command to correct the degraded grow. https://h20195.www2.hpe.com/v2/GetPDF.aspx/4AA3-8987ENW.pdf стр. 31

  • Как себя ведет система при заполнении 50, 75, 90 и 95% свободной емкости? Вынося из одного чата: capacity alerts, генерируемые 3PAR-ом (начиная с 217-й страницы). http://h20565.www2.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-c04830845&sp4ts.oid=57542

Первый генерируется при 50% заполнения, информационный. При этом из описания предупреждения следует, что мы просто советуем добавить дисков. Recommended Action: Add more physical space so that space is available for auto-growth of logical capacity by CPGs. Contact your authorized service provider to order a capacity upgrade

Второй генерируется при 75%, уже minor, а не просто инфо. При этом мы настойчиво рекомендуем добавить Recommended Action: Hewlett Packard Enterprise strongly recommends adding more physical capacity. If all available space becomes full, new writes on all virtual volumes will fail. Contact your authorized service provider to order a capacity upgrade.

Третий – при 85%, major Recommended Action: It is critical to add more physical capacity as soon as possible. If all available space becomes full, new writes on all virtual volumes will fail. Contact your authorized service provider to order a capacity upgrade

И четвёртый, критический, при 95%. При этом предупреждают, что запись новых данных уже может быть неуспешным.

  • Есть ли у СХД механизм WORM и настройки репликации (в любом виде) на WORM том другого СХД. Если кто забыл, то термин write once read many (WORM) пришел из мира кассет, и нужен для хранения бекапа.

  • как работает модель безопасности для доступа всех видов (web, ssh, snmp, rest, serial). Блокировка УЗ, настройка политик паролей и политик блокировок. Блокируется ли учетная запись, IP с которой враги или некорректно настроенный сервер стучится в СХД или как? Настройки SNMP по умолчанию.

  • Как организован сбор логов вендором для анализа? Какие виды support log collection формируются, как именно, какого размера, что в них?

    Есть ли, к примеру, оценка уровня сигнала (мощности) SFP ? (ВНЕЗАПНО на brocade свичах такое есть)

  • как настраиваются, хранятся и анализируются perfomance логи?

  • есть ли учетные записи суперадмина и системы? Что будет если эти УЗ удалить? Что будет если забыть пароль суперадмина?

  • И при ЗОЖ и питание. Как работает система от переменного тока 220/230 50/60, в каком диапазоне?

  • Как работает система от постоянного тока?

  • Сколько времени система работает на одном блоке питания?

  • Сколько времени дается на замену блока питания? ВНЕЗАПНО некоторые СХД при замене блоков питания требуют провести замену за не более чем 5 минут после выдергивания старого.

  • Сколько времени дается на замену контроллера?

  • Сколько батарей установлено в СХД и есть ли их встроенное тестирование? Как оно обрабатывается?

  • (перенести вверх) может ли СХД одновременно работать с разными типами SFP, например Ethernet 10G и FC8 ?

  • если в СХД реализован файловый доступ (NAS), то как - через отдельный сервер (физический или виртуальный), поддерживается ли нормальная модель разделения доступа (AGDLP и второй как там его) и разделение через LDAP Radius, в том числе наследование и отключение наследования? И в том числе как-там-его transparency mode ?

    И опять же, file lun отдельный или как-то нарезается поверх блочного? Или поверх всего массива?

  • если в СХД реализован файловый доступ (NAS), то как с ним работает Backup storage snapshot и работает ли? У того же Veeam не работал раньше, например, для HPE File Persona Software.

  • Если в СХД реализован файловый доступ, то есть ли управление файлами с консоли самого СХД ?

Документация:

  • Наличие best practices для VM (MS, Vmware, KVM, XEN), VDI, DBMS(СУБД), ограничений по настройками DBMS при использовании сценариев вида Always on

  • Наличие best practice perfomance для разного числа дисков в raid-group.

  • Наличие HCL для основных типов производителей свичей, подтверждение совместимости.

  • Механизм вендора для постройки full compatibility map.

  • Возможность межвидового скрещивания (это, скорее, сетевой момент, как например FC работает с Cisco MDS, а то некоторые строят Brocade - Cisco сети и потом получают боль).

Вот тут непонятный момент. В Vmware 6.7 с VMFS6 расширился и углубился функционал работы с тонкими томами. Для MS я не знаю, есть ли такая реализация. Тем не менее этот вопрос тоже надо рассматривать.

  • вендор-лок (vendor-lock) на диски. Есть, нет, почем диски если не покупать поддержку и срок поставки. Или как у некоторых - надо покупать отдельные паки на диски (в смысле, отдельно разрешение на использование дисков, как в brocade на порты).

  • всякие там Object S3 - по желанию, если используете.

  • что с подключением внешних дисков, можно ли поставить флешку и сколько USB дисков, вывезет ли по питанию (актуально для Qnap)

    (актуально и для шифрования, и для быстрого слива данных "на месте")

  • Сброс настроек. Что будет с рейдами, если вы случайно зажмете кнопку включения больше чем надо?

  • Можно ли помигать огоньками диска, контроллера, порта ?

  • Замена блока питания. Заведется ли при замене или надо будет оба выключать (по документации). ВНЕЗАПНО.

Добавления: Протоколы файлового доступа. Их ВНЕЗАПНО стало нынче очень много, в том числе: Классика: SMB 1-2-3 и NFS разных версий. Внезапно не все работает со всем. Классика для Мак. AFP (Apple filling protocol) - как это ни странно, с файловым доступом много работают именно с маков.

Новое и стильное: pNFS (NFS v4.1), NFS Session Trunking (NFS Multipathing), SMB Multichannel and SMB Continuous Availability что из этого есть, а чего нет.

SSD cache - есть ли, как добавляется, как работает. Работает ли сразу же после добавления, работает ли на только чтение или чтение и запись? Кому принадлежит и презентуется?

Можно ли с WEB\SSH запустить тест скорости диска и его смарт и экстенд смарт Зачем? Чтобы понять какой диск из группы тупит И тормозит всю группу (примечание. И видно ли в логах или где-то еще, что до диска отвалился второй путь).

Теперь про механизм тестирования физической части.

Для начала, СХД должна быть включена, и в ней настроено:

  • NTP (джва)

  • Два SNMP сервера для отправки алертов "туда" (snmp trap).

  • включено собственно SNMP v2 или v3. Лучше оба, механизм работы иногда отличается.

  • Syslog

  • два AD сервера для LDAP Radius

  • два почтовых сервера.

  • какой-то сервер, генерирующий хоть какую-то нагрузку на LUN на разных (если ALUA) контроллерах.

    Да, я знаю что Crystal Mark дно и надо использовать что-то иное, но у меня нет под руками "прямо сейчас" готового шаблона генератора нагрузки.

    Даже ATTO benchmark нет.

    Знаю что на vmware есть

    Best practices for performing the storage performance tests within a virtualized environment (2019131)

    https://kb.vmware.com/s/article/2019131

    I/O Analyzer

    https://labs.vmware.com/flings/i-o-analyzer

    Testing virtual machine storage I/O performance for ESX and ESXi (1006821)

    https://kb.vmware.com/s/article/1006821

Command line tool for datastore performance test in ESXi 6 https://communities.vmware.com/thread/540959

VMware Storage Best Practices

esxtop: GAVG, KAVG, etc - WHAT IS THE LATENCY STAT QAVG? https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/

Проверка начинается уже тут, в частности - может ли система быть так настроена, и как она отрабатывает отказ каждого компонента. Например, если у нас две независимые системы SNMP мониторинга, как будет отправлен алерт? Если у нас отказала отправка письма на один почтовый ящик, будет ли отправлена ошибка работы с почтовым сервером на второй и на SNMP? Как это настраивается?

Теперь к тестированию. Начнем с простого.

  • Сам запуск системы. Запустилась ли с первого раза, сколько занимает запуск с ноля? Описаны ли процедуры запуска и выключения?

  • Подключение к Vmware и hyper-V. Без проблем ли (особенно с iSCSI security как там его с двух сторон), или надо что-то крутить?

  • LUN Security. То есть есть ли настройки презентации LUN для отдельных инициаторов, группами и иначе?

  • Ограничения на количество элементов в группах, в частности во сколько групп может быть включен и LUN, и инициатор

  • Операции при первичном запуске "из коробки" - форматирование дисков и прочие внутренние операции. Сколько занимают.

  • Как система обрабатывает выдергивание кабеля питания из блока питания?

  • Как система обрабатывает выключение питания из PDU (power distribution unit). ВНЕЗАПНО поведение системы может отличаться

  • Как система отрабатывает пропадание питание "от щитка".

  • Замена блока питания. Заведется ли при замене или надо будет оба выключать. ВНЕЗАПНО.

  • Как система отрабатывает выдергивание 4 случайных SFP модулей под нагрузками вида файловое чение, запись, СУБД.

  • Как система отрабатывает выдергивание контроллера 1? (Подразумевается, что MPIO настроен и работает и нагрузка видна в RR режиме)

  • Как система отрабатывает его возврат и балансировку?

    Примечание: вопрос взят по результатам тестов infortrend-gs, с описанием ситуации:

    Затем мы вернули контроллер А на место и примерно через 2 минуты массив стал полностью недоступен. При этом статус массива был в состоянии Shutdown.

  • Как система отрабатывает выдергивание второго контроллера и его возвращение?

    А если по схеме 2-1-2-1 ?

  • Сколько и как идет ребилд?

    upd. Можно ли управлять скоростью (приоритетом) ребилда

  • Если выдернули НЕ ТОТ диск, сколько времени есть для того, чтобы его вставить обратно без ребилда? (обычно очень и очень немного, если вообще есть). Что вообще будет если вынуть диск и поставить обратно - поймет ли СХД что это тот же диск, нужно ли будет вручную сказать "ну ты там это посмотри" или пойдет ребилд, а диск надо будет вручную очистить и только потом ставить обратно или как?

  • Что будет с системой, если выдернуть диски с ОС?

  • Что будет с системой, если дернуть целиком дополнительную полку? Ну вот было у нас так включено по питанию по ошибке в один PSU, что упала по питанию полка, что будет?

Логические операции.

  • Как работает со снапшотами и бекапами (COW и это все), максимальное число снапшотов на LUN.

  • Проседает ли и насколько производительность при бекапе снапшотов? Если вообще СХД это умеет конечно.

  • Как отрабатывает 95% заполнение а)луна б)всего СХД

  • есть ли доступ с контроллера 1 на контроллер 2 и наоборот.

  • Можно ли поменять местами контроллеры и что будет?

  • Как фактически отрабатывает oversubscription overprovisioning при переполнении диска?

  • Как фактически отрабатывает Vmware unmap ?

  • Как работает изменение настроек типа хранения и типа рейда на лету, а именно:

    расширение дискового пула (добавление дисков в пул, ограничения по скорости), переформатирование из R5 в R6, включение и отключени отдельно дедупликации, сжатия, тиринга, SSD кеша)

  • что будет, если у нас шел ребилд и в это время пропало питание?

  • скорость поднятия портов

  • как отработает оставить каждый из контроллеров без сети мониторинга по очереди. При обновлении и замене свичей - частый сценарий.

    Куда уедет management IP (если он есть).

Проверка командной строки.

  • Отрабатывают ли все show команды, в том числе show snmp status.

  • Отрабатывают ли основные команды SSH - полный цикл от создания дисковой группы до презентации

  • Отрабатывают ли основные команды REST - полный цикл от создания дисковой группы до презентации

  • Как отрабатывают команды на втором контроллере при исполнении с первого?

  • Какие вообще режимы есть у командной строки?

  • Разграничение привилегий по исполняемым командам из командной строки.

  • Разграничение привилегий по SNMP