controller, PCI controller, SIO controller, Keyboard, Pointing device

Эти устройства  присутствуют  всегда, никакой  настройки для них невозмож но. Обратите  внимание:  контроллеров IDE  два, на каждом может висеть  по два устройства.  Таким  образом,  CD-ROM плюс HDD  на  IDE-контроллерах вместе может быть не более четырех на одну ВМ.

5.3.3. Video card

Для видеоконтроллера мы можем настраивать максимальное количество дисплеев, подключаемое  к ВМ, и объем зарезервированной памяти  под видео. Видеоконтроллер для ВМ на ESX(i) – это всегда простой  SVGA-видеоконтроллер. Следствием является то, что требовательные к видеокарте  приложения (напри мер, AutoCad) – не самые лучшие кандидаты  на виртуализацию сегодня.

Возможность  задать несколько  мониторов  (а для этого увеличить размер видеопамяти) может пригодиться в основном в VDI-решениях.

5.3.4. VMCI device, VM Communication Interface

Контроллер VMCI  – это, по сути, специализированный сетевой контроллер, позволяющий чрезвычайно быструю связь между ВМ на одном сервере и между гипервизором и ВМ. Виртуальный сетевой контроллер в силу своей виртуальности способен дать порядка 2 или 5,5 Гбит/сек скорости обмена трафика между ВМ на одном сервере. Интерфейс VMCI  – порядка  до 10 Гбит/сек, а по некоторым данным до 40 Гбит.

Задействование этого интерфейса должно  быть реализовано на уровне ПО. VMware предоставляет соответствующие VMCI Socket API и документацию.

5.3.5. Floppy drive

К ВМ может быть подключено  до двух флоппи-дисководов. Из настроек мы можем указать, на что ссылается этот виртуальный FDD. Варианты следующие:

Q  Client Device – то есть физический FDD на машине, с которой вы подклю-

чились к этой ВМ с помощью клиента vSphere или веб-консоли;

Q  Host Device – физический FDD  на сервере;

Q  Existing floppy image – образ flp, доступный на каком-то из хранилищ или в каталоге /vmimages на файловой системе ESX(i);

Q  New floppy image – на указанном  хранилище  создается пустой образ flp;

Q  также кликнув на иконку в верхней панели клиента vSphere (или открытой в отдельном окне консоли ВМ), вы можете подключить к FDD виртуальной машины образ с локального диска компьютера, откуда запущен клиент vSphere.

Не забывайте ставить флажки  Connected и Connect at power on, когда хотите воспользоваться виртуальной дискетой.  Если  Connected не стоит, то виртуаль ный дисковод не работает. В случае подключения Client device флажок Connected можно ставить только после включения ВМ.

Обратите  внимание, что после живой миграции  виртуальной машины с FDD снимается флажок Connected.

5.3.6. CD/DVD Drive

К ВМ на ESX(i) может быть подключено  до 4 виртуальных CD/DVD-ROM. Ссылаться они могут на:

Q  Client Device – то есть физический CD/DVD-ROM на машине, с которой

вы подключились к этой ВМ с помощью клиента vSphere или веб-консоли;

Q  Host Device – физический CD/DVD-ROM на сервере;

Q  Datastore ISO File – образ iso, доступный на каком-то из хранилищ;

Q  также кликнув на иконку в верхней панели клиента vSphere (или открытой в отдельном  окне консоли  ВМ), вы можете подключить  к DVD виртуаль ной машины образ с локального диска компьютера, откуда запущен клиент vSphere.

Не забывайте  ставить  флажки  Connected и Connect at power on, когда хотите воспользоваться виртуальным DVD-ROM. Если Connected не стоит, он не работает. В случае подключения Client device флажок Connected можно ставить только после включения ВМ.

5.3.7. Network Adapter

Один из самых многовариантных компонентов виртуальной машины – это сетевой контроллер. При использовании последней, 7-ой версии виртуального оборудования их может быть до 10 на одну ВМ. Эти контроллеры могут быть разных типов:

Q  vlance – виртуальный сетевой контроллер этого типа эмулирует контрол лер AMD 79C970 PCnet32 LANCE, старый 10 Мбит/с сетевой контроллер. Его плюсом является наличие  драйверов  для него в разнообразных, в том числе старых, ОС;

Q  VMXNET – виртуальный сетевой  контроллер этого типа является более производительным гигабитным сетевым контроллером. Его использование возможно после установки драйверов для него, в составе VMware tools;

Q  Flexible – при создании  ВМ на ESX(i) 4 вы увидите  скорее этот тип виртуального  сетевого контроллера, нежели vlance или vmxnet. Это обусловлено тем, что контроллер типа Flexible как раз и эмулирует или vlance, или vmxnet, в зависимости от того, какой драйвер активен в гостевой ОС;

