Тестирование Производительности Гиперконвергентных Систем И Sds Своими Руками

- Штурман, приборы! — 36! - Сколько 36? - А что с приборами? Примерно так сегодня выглядит большинство синтетических тестов СХД.

Почему это? До сравнительно недавнего времени большинство систем хранения были плоскими и имели единый доступ.

Что это значит? Общее доступное дисковое пространство собиралось из дисков с одинаковыми характеристиками.

Например 300 15к дисков.

И производительность была одинаковой по всему пространству.

С появлением технологии многоуровневого хранения системы хранения стали неплоскими — производительность варьируется в пределах одного и того же дискового пространства.

Причем оно не просто меняется, но и непредсказуемо, в зависимости от алгоритмов и возможностей конкретной модели СХД.

И все было бы не так интересно, если бы не появились гиперконвергентные системы с локализацией данных.

Помимо неравномерности самого дискового пространства, существует еще и неравномерность доступа к нему — в зависимости от того, находится ли одна из копий данных на локальных дисках узла или к ней необходимо обращаться по сети.

Обычные синтетические тесты терпят неудачу; цифры от этих нагрузок потеряли практический смысл.

Единственный способ серьезно оценить пригодность системы – это пилотная установка с передачей продукта.

Но что делать, если передача продукта не одобрена службами безопасности или просто требует слишком много времени/трудозатрат. Есть ли способ оценить? Давайте представим, что мы продуктивная нагрузка и нагрузим весь гиперконвергентный кластер.

Смело вычеркивайте «100% рандом по всему объему» — этот тест не покажет ровным счетом ничего, кроме производительности самых нижних дисков.

Те.

150–300 IOPS на узел (2–4 SATA).

Что для этого требуется? 1. Минимум 1 машина с генератором нагрузки на узел.

2. Загрузите профили рядом с изделием.

Для массовых рабочих нагрузок типа VDI необходимо создать представительное количество машин.

В идеале, конечно, полноценные, но так как большинство демо-систем — это 3-4 ноды, то запускать 3000-4000 ВМ на них конечно нет возможности.

В мои руки попал кластер Nutanix NX-3460G4, но тест применим к любой платформе, доступной на рынке.

Более того, те же тесты можно провести и для классических систем хранения; технология никак не меняется.



Тестирование производительности гиперконвергентных систем и SDS своими руками

В качестве генератора нагрузки я использовал FIO под управлением CentOS 7. Загрузить профили из Нутаникс XRay 2.2 .

Почему CentOS? Под рукой оказался дистрибутив, можно использовать любой другой линукс на свой вкус.

Делаем несколько шаблонов ВМ для разных типов нагрузки.

1. Управление FIO — 1 виртуальный ЦП, 2 ГБ ОЗУ, 20 ГБ ОС.

2. БД — 1 виртуальный ЦП, 2 ГБ ОЗУ, 20 ГБ ОС, 2*2 ГБ журнала, 4*28 ГБ данных.

3. VDI — 1 виртуальный ЦП, 2 ГБ ОЗУ, 20 ГБ ОС, 10 ГБ данных.

Создаем управляющее ФИО.

Устанавливаем CentOS в минимальной установке на диск 20Гб, остальное оставляем в покое.

После минимальной установки CentOS установите FIO. # ням, установи wget # wget dl.fedoraproject.org/pub/epel/testing/7/x86_64/Packages/f/fio-3.1-1.el7.x86_64.rpm # ням установи fio-3.1-1.el7.x86_64.rpm То же самое повторяем и для машин схемы нагрузки.

И прописываем для них ФИО в автозагрузке.

Создать файл /etc/systemd/system/fio.service

  
   

[Unit] Description=FIO server After=network.target [Service] Type=simple ExecStart=/usr/bin/fio --server Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

# systemctl демон-перезагрузка # systemctl включить fio.service # systemctl запустить fio.service # брандмауэр-cmd --zone=public --permanent --add-port=8765/tcp Инфраструктура готова.

Теперь нам нужен груз.

Давайте создадим список серверов FIO. 10.52.8.2 — 10.52.9.146 Для этого удобно использовать Excel.

Тестирование производительности гиперконвергентных систем и SDS своими руками

Загружаем этот список в управляющую машину.

Также загружаем на него конфигурационные файлы FIO. fio-vdi.cfg

[global] ioengine=libaio direct=1 norandommap time_based group_reporting disk_util=0 continue_on_error=all rate_process=poisson runtime=3600 [vdi-read] filename=/dev/sdb bssplit=8k/90:32k/10,8k/90:32k/10 size=8G rw=randread rate_iops=13 iodepth=8 percentage_random=80 [vdi-write] filename=/dev/sdb bs=32k size=2G offset=8G rw=randwrite rate_iops=10 percentage_random=20</code> <b>fio-oltp.cfg</b> <code>[global] ioengine=libaio direct=1 time_based norandommap group_reporting disk_util=0 continue_on_error=all rate_process=poisson runtime=10000 [db-oltp1] bssplit=8k/90:32k/10,8k/90:32k/10 size=28G filename=/dev/sdd rw=randrw iodepth=8 rate_iops=500,500 [db-oltp2] bssplit=8k/90:32k/10,8k/90:32k/10 size=28G filename=/dev/sde rw=randrw iodepth=8 rate_iops=500,500 [db-oltp3] bssplit=8k/90:32k/10,8k/90:32k/10 size=28G filename=/dev/sdf rw=randrw iodepth=8 rate_iops=500,500 [db-oltp4] bssplit=8k/90:32k/10,8k/90:32k/10 size=28G filename=/dev/sdg rw=randrw iodepth=8 rate_iops=500,500 [db-log1] bs=32k size=2G filename=/dev/sdb rw=randwrite percentage_random=10 iodepth=1 iodepth_batch=1 rate_iops=100 [db-log2] bs=32k size=2G filename=/dev/sdc rw=randwrite percentage_random=10 iodepth=1 iodepth_batch=1 rate_iops=100

Запустим FIO для проверки правильности настроек и первоначального прогрева дисков.

На управляющей виртуальной машине # фио --клиент vdi.cfg Через 2-3 минуты можно нажать Ctrl-C, иначе FIO выполнит полный цикл из конфига — 2 часа.

Теперь подготовим сайт к массовому развертыванию VDI-нагрузок.

Я создал полностью непересекающуюся сеть с IPAM — гипервизор AHV перехватывает DHCP и сам выдаёт адреса.



Тестирование производительности гиперконвергентных систем и SDS своими руками

Поскольку AHV выдает адреса не по порядку, мы сделаем пул именно такого размера, как запланированная нагрузка — 400 ВМ (по 100 на хост).



Тестирование производительности гиперконвергентных систем и SDS своими руками

Мы создаем машины VDI с нагрузкой 400.

Тестирование производительности гиперконвергентных систем и SDS своими руками



Тестирование производительности гиперконвергентных систем и SDS своими руками

В принципе, просто создать сразу 400 машин — это уже интересная проверка любой системы.

Как справился с задачей наш уже немолодой кластер Nutanix?

Тестирование производительности гиперконвергентных систем и SDS своими руками

2 минуты.

Я считаю, что это отличный результат. Теперь включаем машины.

На Nutanix CVM # acli vm.on fio-vdi-* Что ж, настало время включить полный газ! С управлением ФИО # fio --client vdi.list vdi.cfg Примерно так будет себя чувствовать ваша система хранения с количеством виртуальных машин менее 400 при средней нагрузке офисного VDI. Статья также содержит профили для средней базы данных OLTP и DSS. Их, конечно, не 400, но можно запустить 6-8 и попробовать.

Например, для 8 OLTP и 2 DSS нам понадобится 10 машин из тех, у которых есть 6 дополнительных дисков.

С двух терминалов одновременно 1. # fio --client oltp.list fio-oltp.cfg 2. # fio --client dss.list fio-dss.cfg Казалось бы, все идет хорошо.

Каждая система работает хорошо, и нет никаких признаков неисправности.

Давайте создадим себе проблемы!

Тестирование производительности гиперконвергентных систем и SDS своими руками

Теперь посмотрим, как система будет перестраиваться под нагрузкой и как это изменит производительность.

Особое внимание обратите на «умные» системы, которые затягивают перестройку и восстановление отказоустойчивости на час и более.

Нет, но что не так? А что, если в этом нет ничего страшного, просто подумай, что узел развязался.

Но красивые цифры останутся в тестах.

Если вы не читаете мелкий шрифт в глубине документации.

Nutanix начинает процесс восстановления автоматически через 30 секунд после того, как CVM становится недоступным.

Даже если это законная операция, например перезагрузка во время обновления.

Используя это простое руководство, вы можете попытаться понять, подходит ли вам система, предлагаемая поставщиком/интегратором.

Или, конечно, вы можете просто скачать Nutanix XRay, который сделает все это автоматически с красивой графикой для платформ Nutanix AHV и VMware! :) Особая благодарность за вашу помощь r0g3r Теги: #Виртуализация #Системное администрирование #Хранение данных #Облачные вычисления #хранилище #SAN #HCI #fio #Nutanix

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.