среда, 7 декабря 2011 г.

Настройка виртуальных сетей в Hyper-V

Если вы уже работали с Microsoft’s Virtual PC или Virtual Server, то вы знаете что эти продукты работают как обычные приложения Windows. Они находятся поверх родительской операционной системы (host operating system) и все запросы от виртуальных машин к оборудованию сервера происходят через родительскую операционную систему, которая уже непосредственно управляет оборудованием сервера. В Hyper-V реализован совершенно другой подход к виртуализации и в частности к сетевым коммуникациям, нежели во всех предыдущих продуктах. Эта статья рассказывает о том, как работает сетевое взаимодействие в Hyper-V.
Действительно, Hyper-V отделяет от остальных продуктов виртуализации Microsoft то, что теперь виртуальные машины получили непосредственный доступ к оборудованию сервера, а не через родительскую систему. Однако возникала проблема перегрузки сетевого адаптера (NIC) одновременными пакетами от разных виртуальных машин. Нужно было решение данного вопроса и Microsoft представила концепцию «виртуальных коммутаторов» (virtual switch).

Для того что бы понять как это возможно, представьте что Hyper-V это не дополнение к  Windows Server 2008, а скорее часть операционной системы. Когда вы устанавливаете роль Hyper-V, гипервизор встает как бы «прослойка» между оборудованием и операционной системой Windows 2008. Система в которой поднимается роль Hyper-V называют родительской (host operating system) и располагается она на родительском разделе (parent partition). Операционные системы виртуальных машин называют гостевыми (guest operating system) и располагаются они на отдельных дочерних разделах (child partition).

Для того чтобы сделать такую архитектуру возможной, Microsoft отвязал стек протоколов TCP/IP от серверного сетевого адаптера (NIC). Сделав это, они создали дополнительный уровень абстракции, названный – «виртуальный коммутатор» (virtual switch). В итоге »виртуальный коммутатор» (virtual switch) единственный сетевой компонент привязанный к физическому сетевому адаптеру сервера (NIC). Родительская и дочерние операционные системы используют виртуальные сетевые адаптеры (vNIC’s)? которые соединяются с «виртуальным коммутатором» (virtual switch) используя протокол - Microsoft’s Virtual Network Switch Protocol.

Возможно это довольно сложно понять, но в помощь привожу наглядную логическую схему взаимодействия. Рис. 1





Hyper-V позволяет создавать дополнительные »виртуальные коммутаторы» (virtual switch) помимо того о котором я только что рассказал. Для этого с права в консоли управления Hyper-V (Hyper-V Manager) зайдите в раздел Управление виртуальными сетями (Virtual Network Manager). Вы увидите окно Управления виртуальными сетями (Virtual Network Manager). Рис. 2.




Если вы посмотрите на Рис. 1, вы увидите что »виртуальный коммутатор» (virtual switch) привязан к моему физическому сетевому адаптеру (NIC). У вас есть возможность создать новую виртуальную сеть, для этого вам и нужно будет создать новый »виртуальный коммутатор» (virtual switch). Как видите, (Рис. 2) существуют три разных типа виртуальных сетей, которыми вы можете пользоваться.

Первый тип – «внешняя» (external) - универсальный тип, который можно использовать для связи между виртуальными машинами на том же физическом сервере, включая родительский раздел, а также внешними серверами и Internet.

Есть важный момент, который вы должны учитывать при создании «внешней виртуальной сети» (external virtual networks), она должна быть привязана к физическому сетевому адаптеру (NIC). Вдобавок, каждый физический сетевой адаптер (NIC) может быть привязан только к одной виртуальной сети. Таким образом, если вы создаете вторую »внешнюю виртуальную сеть» (external virtual networks), то вам нужен и второй физический сетевой адаптер (NIC), который вы привяжете к ней.

Второй тип – «внутренняя» (internal) – используется как механизм связи между виртуальными машинами располагающимися на одном сервере. Так же внутренняя виртуальная сеть (internal virtual network) позволяет соединяться этим виртуальным машинам с родительской операционной системой.

Третий тип – «частная» (private) - используется как механизм связи только между виртуальными машинами располагающимися на одном сервере. Частная виртуальная сеть (private virtual network) не позволяет соединения во вне, а так же соединения к родительской операционной системе.

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

Комментариев нет:

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