Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6470 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / Articles / Многоуровневый виртуальный полигон на персональном компьютере

Многоуровневый виртуальный полигон на персональном компьютере

Многоуровневый виртуальный полигон на персональном компьютере

Автор: Павел Рахман
Дата: 04/02/2010

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Статья опубликована впервые на сайте BugTraq.ru по адресу: http://bugtraq.ru/library/internals/mlvmhome.html

В настоящее время технологии виртуализации являются неотъемлемой составляющей IT-мира. Помимо промышленного применения технологии виртуальных машин, позволяющей сократить совокупную стоимость владения IT-инфраструктурой, о чем уже несколько лет пишут все кому не лень, технология также широко используется для изучения или тестирования системного, сетевого и прикладного программного обеспечения.

В большинстве публикаций чаще всего рассматривается виртуализация первого уровня. На одном или нескольких физических компьютерах, связанных реальными сетями, на базе некоторого ПО виртуализации функционирует множество виртуальных машин (VM), связанных виртуальными сетями (также эмулируемых при помощи ПО виртуализации), которые при необходимости связываются с реальными сетями через сетевые адаптеры физических компьютеров. Иными словами чаще всего рассматривается уровень реальных устройств и один уровень виртуальных объектов (обычно машин, на базе которых функционируют те или иные ОС). Правда, если быть более точным, в примерах, рассматриваемых в публикациях, неявно присутствуют объекты второго или более глубоких уровней виртуализации, но авторы практически никогда не акцентируют на этом свое внимание.

В данной же статье автор хотел бы поделиться опытом многоуровневой виртуализации, причем в домашних или полевых условиях, когда чаще всего под рукой нет ничего, кроме обычного компьютера или ноутбука, и требуется смоделировать некоторую сетевую инфраструктуру (в пределах требуемой степени соответствия модели реальному объекту) с целью ее изучения или тестирования. Причем инфраструктура включает как серверы и рабочие станции, так и маршрутизаторы и коммутаторы, работающие под управлением полнофункциональных операционных систем и поддерживающие современные сетевые технологии. В статье затрагиваются различные системные и сетевые технологии и программные продукты, и автор статьи исходит из того, что читатель знаком с ними и имеет опыт работы с ними (по всем вопросам относительно них читатель отсылается к соответствующей документации производителей), автор подробно останавливается лишь на существенных моментах, требующих разъяснений.

Рассмотрим следующую сеть, которая придумана исключительно ради примера, и сама по себе особой практической ценности в себе не несет (каждый может выбрать для себя любой другой пример, в том числе из реальной практики). Имеются две компании, у каждой есть головной офис с сервером в одной географической точке, и филиал с рабочей станцией в другой географической точке. Географические точки разделяет некоторый MPLS-backbone на базе маршрутизаторов Cisco. Для каждой компании в отдельности организован Layer 2 VPN между головным офисом и филиалом посредством технологии Ethernet over MPLS (EoMPLS) для возможности «прозрачного» взаимодействия на канальном уровне (Ethernet) между рабочей станцией и сервером через MPLS-backbone.
Ниже показана физическая структура рассматриваемой сети.

Также ниже показана логическая структура взаимодействия рабочих станций и серверов рассматриваемой сети. В каждой из компаний рабочая станция и сервер могут «прозрачно» взаимодействовать друг с другом, и изолированы от рабочей станции и сервера другой компании.

Задача заключается в том, что требуется эту сеть смоделировать и протестировать, в частности взаимодействие рабочих станций c серверами через EoMPLS среду, и все это необходимо выполнить, располагая одним единственным персональным компьютером. Достаточно знакомая ситуация для большинства специалистов по системным и сетевым технологиям, перед которыми возникает аналогичная задача и у которых, как правило, нет под рукой ни лишних компьютеров, ни, тем более уж, маршрутизаторов Cisco.

Что же, реальные компьютеры легко заменяются виртуальными машинами, создаваемых и запускаемых при помощи того или иного программного обеспечения, реализующих технологию виртуальных машин, например, того же VMware Workstation 6.0 (в этой статье автор рассматривает многоуровневую виртуализацию на примере именно данного программного обеспечения). Для моделирования маршрутизаторов Cisco c поддержкой EoMPLS хорошо подходит популярный симулятор Dynamips (а также удобная и наглядная графическая среда к нему – GNS3). Однако, возникает проблема: можно отдельно смоделировать виртуальные машины с установленными на них «реальными» полнофункциональными ОС MS Windows, и отдельно – маршрутизаторы Cisco c «реальными» полнофункциональными ОС Cisco IOS, но как увязать между собой две среды моделирования по сети?