Q  E1000 – виртуальный сетевой  контроллер этого типа  эмулирует сетевой контроллер Intel  82545EM  Gigabit  Ethernet. Драйверы  для него доступны под большинство  современных  ОС, и это основное его преимущество. При использовании этого типа виртуального сетевого контроллера для некоторых операционных систем  мы можем  воспользоваться сетевыми  драйверами от Intel  и задействовать их стандартные  возможности по настройке  NIC Teaming и VLAN изнутри гостевой ОС. Некоторые подробности  об их настройке приведены  в разделе, посвященном сетям;

Q  VMXNET 2 (Enhanced) – виртуальный сетевой  контроллер  этого  типа

является эволюцией  контроллера типа VMXNET.  Драйверы  для него есть для многих современных  ОС (в составе VMware  Tools). Он поддерживает VLAN, Jumbo Frames, TCP  Segmentation  offload. Некоторые подробности  об их настройке приведены  в разделе, посвященном сетям;

Q  VMXNET 3 – виртуальный сетевой  контроллер этого типа  является са-

мым новым  на сегодня  поколением паравиртуализованных виртуальных сетевых  контроллеров. Это  означает,  что он  поддерживает все функции,  доступные VMXNET  2, а также некоторые новые. Например, это поддержка multiqueue (также известная  в Windows как Receive Side Scaling),  IPv6  offloads, VLAN off-loading, и MSI/MSI-X interrupt delivery. Говоря проще, VMXNET 3 работает быстрее, с меньшими  накладными расходами и поддерживает  многие  актуальные  на сегодня  сетевые  функции.  Однако  для ВМ с этим типом сетевого контроллера не работает VMware Fault Tolerance.

Драйвер для VMXNET  3 доступен для ОС:

•   32 и 64-битных версий Microsoft  Windows XP и более поздних;

•   32 и 64-битных версий Red Hat Enterprise Linux 5.0 и более поздних;

•   32 и 64-битных версий SUSE Linux Enterprise Server 10 и более поздних;

•   32 и 64-битных версий Asianux 3 и более поздних;

•   32 и 64-битных версий Debian 4/Ubuntu 7.04 и более поздних;

•   32 и 64-битных версий Sun Solaris 10 U4 и более поздних.

Прочие различия виртуальных сетевых контроллеров перечислены в табл. 5.1.

Таблица 5.1. Функции виртуальных сетевых контроллеров разных типов

Flexible

Enchanced vmxnet (vmxnet2)

E1000

VMXNET 3

IPv4 TSO

Нет

Да

Да

Да

IPv6 TSO

Нет

Нет

Нет

Да

Jumbo Frames

Нет

Да

Нет

Да

Large Ring Sizes

Нет

Нет

Да

Да

RSS

Нет

Нет

Нет

Да

MSI-X

Нет

Нет

Нет

Да

Версия виртуального hardware

4 и 7

4 и 7

4 и 7

7

Выбрать  тип контроллера можно при создании  ВМ (в мастере Custom) или при добавлении в нее контроллера. Если необходимо поменять тип существующе го контроллера, то нужно или удалить старый и добавить новый, либо напрямую  править файл настроек (*.vmx).

В файле настроек ВМ могут быть строки следующего вида:

Q  ethernetX.virtualDev = "e1000" для сетевого контроллера типа e1000;

Q  ethernetX.virtualDev = "vmxnet" для сетевого контроллера типа VMXNET 2 (Enhanced);

Q  ethernetX.virtualDev = "vmxnet3" для сетевого контроллера типа VMXNET 3.

В строке ethernetX «X» – это порядковый номер сетевого контроллера в данной ВМ.

Если поменять тип сетевого контроллера для ВМ с уже установленной ОС, то с точки зрения  этой ОС поменяется сетевой контроллер. Это повлечет  за собой сброс настроек IP и, иногда, невозможность выставления настроек, аналогичных  предыдущим,  – так как они числятся за старым, отключенным, но не удаленным  с точки зрения гостевой ОС сетевым контроллером.

Для сохранения  настроек IP в Windows можно сделать так:

netsh  interface ip  dump  > c:\ipconfig.txt

С точки зрения  Windows,  новый контроллер будет виден под новым именем, вида «Local Area Connection 2» или подобным. В таком случае в полученном  текстовом файле  следует поменять  название  подключения на это новое. Или  поменять имя сетевого адаптера на старое.

Для импорта настроек воспользуйтесь командой

netsh  -c  interface –f  c:\ipconfig.txt

Для  удаления  упоминаний о старых  сетевых  контроллерах  воспользуйтесь менеджером  устройств  (Device  Manager), поставив  в меню View флажок  Show hidden devices. Кроме того, выполните  команду

set devmgr_show_nonpresent_devices=1

