• Расскажу немного о VMkernel и  его конфигурации  для сетевых сервисов. Мысль создание этого дока пришла ко мне после разговора с одним моим знакомым, которому пришлось объяснять, что такое VMkernel, что с ним делать и с чем его едят. 🙂

    Немного о VMkernel.
    VMkernel – это ядро VMware ESX/ESXi Server. Оно занимает слой виртуализации и управляет большинством физических ресурсов: процессорами, памятью, системами хранения данных, сетевыми контролерами и п.р. Кто то может заметить, что в VMware ESX Server есть Red Hat Enterprise Linux, так и есть, но роль линукса сводится только к тому, чтобы загружить машину и само ядро VMkernel, вот оно то и управляет всем. Сам линукс в ESX Server служит только для предоставления командной консоли, а также для установки агентов мониторинга железа и бекапа. Кстати в VMware ESXi Server тоже есть линукс, но он просто очень и очень сильно обрезан.

    Сетевые сервисы использующие стек TCP/IP такие как VMotion, iSCSI, NFS также работают через VMkernel, поэтому для включения их необходимо правильно сконфигурировать VMkernel. Стек TCP/IP в VMkernel полностью отделен от стека TCP/IP используемого в Service Console . Стек TCP\IP VMkernel создается как порт группа VMkernel и подключается к одному или нескольких vSwitch, которые в свою очередь подключены к различным сетям.

    Конфигурирование сетевых сервисов VMkernel.
    Как я уже выше писал, для работы VMotion, инициатора iSCSI и NFS необходимо сконфигурировать стек TCP\IP VMkernel. Конфигурация довольна, проста и заключается в добавление порт группы VMkernel к vSwitch на через который должен течь трафик сетевых сервисов iSCSI, NFS, VMotion. Все хватит теории, я больше люблю практику. 🙂

    Go — go — go!

    Открываем клиент vSphere и идем в раздел Configuration->Networking. В данном примере у меня на хосте 2-ве физические сетевые карты. Первая карта подключена vSwitch0, к которому подключены ВМ. Вторая карта подключена на vSwitch1, вот как раз на нем я и собираюсь создать порт VMkernel и гонять трафик.

    network-1
    Жмем Properties на нужном нам vSwitch и в  появившемся окне жмем Add.
    network-2
    Потом выбираем VMkernel.
    network-3
    И просто забиваем нужные параметры.  Думаю тут все понятно, имя порта и vlan id если необходим.
    network-4
    Далее сконфигурируем IP адрес, маску, и шлюз для VMkernel порта.
    network-5
    Жмем Next. Смотрим суммарную инфу и жмем Finish. После завершения мастера создастся порт VMkernel со своим сетевым интерфейсом.
    network-6
    Остается только проверить доступен ли только что созданный сетевой интерфейс VMkernel. Просто пингуем с машины которая находится в одной сети с портом VMkernel его интерфейс или же можно с консоли ESX пингануть какую либо машину в сети. Для пинга через интерфейс VMkernel используется команда vmkping.

    Вот и вся конфигурация. Далее теперь можно сконфигурировать VMotion, iSCSI и NFS. Но это уже выходит за рамки этой публикации.

    О конфигурации VMotion можно прочесть тут.

    О конфигурации iSCSI тут.

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

    Tags: , , , ,

16 комментариев to Немного о VMkernel и его конфигурации для сетевых сервисов.

  • @Александр Самойленко
    Согласен, что не совсем корректно, хотя тут можно и подискутировать. С одной стороны т.к VMkernel ядро ESX/ESXi Server, который как раз и является гипервизором, можно поэтому сказать что все таки оно по сути и есть гипервизор, являясь основной частью (хотя я склонен считать все таки что это не совсем корректно), с другой стороны ядро не есть еще вся система, а только часть отвечающая за абстракцию железа и софта.

    Подправил текст, чтобы не вводить людей в заблуждение.

    У VMware в доках есть вот такое определение: VMkernel in ESX server, a high-
    performance operating system that occupies the virtualization layer and manages most of the physical resources on the hardware, including memory, physical processors, storage, and networking controllers.
    Фраза high-performance operating system честно сбивает с толку, причем тут ОС и ядро, которое разделяет уровни??? Или что то я опять не понимаю 😉

  • Ничего сложного, в гайде у Вари все это написано.
    Запускаете клиента, заходите на нужный хост, раздел Configuration -> Storage
    Жмете в правом верхнем углу Add Storage. Далее выйдет мастер добавления датасторы.
    Выбираете Network File System и забиваете там сервак NFS, нужный каталог и имя вашей новой датасторы.
    Все.

  • я начинающий строго не судите….
    при переносе ВМ на новый host надо ли VMkernel настраивать на каждую NIC если ВМ на hoste используют разные vswitch(1,2,3)
    и разные подсети. (хосты одинаковые, хочу HA поднять).

  • Не устану повторять, особенно для новичков — читайте документацию VMware. Там все есть и все прекрасно описано, особенно для новичков.
    По поводу миграции читайте у меня статью http://cloudgeek.me/2010/03/vmotion-guide/ o VMotion.
    По поводу HA там нужен VMkernel порт с менеджмент опцией(для ESXi) или же порт Service Console(для ESX), и без разнице на каком он vSwitch, главное чтобы хосты видели друг друга по менеджмент порту.

  • ESXi — это продукт. Его корневой частью является гипервизор, который сам себе ОС, и другим тоже. Он, собственно и грузится первым, после загрузчика, а потом загружает user-mode части ESXi, ну и драйвера разные. Virtual Machine Monitor — один из компонентов гипервизора. В ESXi 5U1 гипервизор называется «vmvisor64-vmkernel» и весит около 10 MiB. Сравните с ~700 KiB гипервизора Hyper-V (C:\Windows\System32\hvix64.exe или C:\Windows\System32\hvax64.exe). И потом не надо распространять мифы про «тонкий» ESXi и «толстый» Hyper-V. У Microsoft тяжёлый user-mode environment, а гипервизор — тоньше некуда.

  • И ещё. В ESXi нет и никогда не было никакого Linux. Почему-то этот феерический бред прочно засел у многих в голове. Если бы в ESXi была хоть строчка кода Linux — пришлось бы открыть исходники всего ESXi. VMware всего лишь сделала POSIX-прослойку для user-mode приложений Linux. Такое есть стандартно в FreeBSD и для Windows есть реализация. Ну, ещё сделали подсистему kernel-mode драйверов частично совместимой с Linux. Вот так.

  • Михаил, сделал проброс физической сетевой карточки до виртуальной машины, по физической карточке бежит зеркальный трафик снятый с физического коммутатора. Трафик заходит(проверено), но вот уже в виртуальную машину через прослойку VMkernel, vswitch и т.д. не проходит, есть подозрение что где-то drop’ается, как узнать где и как это исправить?

  • Я немного не понял под тем что вы имеете в виду. Ведь проброс железки в ВМ и настройка виртуальной сети и vmkernel не одно и тоже. Да и потом чтобы адекватно оценить что и как у вас настроено нужно подробное описание, а лучше скриншот настроек виртуальной сети. Пишите мне на почту, помогу.

  • Очень интересно и позновательно пишет Михаил, спасибо ему за это…Статья хорошая и она помогла решим многие проблемы..

  • Михаил здравствуйте! Не подскажите как решить проблемку? поставил vmkernel из сети можно пингануть настроенный физический адаптер, но через vsphere нельзя зайти используя ip настроенного адаптера. Почему?)

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

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