Тем не менее, выход из ситуации есть. В VMware Workstation можно привязывать виртуальные коммутаторы VMnet к сетевым адаптерам физического компьютера (утилитой Virtual Network Editor), а виртуальные сетевые адаптеры виртуальных машин, соответственно, привязывать к соответствующим виртуальным коммутаторам VMnet (при конфигурировании виртуальной машины). Ниже показан пример такой привязки посредством виртуального коммутатора VMnet0:

В свою очередь, в среде GNS3 на базе Dynamips имеется объект типа «Cloud», который можно также проецировать на сетевые адаптеры физического компьютера. После этого объект можно подсоединять к сетевым интерфейсам других объектов среды GNS3, в том числе к интерфейсам маршрутизаторов Cisco. Следует особо отметить, что объект типа «Cloud» по сути своей не является каким-либо полноценным виртуальным устройством – это все лишь виртуальная «точка стыка» (как разъем на коммутационной панели), которую с сетевой точки зрения можно на что-нибудь спроецировать, например, на сетевой адаптер компьютера. Забегая вперед, также отметим, что объекты «Computer» и «Server», используемые в среде GNS3 также являются объектами типа «Cloud» (простыми «точками стыка» с соответствующими иконками для наглядности), а вовсе не какими-то эмуляциями компьютера или сервера программными средствами, как это, например, делается в учебном симуляторе Cisco Packet Tracer.

Ниже показан пример проецирования объекта типа «Cloud» C0, соединенного с сетевым интерфейсом маршрутизатора R0 в среде GNS3, на сетевой адаптер физического компьютера:

Неопытных специалистов может смутить длинный код (идентификатор сетевого транспорта, назначаемый ОС MS Windows для сетевого адаптера) в настройках, и чтобы не запутаться в названиях сетевого подключения, названиях сетевого адаптера, MAC-адресе адаптера и его идентификаторе, можно воспользоваться встроенной в ОС MS Windows утилитой GETMAC, запускаемой с ключом V (Verbose – подробная информация):

Таким образом, через подобное «двустороннее проецирование» на канальном уровне OSI (по сути Layer 2 Bridging) на один и тот же сетевой адаптер физического компьютера виртуальные маршрутизаторы в среде GNS3 на базе Dynamips могут на Ethernet-уровне взаимодействовать с виртуальными машинами в среде VMware Workstation (это многократно проверено экспериментально). Напрямую увязать по сети коммутаторы VMnet из VMware-среды с объектами типа «Cloud» (точками стыка) из GNS3 на базе Dynamips, увы, нет возможности (по крайней мере, без применения каких-либо специальных программных средств).

Теперь возникает новая загвоздка: количество сетевых «точек соприкосновения» между VMware-средой и Dynamips-средой может быть далеко не одно, а несколько (в рассматриваемом примере их 4 – две рабочие станции и два сервера), в то время как на физическом компьютере может быть один-два или вообще ни одного сетевого адаптера. К тому же, привязанность к сетевым адаптерам физического компьютера в любом случае мысль не самая разумная с точки зрения безопасности. Наконец, мы и не особо стремимся все разместить на первом уровне виртуализации, цель данной статьи – многоуровневая виртуализация.

В этой ситуации мы прибегнем к следующей нехитрой уловке: никто нам не мешает создать еще одну вспомогательную виртуальную машину с необходимым количеством сетевых адаптеров (столько, сколько нужно точек «соприкосновения»), установить на нее ОС, и самое главное – программное обеспечение GNS3 на базе Dynamips. Потом уже в GNS3 создать, настроить и запустить требуемую для моделирования сеть на базе маршрутизаторов Cisco. Таким образом, маршрутизаторы Cisco «переезжают» на второй уровень виртуализации (на первом находится сама вспомогательная виртуальная машина). Сетевые «точки соприкосновения» будут осуществляться через соответствующие объекты типа «Cloud» (точки стыка) в GNS3 на базе Dynamips, привязанные к соответствующим сетевым адаптерам виртуальной машины CISCONET, которые, в свою очередь, привязаны к соответствующим виртуальным коммутаторам VMnet, к которым мы можем подсоединять другие виртуальные машины. В нашем примере мы будем использовать вспомогательную виртуальную машину CISCONET с 4-мя сетевыми адаптерами (VMware Workstation 6.0 поддерживает до 10 сетевых адаптеров для виртуальной машины), привязанных к соответствующим виртуальным коммутаторам VMnet.

