Обзор виртуальных сетевых адаптеров виртуальных машин VMware vSphere
Как известно, компания VMware сделала несколько нововведений в продукте VMware vSphere в части сетевого взаимодействия виртуальных машин (vNetwork). В частности, появился виртуальный сетевой адаптер VMXNET 3, который является продолжением серии виртуальных устройств VMXNET, которые используются в качестве vNIC. Эти устройства не имеют физических аналогов (то есть эмулируется собственная карта VMware), а значит их использование доступно только после установки драйверов с VMware Tools.
Вот так выглядит процесс добавления виртуального сетевого адаптера виртуальной машине на VMware vSphere:
Итак, собственно, эволюция устройств VMXNET:
- VMXNET — это virtual network adapter, который оптимизирован для быстродействия сетевого взаимодействия виртуальных машин.
- VMXNET 2 (Enhanced) — Адаптер VMXNET 2 базируется на обычной виртуальной сетевой карте VMXNET, но позволяет получить некоторые возможности по улучшению производительности, такие как Jumbo Frames (для сетей 10 ГБит), TCP Segmentation Offloading (TSO). Этот адаптер доступен только для хостов VMware ESX/ESXi 3.5 или выше.
Устройство VMXNET 2 поддерживается только для следующих гостевых операционных систем:- 32- и 64-битные версии Microsoft Windows 2003 (Enterprise и Datacenter Edition). Можно использовать адаптер VMXNET 2 и на Microsoft Windows 2003, однако нужно прочитать статью в KB1007195.
- 32-битная версия Microsoft Windows XP Professional
- 32- и 64-битные версии Red Hat Enterprise Linux 5.0
- 32- и 64-битные версии SUSE Linux Enterprise Server 10
- 64-битные версии Red Hat Enterprise Linux 4.0
- 64-битные версии Ubuntu Linux
- VMXNET 3 — Адаптер VMXNET 3 – это следующее поколение виртуальных сетевых карт, которое теперь паравиртуализовано. То есть часть того, что раньше полностью эмулиировалось, теперь передается напрямую в физическое устройство. Этот адаптер не является надстройкой над VMXNET или VMXNET 2, но включает в себя все доступные для них возможности.
VMXNET 3 поддерживается только для виртуальных машин в виртуальным аппаратным обеспечением уровня 7 или более поздним, при этом только для следующих гостевых систем:- 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 and later и более поздние
- 32- и 64-битные версии Sun Solaris 10 U4 and later и более поздние
Теперь приведем сетевые адаптеры виртуальных машин, которые используются на VMware ESX 4 в зависимости от различных условий:
- Vlance — Это виртуальный эмулируемый аналог сетевой карты AMD 79C970 PCnet32 LANCE NIC – старенького 10 Mbps NIC. Драйверы этого адаптера есть практически для всех старых ОС. Начиная с Windows Vista его уже нет. Используется для ВМ без VMware Tools.
- Flexible — Этот адаптер ведет себя как алаптер Vlance при загрузке виртуальной машины, но потом загружаются драйверы Vlance или VMXNET в зависимости от того установлены VMware Tools (VMXNET) или нет (Vlance).
- E1000 — Это виртуальный эмулируемый аналог сетевой карты Intel 82545EM Gigabit Ethernet NIC, драйверы которого доступны в большинстве ОС, включая Windows XP и более поздние, а также Linux 2.4.19 и более поздние.
Для того, чтобы использовать тот или иной тип виртуального сетевого адаптера для виртуальной машины, необходимо выставить его при добавлении к виртуальной машине при создании или редактировании свойств (см. рисунок). Также vNIC можно добавить с помощью добавления строчек в конфигурационный vmx-файл виртуальной машины:
- Для адаптера типа Flexible ничего добавлять не требуется.
- Ethernet[X].virtualDev = “e1000” – для добавления сетевого адаптера E1000.
- Ethernet[X].virtualDev = “vmxnet” – для добавления адаптера VMXNET 2 (Enhanced).
- Ethernet[X].virtualDev = “vmxnet3” – для добавления адаптера VMXNET3.
Вместо [X] необходимо подставить номер виртуального сетевого адаптера, начиная с 0.