Подробности см. в статье базы знаний Майкрософт № 269155 (http://support.

microsoft.com/?kbid=269155).

TSO

TCP  Segmentation Offloading  – функция физического сетевого контроллера, то есть для использования TSO вам нужны поддерживающие это сетевушки. Суть функции заключается в том, что работа по формированию IP-пакетов выполняется сетевым  контроллером. То есть операционная система (или  процессор)  посылает на сетевушку большой блок данных. А контроллер сам формирует из него IP-пакеты, пригодные для передачи по сети. Контроллер выполняет эту работу без нагрузки  на процессоры сервера.

Рис. 5.9. Включение TSO в Windows

Для задействования TCP  Segmentation Offloading убедитесь, что физические сетевые  контроллеры его поддерживают,  а для  ВМ выберите  тип виртуального сетевого контроллера с поддержкой  TSO. Затем  в свойствах драйвера  включите  его использование (рис. 5.9).

Jumbo Frames

Jumbo Frames позволяет  увеличить  размер поля для данных в IP-пакете. Получается, мы тем же числом пакетов передаем больше килобит. Получается, мы с тем же количеством накладных расходов передаем больше полезной информации. Если в стандартном IP-пакете поле для данных размеров 1500 байт, то при использовании Jumbo Frame – обычно 9000 байт.

Jumbo Frames должен поддерживаться всей сетью end-to-end, то есть должны быть включены на физических коммутаторах, виртуальных коммутаторах и в ВМ. Jumbo Frames может использоваться с сетевыми контроллерами 1 Гбит и 10 Гбит.

Jumbo  Frames  может  использоваться виртуальными машинами   и  портами VMkernel  для трафика  NFS, iSCSI  и VMotion. Для начала использования Jumbo Frames нам необходимо включить их поддержку на vSwitch/dvSwitch, а затем настроить их использование внутри ВМ или для интерфейса VMkernel.

Для того чтобы включить  Jumbo Frames для ВМ, выберите поддерживающий их тип виртуального сетевого контроллера (см. табл. 5.1). После этого на примере Windows (рис. 5.10):

1.    Зайдите в настройки драйвера сетевого контроллера.

2.    Найдите  настройку Jumbo Frames и укажите значение 9000.

Для теста Jumbo Frames:

1.    Выполните  ping соседней ВМ

ping  -f -l 8972 <IP ВМ>

2.    На выходе должно получиться что-то вроде:

ping  <IP ВМ>  8972(9000)  bytes  of  data.

8980 bytes  from <IP ВМ>:  icmp_seq=1 ttl=128 time=3.36  ms

Large Ring Sizes

Большой буфер  на  сетевом  контроллере, который  позволяет  обрабатывать большие  всплески  трафика  без отбрасывания пакетов.  Rx буфер равен  150 для VMXNET2 и 256 для VMXNET3. Это позволяет  VMXNET3 меньше загружать  процессоры  сервера  в случае  гигабитного  Ethernet и  демонстрировать лучшую производительность для 10-гигабитного Ethernet.

RSS

Технология Receive-Side  Scaling реализует  многопоточность обработки стека TCP/IP. Пакеты даже одного сетевого контроллера могут обрабатываться одновременно на нескольких  процессорах сервера или виртуальной машины. RSS поддерживается  Windows Server 2003 SP2, Windows Server 2008. Включение  этой функции также делается в свойствах драйвера виртуального сетевого контроллера.

Рис. 5.10. Пример настройки Jumbo Frames для Windows

MSI-X

Message Signaled Interrupts – альтернативная форма прерываний: вместо присваивания номера запроса на прерывание устройству разрешается записывать  сообщение по определенному адресу системной памяти, на деле отображенному на аппаратуру локального контроллера прерываний (local APIC) процессора. Попросту говоря, с ее помощью обеспечивается более эффективная работа сети. ОС от Майкрософт поддерживает эту технологию,  начиная  с Windows Vista. Основная выгода будет в случае, когда используется RSS.

Резюме

Подводя   итоги  разговора  о  типах  сетевых  контролеров  ВМ:  используйте VMXNET  3 там, где это поддерживается гостевыми ОС. Используйте VMXNET  2 там, где не поддерживается VMXNET  3. Если VMXNET  3 и VMXNET  2 не поддерживается для гостевой  ОС, используйте E1000. Если  и он не поддерживается, используйте Flexible. Однако иногда с Flexible или E1000 стоит начать, чтобы у ВМ был доступ к сети сразу, а не после установки VMware tools.

Обратите внимание. После смены типа контроллера гостевая ОС будет считать, что ей поменяли контроллер. Зачастую это приводит к необходимости удалить упоминание о старом контроллере через менеджер устройств (Device manager).

В 7-ой версии виртуального оборудования виртуальные сетевые контроллеры числятся USB-устройствами. В частности, это означает, что их можно отключить  от ВМ через стандартный механизм отключения USB-устройств или запустив оснастку VMware tools (рис. 5.11).

