среда, 28 января 2009 г.

Про vSwitch'и. Разъяснение.

Как в конечном итоге удалось выяснить, ESX отрабатывает ситуацию нормально. А вот vCenter получает незачет.

Что же все-таки происходит, когда vSwitch уже забит по всем портам? ESX честно пишет в лог диагностическое сообщение и отключает у всех новых машин сетевые интерфейсы.
Jan 27 15:47:36 esx2.*** vmkernel: 45:06:41:21.758 cpu1:1462)Net: 1027: can't connect device: Virtual Machine Network 2: Out of resources
Jan 27 15:47:36 esx2.*** vmkernel: 45:06:41:21.782 cpu2:1462)Net: 1027: can't connect device: Virtual Machine Network 2: Out of resources
Jan 27 15:47:37 esx2.*** vmkernel: 45:06:41:22.628 cpu2:1462)Net: 1027: can't connect device: Virtual Machine Network 2: Out of resources
Jan 27 15:47:37 esx2.*** vmkernel: 45:06:41:22.638 cpu2:1462)Net: 1027: can't connect device: Virtual Machine Network 2: Out of resources


vCenter молчит. Точнее не совсем молчит, там появляется запись уровня info в Events. Но и всего только. А вы можете сколько угодно проверять физические линки и таблицы роутинга.

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

  1. Выводы?
    Правильно настроенный Syslog сервер и регулярное его обследованние на предмет вот таких неприятностей. У кого другие соображения?

    ОтветитьУдалить
  2. Правильно настроенный syslog сервер должен быть, без всяких вопросов.

    Но все же копаться в мегабайтах логов не самое простое и очевидное занятие. Когда ESX'ов один-два и машин десяток - да, можно и там.

    А если пара десятков одних ESX'ов, например? И машин несколько сотен. И в логах какого именно ESX'а автоматического DRS кластера копаться нужно?

    Претензия в том, что вырубается сеть на машинах тихо, без предупреждений БОЛЬШИМИ КРАСНЫМИ БУКВАМИ. А причин почему нет сети может быть любое количество.

    ОтветитьУдалить
  3. Всё правильно и БОЛЬШИЕ КРАСНЫЕ БУКВЫ - ЭТО MUST, но...
    1. Насчёт Syslog'а: он не только должен быть неким сборищем информации, но и передавать, в случае необходимости, эту информацию дальше. Если, как Антон говорит, ESX'ов пара десятков, то организация должна быть достаточно серьёзной и иметь централизованную систему мониторинга. Мы, например, используем CA Unicenter. Вот там-то и должны, в конечном итоге, появлятся БОЛЬШИЕ КРАСНЫЕ БУКВЫ и загораться разноцветные лампочки. Понятно, что всего предусмотреть невозможно и всегда будет что-то новое.
    2. Если ESX админ, по каким-то причинам решил определить восьми портовый vSwitch, то для этого должна быть какая-то веская причина [скорее всего что-то связанное с security]. Соответственно должна быть определённая задокументированная процедура по добавлению серверов в этот свитч. Конечно, все мы не без греха, и человеческий фактор никто не отменял, но мне кажется, что появление проблем в данной ситуации можно избежать.

    ОтветитьУдалить
  4. 1) Чтобы настроить реакцию syslog на данное сообщение, нужно для начала знать что это за сообщение, в каких случаях появляется и что оно вообще существует.
    2) Стандартный vSwitch из VI клиента содается с 56 (64) портами. Реальная возможность в определенных условиях получить переполнение vSwitch'а и недоступность сервисов. Разумеется, не такая, как с 8 (16), но тем не менее.
    С задокументированностью можно сразу распрощаться. Машины на vSwitch добавляются не напрямую, а автоматом, согласно порт-групп. И более того, они еще и бегают по разным ESX.

    ОтветитьУдалить
  5. Поведение правильное. Это я как тестер бывший говорю)

    ОтветитьУдалить
  6. По первому пункту согласен на 100%. Я поэтому и написал в своём предыдущем комментарии, что всего предусмотреть невозможно и всегда будет что-то новое. А вот пункт второй вызывает серьёзные возражения в двух местах:
    1. Про документацию. Не вижу ни какой проблемы в ведении оной. Как правило vSwitch добавляется во всех ESX'ах, входящих в один HA Cluster. Не могу представить себе ситуацию, кроме как совершенно фантастических, когда на таком [8-и портовом] свитче будет определено более одной порт-группы. Соответственно, в доках пишется, что-то подобное: "Внимание! Суммарное количество сетевых интерфейсов подключённых к порт-группе Х не должно превышать восьми!" И совершенно не важно количество ESX'ов, будь их там хоть 32.
    2. Про переполнение стандартного vSwitch'а. Возможность конечно существует, но называть реальной её, я бы не стал. На среднем ESX'е бежит от 10 до 20 VM'ок. В стандартном сервере очень редко используются более 2-х сетевых карточек [у нас в ЦОДе порядка 1000 серверов, из них больше двух сетевух имеют только те, что стоят в MS кластерах да firewall'ы]. Простая арифметика говорит нам, что до 56-и у нас есть ещё солидный запас. Конечно, бывают фирмы, занимающиеся узкоспециализированными сетевыми задачами, где в серваках напихано куча всего, или организации, где штампуют VM'ы, как булочки, а они в конечном итоге простаивают без работы и, как следствие, на ESX'ах там бежит по 25-30-40 виртуалок. Но сколько таких фирм/организаций?

    А вообще, будем ждать выхода vSphere: там и vNetwork Distributed Switch появится, что облегчит мониторинг, и ConfigControl встроенный. И, будем надеяться, что и БОЛЬШИЕ КРАСНЫЕ БУКВЫ нас оповещать будут :-)

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