• Недавно я писал о политиках multipathing касательно LUN  в ESX/ESXi 4 и в заключение обещал описать настройку Round Robin. Держу обещание, статья ниже.

    В данном примере я буду использовать хост на ESX 4, два физических сетевых адаптера выделенных для работы под трафик iSCSI и СХД HP MSA 2324i с двумя контролерами (что то по серьезней пока нет под рукой для свободного разделывания), работающими в режиме Active-Active ULP.  Конфигурация из этого примера подойдет для настройки ESX/ESXi c другими типами СХД. Тут я затрону только настройку самого ESX, по умолчанию мы уже имеем несколько LUN на СХД(в моем примере 2 LUN).

    Описывать настройку портов VMkernel, как и iSCSI инициатора в ESX/ESXi подробно не буду, а сразу перейду к настройки мультипатчинга и Round Robin.

    Сама суть конфигурации для обеспечения multipathing в следующем. Каждый физический интерфейс отдаем только под использование 1-го порта VMkernel, в идеале вообще под монопольное использование. Т.е этот же интерфейс не должен быть задействован на другом порте VMkernel, который также будет использоваться для трафика iSCSI.

    Есть два варианта конфигурации.

    1. С одним vSwitch и несколькими портами VMkernel, а также несколькими привязанными физ. сетевыми к нему.

    2. С несколькими vSwitch, в каждом из которых по 1-му порту VMkernel и к каждому привязана 1 физ. сетевая.

    Оба варианта дают один и тот же результат. Я предпочитаю первый вариант, сделать отдельный vSwitch под нужды iSCSI трафика, он мне удобнее. Его я и опишу ниже.

    Сама железная конфигурация выглядит так.

    Далее конфигурируем хост для работы по iSCSI с мультипатчингом.

    Создаем vSwitch с двумя портами VMkernel и привязываем к этому vSwitch 2-е физические сетевые карты.

    Проделываем следующие: заходим в свойства порта VMkernel в моем примере iSCSI1 (Идем у нужного нам vSwitch в Properties -> выбираем нужный порт -> Edit) и переходим на вкладку NIC Teaming.

    Включаем Failover Order, затем выбираем одну из сетевых карт которая будет не использована в данном подключение и перетаскиваем ее с помощью кнопки Move Down в секцию Unused Adapters. Этим действием мы оставили в использование под VMkernel порт только одну сетевую карту.

    Далее проделываем тоже самое только с другим портом VMkernel. Разница лишь в том что, другому порту оставляем активной уже другую сетевую карту.

    Теперь из консоли нужно выполнить следующую команду esxcli swiscsi nic add -n <port_name> -d <vmhba>, где port_name имя порта VMkernel, а vmhba имя iSCSI адаптера. Этим действием мы привязываем порты VMkernel к iSCSI инициатору хоста.

    В моем примере я последовательно добавляю каждый порт

    esxcli swiscsi nic add -n vmk1 -d vmhba34

    esxcli swiscsi nic add -n vmk2 -d vmhba34

    Далее командой esxcli swiscsi nic list -d <vmhba> можно просмотреть привязанные порты VMkernel к iSCSI адаптеру.

    Теперь осталось сделать Rescan. Идем Configuration — > Storage Adapters. В правом верхнем углу жмем Rescan. По завершению процедуры у нас появятся 4 пути, по 2 на каждый LUN.

    На вкладке Paths это хорошо видно.

    По умолчанию для данного типа хранилищ работающих в режиме Active/Active политика multipathing является Fixed.  О политиках multipathing можно прочесть в другой моей заметки.

    Возвращаемся на вкладку Devices и щелкаем правой кнопкой мыши по первому LUN и выбираем Manage Paths.

    Вот тут как раз и меняем политику multipathing с Fixed на Round Robin.

    Затем тоже самое проделываем со следующим LUN.

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

    Вот и все с настройкой.

    Из скринов видно что с Round Robin одновременно активны сразу два контролера и оба контролера участвуют во операциях I/O, в отличие от политики Fixed где одновременно активны оба контролера, но в операциях I/O участвует только один контролер.

    Posted by Михаил Коротько @ 16:21

    Tags: , , ,