Рис. 5.11. Возможность отключения сетевых контролеров

В некоторых ситуациях это недопустимо, например на терминальном сервере. Для  отключения этой возможности добавьте  в файл  настроек  (*.vmx) этой ВМ строку

devices.hotplug = "false" isolation.device.connectable.disable =  "true" isolation.device.edit.disable  =  "true"

Напомню,  что сделать  это возможно,  пройдя  в свойства  выключенной  ВМ: Edit Settings ? закладка  Options ? Advanced ? General ? Configuration Parameters ? кнопка Add Row.

Первая  из этих настроек  запретит  горячее  удаление  или  добавление любых устройств  в эту ВМ, а две другие запретят  отключение  устройств  через VMware  tools.

MAC-адреса виртуальных машин

Они  генерируются  автоматически. Сгенерироваться заново  MAC-адрес для той  же ВМ  может  после  перемещения ее файлов.  При  генерации  MAC-адреса проверяется несовпадение  его с MAC-адресами работающих  ВМ и ВМ в состоянии паузы (suspend). Также делается проверка  на уникальность MAC-адреса при включении  ВМ.

Из этого вытекает следующее: при включении  ВМ она может поменять свой MAC, если он совпадает  с MAC-адресом какой-то  из работающих  ВМ. Последовательность какая: создали ВМ1, ей сгенерировался MAC-адрес.  Выключили ВМ1. Создали ВМ2 – ей сгенерировался такой же MAC-адрес  (вероятность этого крайне мала, но все же). При его генерации  проверки на совпадение с ВМ1 не происходит, так как та выключена.  При включении  ВМ1 поменяет  свой MACадрес.

Как правило,  все хорошо. Однако  механизм  генерации  имеет ограничение  – до 256 уникальных MAC-адресов (то есть виртуальных сетевых контроллеров) на сервер. Если это количество  превышено, может потребоваться ручная настройка  MAC-адреса для ВМ.

Эта  проблема  потенциально  актуальна   при  отсутствии   vCenter.  Если  вы работаете  через  vCenter,   то  за  генерацию  и  проверку  уникальности MAC-ад ресов  отвечает  уже  он.  Формат   MAC-адреса  выглядит   следующим   образом: 00:50:56:vCenterID:xx:xx, где vCenterID можно посмотреть  через клиент  vSphere

в меню  Home ? VirtualCenter Management Server Configuration ?  Runtime

Settings. Таким  образом, vCenter способен сгенерировать до 65 535 уникальных MAC-адресов. При старте ВМ vCenter обязательно убеждается  в отсутствии  совпадения  MAC-адресов у разных ВМ.

За  VMware  закреплены два диапазона  MAC-адресов – один  для  автомати чески  генерируемых и  один  для  вручную  присваиваемых.  Для  вручную  задаваемых  MAC-адресов  VMware   использует   диапазон  00:50:56.  Таким  образом, если вы задаете  MAC-адрес  вручную, допустимым  является оный из диапазона 00:50:56:00:00:00-00:50:56:3F:FF:FF.

Поле для указания MAC-адреса вручную вы увидите в свойствах виртуальной машины,  выделив  ее сетевой контроллер. В этом поле может быть указан  MACадрес только из диапазона MAC-адресов VMware.

Можно задать и совсем произвольный MAC-адрес, уже внутри файла настроек (*.vmx) вручную. А также изнутри  гостевой ОС. Однако  в случае не-VMware  диапазона  проблема  уникальности MAC-адреса в  вашей  сети – ваша головная  боль.

Для задания  произвольного MAC-адреса в файле настроек  сделайте следующее.

Каким-либо способом откройте файл настроек ВМ в текстовом редакторе. Например, подключившись к ESX(i) по SSH и выполнив команду

vi  /vmfs/volumes/<название хранилища>/<каталог с  ВМ>/<файл  настроек  ВМ.vmx>

Обратите внимание. Для ESX рекомендую использовать не vi, а nano – это текстовый редактор с более дружелюбным интерфейсом. Однако на ESXi он недоступен. Разумеется, не возбраняется использовать другие из известных вам способов правки конфигурационных файлов.

Найдите  строки вида

ethernet0.generatedAddress =  "00:50:56:be:2c:21" ethernet0.addressType =  "vpx"

(на примере первого из сетевых контроллеров этой ВМ).

Замените их строками

ethernet0.checkMACAddress = "false" ethernet0.addressType = "static" ethernet0.Address =  "00:0C:29:B0:27:E1"

Разумеется, MAC-адрес  укажите желаемый.

Источник: Михеев М. О.  Администрирование VMware vSphere 4.1. – М.: ДМК Пресс, 2011. – 448 с.: ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий