none
Live migration without shared storage.Низкая скорость перемещения RRS feed

  • Вопрос

  • Добрый день! Хочу поделиться результатами тестов, которые я тут на досуге провел. А вас попрошу поделиться размышлениями на тему -почему так?

    Есть два идентичных сервера с ролью "хост виртуализации". На каждом сервере по дисковому DAS массиву (контроллер Adaptec 6805 с подключенными к нему 12-ю SAS дисками в RAID10), а также по двухпортовой 10 GbE сетевой карте Intel X540-T2. Между собой серверы соединены на скорости 10 GbE (задействовано по одному 10 GbE порту на сетевой карте и соединяющий серверы 10 GbE коммутатор Dell PowerConnect 8024).

    Вот какие тесты я выполнил:

    1. Взял 40 Gb VHD файл (от тестовой виртуальной машины) и скопировал его по сети с первого сервера на второй. Скорость копирования ~600 мегабайт в секунду. Насколько я понимаю, в этом тесте узким местом является скорость записи 12-и SAS дисков собранных в RAID 10.

    2. Выполнил перемещение (Live migration without shared storage) выключенной тестовой виртуальной машины (из п.1) с первого сервера на второй. Скорость передачи данных по сети падает. Перемещение происходит со скоростью ~500 мегабайт в секунду.

    3. Выполнил перемещение (Live migration without shared storage) включенной тестовой виртуальной машины (из п.1) с первого сервера на второй. Скорость передачи данных по сети резко падает. Перемещение происходит со скоростью ~300 мегабайт в секунду.

    Кто-нибудь может объяснить с чем связано такое резкое падение скорости передачи данных по сети? Какие-то особенности работы Hyper-V 3.0? Такая деградация производительности делает бессмысленным использование 10 GbE оборудования, раз уж такая скорость не достижима.

    Добавлено:

    Агрегирование (teaming) двух 10 GbE портов на уровне драйверов  Intel X540-T2 до 20 GbE картину не меняет. Скорость 300 мегабайт в секунду сохранятся.


    • Изменено Vashchukov 10 апреля 2013 г. 14:58
    10 апреля 2013 г. 14:52

Ответы

  • >Тоже самое с live migration, начинаю миграцию, засекаю время копирования, вычисляю скорость перемещения.

    Теперь понятно. А в вычислении скорости перемещения участвовал размер памяти машины? Она тоже передается, а при миграции без выключения реально данных передается больше чем размер памяти, потому что сначала передается содержимое памяти, а потом "сводятся" изменения произошедшие за время пока она передавалась (и так несколько раз)...


    http://OpsMgr.ru/

    Нет, в вычислении скорости перемещения, размер памяти не участвовал. С моей т.з. он достаточно мал (2 Gb) и даже если он перемещается между хостами виртуализации несколько раз, это не повод ухудшения производительности в два раза (по сравнению с эталонными 600 мегабайтами в секунду). Видимо это те самые "накладные расходы"  и усилия по сохранению консистентности. В общем получить 300 Мбайт в секунду «из коробки», только поставив Hyper-V и дрова на сетевушку очень неплохо, но как вижу сейчас, надежды на ~10 GbE были слишком оптимистичны.
    • Помечено в качестве ответа Vashchukov 11 апреля 2013 г. 13:49
    11 апреля 2013 г. 13:49

Все ответы

  • 1. Как именно получены данные цифры? Как измерялось и чем?

    2. Опишите основные параметры тестовой машины.

    3. Покажите Get-NetAdapterAdvancedProperty с обоих хостов.


    http://OpsMgr.ru/

    11 апреля 2013 г. 3:52
    Отвечающий
  • 1. На серьезность исследования не претендую, никакого специализированного ПО не применялось. Использовались встроенные в Windows Server средства, такие как Resource monitor и Perfomance monito, калькулятор и часы. Исследования самые примитивные - копируем файл с одного сервера на другой, засекаю время копирования, вычисляю скорость копирования. Тоже самое с live migration, начинаю миграцию, засекаю время копирования, вычисляю скорость перемещения.

    2. Тестовой виртуальной машины? Fixed size VHD размером 40 Gb, Windows Server 2008 R2, 2000 Mb RAM, 4 VCPU, Virtual Switch - сетевая карта 10 GbE хоста виртуализации, то есть Intel X540-T2. 

    3.

    С первого

     

    Со второго

    11 апреля 2013 г. 7:22
  • >Тоже самое с live migration, начинаю миграцию, засекаю время копирования, вычисляю скорость перемещения.

    Теперь понятно. А в вычислении скорости перемещения участвовал размер памяти машины? Она тоже передается, а при миграции без выключения реально данных передается больше чем размер памяти, потому что сначала передается содержимое памяти, а потом "сводятся" изменения произошедшие за время пока она передавалась (и так несколько раз)...


    http://OpsMgr.ru/

    • Предложено в качестве ответа AndricoRusEditor 11 апреля 2013 г. 9:25
    • Отменено предложение в качестве ответа Vashchukov 11 апреля 2013 г. 13:29
    11 апреля 2013 г. 8:55
    Отвечающий
  • >Тоже самое с live migration, начинаю миграцию, засекаю время копирования, вычисляю скорость перемещения.

    Теперь понятно. А в вычислении скорости перемещения участвовал размер памяти машины? Она тоже передается, а при миграции без выключения реально данных передается больше чем размер памяти, потому что сначала передается содержимое памяти, а потом "сводятся" изменения произошедшие за время пока она передавалась (и так несколько раз)...


    http://OpsMgr.ru/

    Нет, в вычислении скорости перемещения, размер памяти не участвовал. С моей т.з. он достаточно мал (2 Gb) и даже если он перемещается между хостами виртуализации несколько раз, это не повод ухудшения производительности в два раза (по сравнению с эталонными 600 мегабайтами в секунду). Видимо это те самые "накладные расходы"  и усилия по сохранению консистентности. В общем получить 300 Мбайт в секунду «из коробки», только поставив Hyper-V и дрова на сетевушку очень неплохо, но как вижу сейчас, надежды на ~10 GbE были слишком оптимистичны.
    • Помечено в качестве ответа Vashchukov 11 апреля 2013 г. 13:49
    11 апреля 2013 г. 13:49
  • С 10GbE вам сам Aidann Finn велел реализовать сценарий Converged Fabric и гибко делить полосу по назначению.
    11 апреля 2013 г. 13:53
    Отвечающий