11 комментариев to Настройка multipathing и Round Robin для iSCSI LUN в ESX/ESXi 4

  • […] Конфигурация очень похожа чем то на конфигурацию софтверного iSCSI инициатора в ESX(i) с небольшими нюансами.  Для информации моя статья о конфигурации  софтверного iSCSI инициатора, а также статья о настройки multipathing и RR для софтверного iSCSI иници…. […]

  • Здравствуйте.

    Я хотел с Вами посоветоваться.

    У меня все настроено аналогично, только вместо двух свичей один, разделенный на 2 вилана. Проблема заключается в том, что если я отключаю один кабель, то все перестает работать, но примерно через 20 секунд все восстанавливается без потери данных. Скажите пожалуйста, как можно избежать этого делэя

    Зарание огромное спасибо

    С уважением

    Слава

  • Приветствую!
    Я только вот не понял немного, как так все перестает работать, а через 20 сек все работает и без потери данных. Откуда вы это видите, с каких данных и источников?
    Могу подозревать, дело в сторадже и уж совсем маловероятное это свитч.
    Насчет стороджа есть такая штука, но не всегда(на недорогих стораджей начального и среднего уровня), что при падение одного или нескольких путей от хоста до СХД бывает кратковременная потеря производительности, опять же все это зависит от стораджа, какой у него режим работы контролеров, скорость его работы, как быстро он отрабатывает потерю пути, загруженность и т.п.
    И конечно вариант номер два это свитч. Хотя мало вероятно, но для чистоты эксперимента можете взять другой свитч и попробовать смоделировать туже ситуацию.

  • на последнем скрине видно что 2 активных ио пути 2 пассивных = раунд робин не работает! так как используется 1 путь. причина ? актив/пассив сторадж.

  • Михаил, спасибо за статью (и другие — тоже). Сразу снялось несколько вопросов.
    Но… появились другие 🙂

    1. Почему все-таки лучше multipath, чем LA, в случае подключения СХД по iSCSI к ESX(i)? Только тем, что используется два разных свича и не нужно настраивать на свичах LA?

    2. Настройка со стороны ESX(i) ясна, а со стороны СХД? Два разных, не связанных сетевых интерфейса с разными IP?

    3. В качестве примера упомяналась HP MSA 2324i. А будет ли работать в случае с софт-iSCSI? К примеру, FreeNAS на железке с двумя сетевыми контроллерами?


  • 4. Адреса портам VMkernel1 и VMkernel2 какие задаете? Понятно, что весьма желательно из подсети, в которой адреса СХД. 🙂 Но, есть ли еще какие-то соображения или просто два произвольных адреса?

  • 1. Я и не говорил что LA лучше multipath. Это две разные вещи из разных областей, каждая под свои задачи.
    2. Со стороны СХД ничего сложного, да именно так, на каждый порт свой уникальный IP.
    3. Будет если правильно настроите, хоть с софтом, хоть с железкой.
    4. Задаю какие мне доступны и удобны или выделены, все соображения главное небыло бы конфликтов ip и желательно из той же подсети 🙂

    Судя по вопросам, советую почитать про iSCSI, СХД, MPIO, ну и про LA. Вопросы сразу отпадут.

  • Читал, конечно. Именно поэтому и спрашиваю. 🙂 Т.к. после прочтения считал, что СХД стоит подключать именно с LA ( у меня так и сделано). А тут получается, что очевидные вещи не так уж и очевидны. 🙂
    Иногда авторы статей опускают некоторые, очевидные для них, вещи… А читатели в меру своих знаний, опыта, etc. додумывают понимание. Так что лучше уж задать наивный вопрос, чем считать, что и так правильно понимаешь. IMHO. 😉
    Спасибо за статьи и ответы.

    PS. «Я и не говорил что LA лучше multipath. Это две разные вещи из разных областей, каждая под свои задачи. »
    Ни разу не спорю! 😀
    Только вот под какие именно задачи лучше подключение СХД к ESXi с помощью LA, а под какие с multipath?

  • Сразу скажу СХД надо подключать по нескольким путям и настраивать правильно MPIO.

    А теперь немного прояснений. LA это логическое объединение физических каналов. Это все на уровне сетки и не относится к iSCSI. iSCSI технология передачи SCSI команд через TCP/IP, т.е iSCSI использует сетку просто как транспорт.
    Едем дальше. Прочитайте эту статью http://cloudgeek.me/2011/02/storage-alua-multipath/ и эту http://cloudgeek.me/2010/04/multipathing-esx-esxi-4/
    А теперь мое ИМХО. LA при iSCSI зачем? Не нужен он.
    Первое если SP (будь то железная СХД или какой либо софт) умеют работать в SAA то ему LA не нужен, при политике multipath RR все сбалансируется, оптимизируется, ускорится и еще будет отказоустойчивость.
    Второе если SP работают в режиме AAA (а сейчас все такие), то опять же при RR на активных путях с одного контролера будет вам производительность. Т.е RR по всем активным путям распределит нагрузку.
    Еще дальше.
    1 Гбит iSCSI (а в случае с RR это как минимум 2Гб из расчета что на одной SP 2 порта) загрузить тяжело но можно, там где его постоянно нагружают необходим либо iSCSI 10Гб либо FC 8 или 16Гб.
    Ну и на последок, смысл LA если и так каналы на уровне MPIO используются по максимуму и достигается отказоустойчивость.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *