пятница, 26 сентября 2008 г.

Скорость доступа ВМ к диску

Коллеги, интересным шаманством хочу поделиться:
Пришло на днях письмо:


Архитектура кластера:
Кластер состоит из 2-х узлов - HP ProLiant 580 G5;
На каждом сервере присутствует по 2-а HBA устройства QLogic Corp. QLA2432 Fibre Channel Adapter ($ lspci);
Внешнее устройство хранения EVA 4100.

Проблема:

Очень маленькая скорость чтения и записи на EVA 4100, запись равна 20-30 Мбайт/c, мультипасинг отрабатывается корректно.
Пробовали под ESX 3.5 и под ESXi 3.5 Update 2, результат одинаковый.

Реальная скорость была опробована под RHEL 4 update 4: запись 170-200 Мбайт/c.

На вопрос о том, как замеряли, получил ответ:
Монтировали в гостевой ОС как RAW-устройство, перебрасывали фалы с локальных дисков сервера на внешнюю СХД, копировали в пространстве СХД.
Также монтировали разделы конкретно под ESX-ом (под гипервизором) и проводили те же процедуры измерения скорости.
Скорость замеряли на больших файлах размером от 1-о до 2-х Гбайт: при помощи time copy и mc.

Такие же процедуры проводили под RHEL 4 update 4 и он показал корректный результат скоростей.


Я припомнил, как один из украинских коллег при общении упоминал, что скорость доступа ВМ к диску увеличивается, если поднять ей значение shares. И посоветовал это попробовать. Получилось!
Показатели почти сравнялись.

RHEL 4 Update 4 со стандартными драйверами и multipathd:
# time dd if=/dev/zero of=/depot/test17GB bs=1048576 count=17000
17000+0 входных записей
17000+0 выходных записей

real 2m35.127s
user 0m0.026s
sys 0m51.428s

ESXi 3.5 Update 2 гостевaя ОС Ubuntu 7.04 server i386 диск подключен как Raw LUN:
# time dd if=/dev/zero of=/mnt/test17GB bs=1048576 count=17000
17000+0 records in
17000+0 records out
17825792000 bytes (18 GB) copied, 158,763 seconds, 112 MB/s

real 2m38.809s
user 0m0.030s
sys 2m24.600s


Признаться, для меня это аццкое шаманство немного не укладывается в теорию этих shares - т.к. этот механизм управляет борьбой ВМ за ресурс. В этом случае борьбы не было - ВМ одна претендовала на доступ к ЛУНу.

Но шаманство работает.

Имейте в виду.


thx Евгений Килимчук


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

  1. А shares на что увеличивались? Или просто на все подряд?

    ОтветитьУдалить
  2. На диск и увеличивали, зачем на что то еще?

    ОтветитьУдалить
  3. Ну, логичней всего увеличивать именно на диск. Но шаманство оно шаманство и есть - иногда срабатывают абсолютно нелогичные вещи :-)
    И к слову, по какому принципу ставились shares?
    Или просто на максимум?

    ОтветитьУдалить
  4. В тестах для проверки ставилось на максимум, но есть рекомендации по разделению скоростей на узлы, видел в какой-то документации от ESX.

    ОтветитьУдалить
  5. Shares увеличивали только на диски.

    ОтветитьУдалить
  6. Хм, аналогичная проблема, но. Скорость копирования низкая не только в пределах одной ВМки, но и при выключенных ВМках в самом ESXi. Перемещаю ВМку с одного диска на другой, скорость выше 20-30 МБайт/сек не поднимается. Как лечить - не представляю.

    Пробовал воспользоваться советом и увеличил shares на конкретную ВМку с 1000 до 8000, скорость в пределах ВМки выросла с 10 МБайт/сек до 20 МБайт/сек.

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