Таким образом, мы и приходим к двум уровням виртуализации: VMware-инфраструктура внутри физического компьютера (1-й уровень виртуализации), и Dynamips-инфраструктура внутри вспомогательной виртуальной машины (2-й уровень виртуализации).

Наконец, если вспомнить, что EoMPLS – это тоже своего рода виртуализация средствами Cisco IOS, то увидим, что в рассматриваемом примере имеется еще и 3-й уровень виртуализации. На 3-м уровне виртуализации находятся виртуальное «облако» MPLS и виртуальные цепочки передачи данных (virtual circuits) поверх этого облака, которые эмулируются средствами Cisco IOS на двух маршрутизаторах Cisco.

В итоге мы получаем следующую многоуровневую схему виртуализации:

Как видно из схемы выше, компьютер экспериментатора находится на уровне реальных объектов и с сетевой точки зрения полностью изолирован от виртуальных машин и виртуальных маршрутизаторов, что вполне разумно и правильно. Первый уровень виртуализации обеспечивается программным обеспечением VMware Workstation, на этом уровне находятся виртуальные рабочие станции (WINPC1, WINPC2), виртуальные серверы (WINSRV1, WINSRV2), и вспомогательная виртуальная машина CISCONET, а также виртуальные коммутаторы VMnet3-VMnet6. Второй уровень виртуализации обеспечивается программным средством GNS3 на базе Dynamips, работающим на виртуальной машине CISCONET, на этом уровне находятся виртуальные маршрутизаторы Cisco (R1, R2), а также виртуальные коммутаторы SW1-SW4, подсоединенные к соответствующим сетевым интерфейсам маршрутизаторов (R1, R2). Сетевое взаимодействие между первым и вторым уровнем виртуализации осуществляется за счет «двустороннего проецирования» на канальном уровне OSI: виртуальные коммутаторы VMnet3-VMnet6 привязаны к соответствующим сетевым адаптерам LAN1-LAN4 вспомогательной виртуальной машины CISCONET, а соответствующие порты виртуальных коммутаторов SW1-SW4 посредством соответствующих объектов типа «Cloud» (на схеме они не показаны, поскольку по сути своей они являются простыми «точками стыка» и не более того), также привязаны к соответствующим сетевым адаптерам LAN1-LAN4 вспомогательной виртуальной машины CISCONET. Наконец, третий уровень виртуализации обеспечивается средствами ОС Cisco IOS, работающими на виртуальных маршрутизаторах, на этом уровне находятся виртуальное MPLS-облако и виртуальные цепочки (VC 111, VC 222) по технологии EoMPLS. Виртуальные цепочки EoMPLS средствами самой ОС Cisco OS проецируются на соответствующие интерфейсы виртуальных маршрутизаторов (R1, R2) и тем самым обеспечивается сетевое взаимодействие между вторым и третьим уровнем виртуализации.

Перейдем теперь непосредственно к результатам моделирования этой многоуровневой конструкции на персональном компьютере. Вот как все выглядит после создания, настройки и запуска виртуальных машин, включая CISCONET, внутри которой также создана, настроена и запущена сеть с маршрутизаторами Cisco:

В виртуальной машине CISCONET четыре сетевых адаптера: LAN1, LAN2, LAN3 и LAN4, которые привязаны к соответствующим виртуальным коммутаторам VMnet3, VMnet4, VMnet5 и VMnet6. В свою очередь, сетевой адаптер виртуальной машины WINPC1 привязан к виртуальному коммутатору VMnet3, сетевой адаптер WINPC2 – к VMnet4, сетевой адаптер WINSRV1 – к VMnet5 и сетевой адаптер WINSRV2 – к VMnet6. Так реализуется одна сторона точек «соприкосновения»: виртуальные машины WINPC1, WINPC2, WINSRV1 и WINSRV2 могут взаимодействовать с виртуальной машиной CISCONET через соответствующие сетевые адаптеры этой машины. Очень важно отметить, что какая-либо коммутация или маршрутизация между сетевыми адаптерами виртуальной машины CISCONET средствами самой ОС MS Windows на этой машине по определению должна быть запрещена. В свою очередь, на машине CISCONET запущена среда GNS на базе Dynamips, в которой работают два виртуальных маршрутизатора Cisco. Соответствующие интерфейсы маршрутизаторов подсоединены к соответствующим виртуальным коммутаторам SW1, SW2, SW3 и SW4 (не путать их с виртуальными коммутаторами VMnet), а коммутаторы, в свою очередь, подключены к соответствующим объектам PC1, PC2, SRV1 и SRV2 (не путать их с виртуальными машинами VMware c аналогичными названиями). PC1, PC2, SRV1 и SRV2 по сути являются объектами типа «Cloud» – простыми «точками стыка», спроецированными на соответствующие сетевые адаптеры LAN1, LAN2, LAN3 и LAN4 виртуальной машины CISCONET. Таким образом, реализуется вторая сторона точек «соприкосновения»: соответствующие интерфейсы маршрутизаторов также могут взаимодействовать с виртуальной машиной CISCONET через соответствующие сетевые адаптеры этой машины.

Ниже частично показано, как реализуются необходимые привязки между виртуальными коммутаторами VMnet и сетевыми адаптерами виртуальной машины CISCONET, а также между объектами PC1, PC2, SRV1 и SRV2 (точками стыка) и сетевыми адаптерами виртуальной машины CISCONET. На снимке экрана видно окно с конфигурационным файлом виртуальной машины CISCONET, на котором видны MAC-адреса сетевых адаптеров и привязка к виртуальным коммутаторам VMnet. В другом окне отображена таблица сетевых подключений виртуальной машины CISCONET и соответствующие им названия сетевых адаптеров (присвоенные в ОС MS Windows этой машины), MAC-адреса адаптеров и идентификаторы сетевого транспорта. Наконец, в третьем окне отображено привязка объекта PC1 типа «Cloud» (точки стыка) к соответствующему идентификатору сетевого транспорта виртуальной машины CISCONET.

Для того чтобы не запутаться в сетевых привязках между различными объектами на различных уровнях виртуализации, сведем их в одну наглядную таблицу:

Сеть Виртуальные машины VMware Виртуальный коммутатор VMware Сетевое подключение CISCONET MAC-адрес сетевого адаптера CISCONET Идентификатор сетевого транспорта CISCONET Объект «Cloud» в GNS3 Виртуальный коммутатор в GNS3 Виртуальный маршрутизатор Cisco и сетевой интерфейс Виртуальная цепочка EoMPLS
  Уровень виртуализации 1 Уровень 2 Уровень 3
1 WINPC1 CISCONET VMnet3 LAN1 00:0c:29:25:1f:ac C0E98EFF-BFA7- 472F-A5C0-A22293E1EE26 PC1 SW1 R1: FA0/0 VC 111
2 WINPC2 CISCONET VMnet4 LAN2 00:0c:29:25:1f:b6 390F3C01-A168- 40D8-A539- 1E417F3D6E1B PC2 SW2 R1: FA0/1 VC 222
3 WINSRV1 CISCONET VMnet5 LAN3 00:0c:29:25:1f:c0 6577836B-60A3- 4891-931C- 232ED8B2F8F2 SRV1 SW3 R2: FA0/0 VC 111
4 WINSRV2 CISCONET VMnet6 LAN4 00:0c:29:25:1f:ca 7834C67F-12F2- 4559-BEF4- C170C3E0B7DC SRV2 SW4 R2: FA0/1 VC 222

Теперь перейдем к результатам тестирования. На нижеприведенном снимке экрана видно, что соответствующие рабочие станции и сервера «видят» друг друга по сети (в том числе при помощи сетевых служб, использующих широковещательные запросы) сквозь MPLS-облако, благодаря виртуальным цепочкам EoMPLS. Специалистам по сетевым технологиям также будет интересно посмотреть на таблицы MPLS-коммутации и состояние виртуальных цепочек EoMPLS на маршрутизаторах Cisco. На втором снимке экрана видно, что виртуальные цепочки (VC 111, VC 222) успешно функционируют и по ним в обе стороны передано некоторое количество байтов:

Таким образом, многоуровневая виртуализация позволяет изучать и тестировать разнообразные примеры сетевой инфраструктуры, эффективно используя вычислительные ресурсы имеющегося под рукой персонального компьютера, который на сегодняшний день нередко имеет на «борту» многоядерный процессор и оперативную память большой емкости. К тому же многоуровневая виртуализация позволяет более гибко распределять вычислительные ресурсы и контролировать их использование. Так, например, в рассмотренном выше примере виртуальные маршрутизаторы работают в рамках вычислительных ресурсов вспомогательной виртуальной машины, а не реального компьютера, как это было бы в случае одноуровневой виртуализации.

Связаться с автором статьи можно по адресу: PavelAR at yandex.ru

 

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge