воскресенье, 11 декабря 2011 г.

VMware IO Analyzer

 

Интересная новая штука от VMware – VMware IO Analyzer, доступная на сайте экспериментальных проектов VMware.

 

Суть – Virtual Appliance для нагрузочного тестирования дисковой подсистемы.

 

Допустим, я хочу оценить скорость хранилища, доступного моим серверам ESXi.

С этой штукой можно поступить следующим образом:

 

1) Загрузить, распаковать, File –> Deploy OVF Template. Разместить импортируемую ВМ следует на том хранилище, что хотим тестировать.

 

2) Подключить к этой ВМ еще один диск. Важно – второй диск,размером в 100 МБ, там уже есть. Он – тестовый. Лучше его удалить, и создать свой (рекомендуется типа eager zeroed если нужна именно пиковая производительность).

 

Именно на него будет создавать нагрузку зашитый внутри IOMeter. Этот диск следует разместить на том хранилище, что надо тестировать. Его размер должен быть хотя бы в 4 раза больше, чем объем памяти этой ВМ – дабы избежать кэширования (по умолчанию памяти 1 ГБ, т.е. размер добавляемого диска от 4 ГБ).

(вообще говоря, вроде бы саму ВМ можно на любом хранилище держать, а на тестируемом располагать только этот дополнительный диск – так говорит логика. Но в инструкции указано именно так, как я написал).

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

 

3) ВМ следует включить, и в консоли авторизоваться с пользователем root и паролем vmware. Только авторизоваться (Login), больше ничего – но это сделать надо обязательно. Выполнять этот шаг следует после каждой перезагрузки.

 

4) На вкладке Summary узнать адрес IP, и обратиться на него браузером (поддерживаемые – Firefox и Chrome).

 

5) Уже при помощи браузера нам следует запустить тестирования, предварительно выполнив кое-какие настройки.

 

Необходимо указать имя и пароль root сервера\серверов ESXi (IO Analyzer будет обращаться к ним за данными esxtop)

image

Укажем тип нагрузки (размер блока, процент чтения, случайность). Очень важная настройка.

В поле Select VM я выбрал сам IO analyzer (после выбора хоста обновите страницу в браузере чтобы обновился список ВМ на этом хосте, и подождите. я ждал минут 10 %) ), в поле VM IP – ввел ее IP, затем нажал кнопку Add Worker.

По идее, можно указать несколько разных IO Analyzer с разных хостов, и запустить из работу одновременно.

Затем указываем длительность, жмем Run, ждем зеленой строки оповещения об окончании теста, и идем на вкладку Results.

Результаты одиночного SATA-диска, для иллюстрации того как выглядят результаты:

image

 

Данные даны для примера, каких-либо выводов делать из них неправильно, так как тестовый стенд не делался, все запускал “чтоб попробовать”.

Обратите внимание(!!!):

1) данное средство – экспериментальное. Его результаты могут иметь мало общего с реальностью (в комментах уже всплыло что допустили небольшой косяк с выравниванием).

2) результаты нагрузочного тестирования хранилища из одной ВМ – малопоказательны.

Во первых по той причине что вам надо не чтобы ваш сторадж был самым быстрым на районе, а чтобы он был достаточно быстр для ваших ВМ. Нагрузочное тестирование тут показывает именно максимальную скорость в вакууме.

Во вторых по той причине, что обычная схема работы – когда на одном хранилище много ВМ с разных хостов.  Оправданно именно такую тестовую конфигурацию создавать. Кстати, см. тут – Playing around with VMware IO Analyzer.

8 комментариев:

  1. Инструмент на самом деле полезный, хотя тест и синтетический. Я с неделю делал тоже самое, но бился с самим iometer'om. Цифры в принципе бьются. Вот только в iometer'e пришлось разбираться, а апплайнс уже имеет готовые профили.
    Смысл моего тестирования был понять, есть ли разница между различными способами подключение СХД (NFS, iSCSI в различных вариантах).
    И даже одной ВМ возможно создать максимальный трафик на СХД. Во всяком случае в сравнительно слабенькой СХД FAS2020 я утилизацию процессора в 100% сделал.
    Papic

    ОтветитьУдалить
  2. Подскажите пожалуйста: почему у меня в "iometer results summary" всегда пусто? Данные тестирования есть только в "host result summary" Мне нужно померить iops у локальных винтов esxi

    ОтветитьУдалить
  3. классная штука, согласен.
    Я раньше iometer юзал + самописный скрипт.

    ОтветитьУдалить
  4. 2Papic - скорость дисковой не должна быть обусловлена загрузкой ее процессора на 100% ;-)

    2olegon - спрашивать лучше в комментариях на исходном сайте. штука новая, про нее никто ничего не знает.

    ОтветитьУдалить
  5. 2Михаил - просто мы убедились, что система действительно младшая :) да и сконфигурирована так, что работает всего 3 шпинделя. у NetApp конструкция такая, что от процессора много зависит...

    Papic

    ОтветитьУдалить
  6. > да и сконфигурирована так, что работает всего 3 шпинделя.
    > у NetApp конструкция такая, что от процессора много зависит

    Вы не видите в процитированном ничего, что должно бы насторожить? ;)

    ОтветитьУдалить
  7. 2olegon
    ты каждому воркеру попробуй указать каким диском пользоваться :)
    Papic

    ОтветитьУдалить
  8. 2aboutnetapp
    вижу. точнее лично меня не настораживает, ибо считаю что это совершенно нормально при поставленной перед собой целью.
    про шпиндели - 12 дисков, 2 контроллера. реально запись данных идет на 3 диска, разве не так?
    про процессор - 100% было только при определенных тестах.
    Papic

    ОтветитьУдалить