Виртуализация физической машины

OS: MS Windows XP/2003.
Application: VMware vCenter Converter (Windows).

Задача: получить копию «компьютера» (физической вычислительной машины) под управлением операционной системы «MS Windows XP/2003», в комплекте со всеми приложениями и данными в виде, неизменном по отношению к конечному пользователю, готовую к запуску в среде аппаратной виртуализации («Intel VT», она же «Virtual Machine eXtension», и «AMD-V», она же «Secure Virtual Machines») предоставляемой продуктами Hyper-V, Qemu-KVM, VMware, XEN.

Рассмотрим вариант с использованием продукта «VMware vCenter Converter», по простому — «VMware Converter». Программа свободно не распространяется, предоставляется только после регистрации на сайте производителя, но совершенно бесплатна. Очень удобна, кстати говоря, конвертирует практически что угодно во что угодно, имея при этом весьма приятный и «интуитивно понятный» интерфейс. VMware-вцы молодцы, что ни говори об их непомерных финансовых аппетитах — долгое время шли впереди планеты всей, делая самые удобные и реально работающие системы виртуализации. Эпоха «интернет», как в своё время «книгопечатания», многократно упростившая доступ к информации, перераспределила центры развития и сместила баланс сил игроков в сфере разработки интересного и перспективного программного обеспечения, но многолетние наработки, горы патентов, умеющие умы никуда не делись и выдают продукты обладающие прелестями «корпоративных» — отточенностью и предсказуемостью результата.

И так, подавив набирающий силу поток словоблудия, приступим к делу. Идём на сайт производителя (www.vmware.com), прыгаем по ссылкам, регистрируемся, буде в том имеется необходимость и скачиваем «конвертер» (примерно 124 Мегабайта).

Здесь и сейчас говорить будем о версии «4.3». В наличии имеется «пятая» версия, но три-четыре попытки загрузки, прервавшиеся на 20-50 процентах, намекнули мне, что «это не просто так» и «лучше не продолжать, а то».

На машине подлежащей виртуализации устанавливаем «конвертер», запускаем его, жмём бросающуюся в глаза кнопочку «Convert Machine» запуская тем самым мастер «Conversation». С помощью «выпадающих меню» и «чекбоксов» определяемся с тем, что желаем здесь и сейчас «виртуализировать» именно эту самую машину, на которой и запущено приложение:

размер: 320 400 640 800 1024 1280

1028×771  • VMware Converter: желаем здесь и сейчас "виртуализировать" именно эту самую машину.

Следующим естественным шагом определяемся, во что желаем превратить систему пока ещё работающую на пышущей жаром и гудящей внутренностями железке. Я неоднократно конвертировал в самых разных вариантах виртуальные машины «VMware Server v.2» — потому его формат и выбираю. В качестве месторасположения образа изготавливаемой виртуальной машины лучше выбрать какой-нибудь внешний, по отношению к корневой файловой системе, носитель информации, но не обязательно — можно разместить его где угодно:

806×625  • VMware Converter: определяемся, во что желаем превратить систему.

«Options».

Переносим Windows системы из физической в виртуальную среду

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

«Data to copy». Здесь мы можем выбрать, какие диски подлежат переносу в виртуальную машину (системный и загрузочные переносятся без-вариантно). В «basic»-режиме мало что можно изменить, потому сразу переходим в расширенный — «Advanced»:

806×625  • VMware Converter: здесь мы можем выбрать, какие диски подлежат переносу в виртуальную машину.

Сразу становится веселее. В расширенном режиме раздельно работать с исходным и результирующим материалом. Видно, в моём случае, что из двухсот гигабайт реально занято всего около семидесяти:

806×625  • VMware Converter: в расширенном режиме раздельно работать с исходным и результирующим материалом.

Важно определится, каким образом вы планируете переносить и вообще использовать в дальнейшем создаваемую виртуальную машину. Нужно решить, в каком виде и объёме создавать результирующие виртуальные диски. Если виртуализация проводится в инфраструктуре с «гигабитными» или «оптическими» высокоскоростными сетевыми магистралями между серверами с «безразмерными» дисковыми хранилищами, то рекомендую сразу раздвинуть до разумного максимума пространство виртуального диска и задать формат «Pre-allocated» (что даст на выходе «сырой» RAW-файл, сразу готовый к работе на максимальной скорости в любой из перечисленных выше систем виртуализации). Если образ виртуального сервера придётся протягивать через игольное ушко хлипкой сети государственного органа или мелкого предпринимателя, не решающегося стать крупным — следует выбрать формат «Not pre-allocated», для уменьшения размера финального виртуального диска за счёт пропуска «пустого» пространства (получим VMDK-файл формата «VMware Server v.2», требующий последующей переконвертации в желаемый формат уже на несущем сервере):

806×625  • VMware Converter: нужно решить, в каком виде и объёме создавать результирующие виртуальные диски.

Если жить совсем кисло и на сервере, где будет работать создаваемая виртуальная машина, свободного места меньше, чем на исходном виртуализируемом, то придётся явно указать размер финального диска:

806×625  • VMware Converter: можно явно указать размер финального диска.

«Devices». Всё просто — берём по минимуму (один процессор, старая-добрая шина IDE и памяти «лишь-бы хватило»), догнаться всегда успеем:

806×625  • VMware Converter: всё просто — берём по минимуму.

«Networks». От создания виртуального сетевого интерфейса рекомендую отказаться, так как проще сразу врезать в запускаемую виртуальную машину то, что лучше всего поддерживается системой виртуализации (например «VirtIO» в KVM):

806×625  • VMware Converter: от создания виртуального сетевого интерфейса рекомендую отказаться.

«Services». Немаловажная вкладка. Хотел было выше упомянуть о необходимость остановить все активно использующие ресурсы «сервисы» виртуализируемой «физической» системы, но подумал о том, что не всегда это возможно. Зато возможно и полезно указать не запускаться (будучи переведённым в «ручной» режим) особо прожорливым системным и пользовательским службам. Дело в том, что при первом запуске виртуальной машины с операционной системой «MS Window» на борту таковая не менее десяти минут «утаптывается» на новом месте жительства, выискивая и тестируя на совместимость подходящие обнаруженному оборудованию драйверы. Учитывая то, что «оборудование» обновилось полностью, работы у системы и так хватает, а запускающиеся параллельно парочка сервисов «корпоративного уровня» (чем «корпоративнее», тем жаднее до кручения диска) и антивирус с «завёрнутыми гайками» способны поставить на колени «MS Windows» на пару-тройку часов (и это не преувеличение).

«Advanced». Последним важным этапом завершаем подготовку к виртуализации. Указываем удалить бесполезные в дальнейшей «виртуальной» работе срезы «восстановления системы». И, возможно самая полезная опция «Reconfigure destination virtual machine», укажем подготовить создаваемую виртуальную машину к загрузке в неизвестно каком окружении, сбросив аппаратно-зависимые настройки, вроде привязки HAL (правда, это мои домыслы, но полагаю, что от истины я далёк не более чем на разницу в терминологии):

806×625  • VMware Converter: последним важным этапом завершаем подготовку к виртуализации.

Убедимся в том, что не забыли чего-нибудь мелкого, но важного и жмём кнопку «Finish», которая на самом деле даёт команду на старт конвертации как таковой:

932×673  • VMware Converter: убедимся в том, что не забыли чего-нибудь мелкого, но важного.

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

1026×770  • VMware Converter: ждать завершения конвертации приходится от получаса до половины рабочего дня.

В результате мы получим или RAW-файл, свободный от привязок к какой-либо определённой системе виртуализации и готовый к применению, или VMDK-файл (готовый к применению в среде VMware), требующий переконвертации в формат RAW.

Виртуализация

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

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

Конвертируем Windows в виртуальную машину

Большинство программных приложений пишутся для одного виртуального вычислительного модуля, коим может быть и модуль, включающий в себя несколько отдельных процессоров.

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

Существует несколько типов виртуализации:

  • Программная виртуализация;
  • Аппаратная виртуализация.

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

  • Динамическая (бинарная) трансляция — процесс, при котором проблемные команды гостевой OC заменяются на безопасные.
  • Паравиртуализация — процесс, при котором гостевые ОС модифицируют свое ядро с целью функционирования в виртуализированной среде. ОС взаимодействует с гипервизором, который обеспечивает гостевой API. Таким образом, исключается использование таблицы страниц памяти. Паравиртуализация гарантирует более высокую производительность в сравнении с динамической трансляцией, однако она уместна лишь тогда, когда гостевые ОС имеют открытые исходные коды, либо же гипервизор и гостевая ОС — от одного производителя. Термин сформировался в рамках проекта Denali.
  • Встроенная виртуализация — новый метод, базирующийся на применении аппаратно-поддерживаемых возможностей виртуализации, что позволяет пользователям использовать любые версии ОС в сочетании с различными вариантами рабочих сред.

    По сути, встроенная виртуализация представляет собой полную виртуализацию, реализованную на аппаратном уровне. Данный подход был реализован в рамках проекта BlueStacks Multi-OS (MOS).

Достоинства программной виртуализации:

  • Доступность ресурсов (каталоги, принтеры и т.д. ) для обеих ОС;
  • Удобный интерфейс окон приложений;
  • При тонкой настройке аппаратной платформы производительность мало отличается от оригинальной ОС. Переключение между системами происходит менее чем за 1 сек.;
  • Простая процедура обновления гостевой ОС;
  • Двухсторонняя виртуализация (приложения одной системы запускаются в другой, и наоборот).

Аппаратная виртуализация

Аппаратная виртуализация — это процесс виртуализации, подкрепленный аппаратной поддержкой. Он не имеет принципиальных отличий от программной виртуализации. Аппаратная виртуализация обеспечивает производительность уровня невиртуализованной машины, благодаря чему она получила широкое практическое применение.

Достоинства:

  • Простота разработки программных платформ виртуализации, доступность аппаратных интерфейсов управления, поддержка виртуальных гостевых систем;
  • Увеличение быстродействия платформ виртуализации за счет использования гипервизора;
  • Защищенность, возможность переключения между несколькими запущенными независимыми платформами виртуализации. Каждая виртуальная машина работает независимо в своем пространстве аппаратных ресурсов. Полная изоляция, позволяющая устранить потери быстродействия на поддержание хостовой платформы;
  • Гостевая система не привязана к архитектуре хостовой платформы. Возможен запуск 64-битных гостевых ОС на 32-битных хостовых системах.

Технологии:

  • Режим виртуального 8086
  • Intel VT (VT-x)
  • AMD-V

Платформы, работающие на аппаратной виртуализации:

  • IBM LPAR
  • VMware
  • Hyper-V
  • Xen
  • KVM

Где применяется виртуализация?

В виртуализации выделено четыре области применения:

  • ОС;
  • Виртуальные машины;
  • Ресурсы;
  • Приложения.

Виртуализация уровня ОС

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

  • Solaris Containers/Zones
  • FreeBSD Jail
  • Linux-VServer (англ.)
  • FreeVPS (англ.)
  • OpenVZ
  • Virtuozzo
  • iCore Virtual Accounts

Виртуальные машины

Речь идет об окружении, представляемом для гостевой ОС. Оно инициализируется как аппаратное, но на самом деле, оно программное и эмулируется программным обеспечением хостовой системы. При использовании паравиртуализации, виртуальная машина не эмулирует аппаратное обеспечение, используется специальное API. Применяется в тестовых лабораториях, в качестве экспериментального средства.

Виртуализация серверов

Виртуализация сервера позволяет упростить процесс восстановления систем, вышедших из строя, вне зависимости от их конфигурации.

Виртуализация в данном случае применяется для размещения нескольких логических серверов на базе одного физического. Данный процесс называется консолидацией.

Также возможен и обратный процесс: объединение нескольких физических серверов в один логический.

Примером такого процесса является Oracle Real Application Cluster. Также существует и ряд других:

Виртуализация ресурсов

Разделение одного физического сервера на несколько. Каждая отдельная часть отображается у пользователя как отдельный сервер. Данный метод осуществляется на уровне ядра ОС.

Виртуальные серверы, функционирующие на уровне ядра ОС, остаются такими же быстродействующими, что позволяет запускать на одном физическом сервере сотни виртуальных.

Примером реализации разделения ресурсов можно отнести проект OpenSolaris Network Virtualization and Resource Control, позволяющий создавать несколько виртуальных сетевых интерфейсов на основе одного физического.

Также данный процесс подразумевает агрегацию, распределение и объединение ресурсов. К примеру, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск. Зачастую к данному подтипу также относятся сетевые файловые системы, абстрагированные от хранилищ данных на которых они построены (Vmware VMFS, Solaris/OpenSolaris ZFS, NetApp WAFL).

Виртуализация приложений

Результатом данного процесса является преобразованное из требующего установки в ОС приложения в не требующее установки, автономное приложение.

ПО виртуализатора определяет при установке виртуализуемого приложения, какие компоненты требуются ОС для работы приложения, и эмулирует их. В результате создается специализированная среда для конкретного виртуализируемого приложения, что обеспечивает полную изолированность работы запускаемого приложения. 

Чтобы создать виртуальное приложение, виртуализируемое помещается в специальную папку. При запуске виртуального приложения запускается виртуализируемое приложение и папка, являющаяся для него рабочей средой. Таким образом, образуется определенный промежуток между приложением и операционной системой, что позволяет избежать конфликтов между ПО и ОС. Виртуализацию приложений осуществляют такие программы, как: Citrix XenApp, SoftGrid и VMWare ThinApp.

Достоинства виртуализации приложений:

  • Изолированность приложений и ОС;
  • Отсутствие несовместимости и конфликтов ПО и ОС;
  • Не засоряется реестр, отсутствие конфигурационных файлов;
  • Низкие ресурсозатраты по сравнению с эмуляцией всей ОС.

Аппаратная виртуализация. Типы виртуализации

Типы виртуализации

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

Программная виртуализация

Динамическая трансляция

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

Паравиртуализация

Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется. Операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти.

Метод паравиртуализации позволяет добиться более высокой производительности, чем метод динамической трансляции.

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

Впервые термин возник в проекте Denali.

Встроенная виртуализация

Преимущества:

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

    Быстрое переключение между системами (менее 1 сек.)

  • Простая процедура обновления гостевой ОС.
  • Двухсторонняя виртуализация (приложения одной системы запускаются в другой и наоборот)

Реализации:

  • BlueStacks Multi-OS (MOS)

Аппаратная виртуализация

Преимущества

  • Упрощение разработки программных платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем.

    Перенос физического сервера Windows на виртуальную машину VMware

    Это уменьшает трудоемкость и время на разработку систем виртуализации.

  • Возможность увеличения быстродействия платформ виртуализации. Управление виртуальными гостевыми системами осуществляет напрямую небольшой промежуточный слой программного обеспечения, гипервизор, что дает увеличение быстродействия.
  • Улучшается защищённость, появляется возможность переключения между несколькими запущенными независимыми платформами виртуализации на аппаратном уровне. Каждая из виртуальных машин может работать независимо, в своем пространстве аппаратных ресурсов, полностью изолированно друг от друга. Это позволяет устранить потери быстродействия на поддержание хостовой платформы и увеличить защищенность.
  • Гостевая система становится не привязана к архитектуре хостовой платформы и к реализации платформы виртуализации. Технология аппаратной виртуализации делает возможным запуск 64-битных гостевых систем на 32-битных хостовых системах (с 32-битными средами виртуализации на хостах).

Технологии:

  • Режим виртуального 8086 — старая
  • Intel VT (VT-x) — Intel Virtualization Technology for x86
  • AMD-V

Платформы, использующие аппаратную виртуализацию:

  • IBM LPAR
  • VMware
  • Hyper-V
  • Xen
  • KVM

История развития технологий виртуализации насчитывает более сорока лет. Компания IBM была первой, кто задумался о создании виртуальных сред для различных пользовательских задач, тогда еще в мэйнфреймах. В 60-х годах прошлого века виртуализация представляла чисто научный интерес и была оригинальным решением для изоляции компьютерных систем в рамках одного физического компьютера. После появления персональных компьютеров интерес к виртуализации несколько ослаб ввиду бурного развития операционных систем, которые предъявляли адекватные требования к аппаратному обеспечению того времени. Однако бурный рост аппаратных мощностей компьютеров в конце девяностых годов прошлого века заставил ИТ-сообщество вновь вспомнить о технологиях виртуализации программных платформ. Компания VMware, не являвшаяся еще в то время частью корпорации EMC, была одной из первых, кто сделал серьезную ставку исключительно на виртуализацию. Как показало время, это оказалось весьма оправданным. Сейчас возможность запуска нескольких виртуальных систем на одной физической вызывает большой интерес среди компьютерных специалистов, не только потому, что это повышает гибкость ИТ-инфраструктуры, но и потому, что виртуализация, на самом деле, позволяет экономить деньги. Так почему раньше виртуализация операционных систем не была столь востребована? Приведем основные проблемы, мешавшие относиться к этой технологии всерьез:

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

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

Между тем, виртуализация популярна не только в компаниях, связанных с ИТ-отраслью. Среди клиентов крупных производителей платформ виртуализации можно найти больницы, университеты, строительные корпорации и даже военно-морской флот США. Это все, конечно, относится к странам запада. В России технологии виртуализации еще не смогли всерьез заинтересовать ни крупный бизнес, ни сектор SMB (Small and Medium Business). По оценкам аналитиков, Россия еще не готова психологически принять новую технологию, однако в ближайшем будущем намечается прогресс в этом отношении. На данном этапе достаточно сложно убедить CIO (Chief Executive Officers) различных предприятий в эффективности виртуализации, в основном потому, что нет хороших инструментов для комплексной оценки ИТ-инфраструктуры в ракурсе виртуализации, удобно представляющих результаты внедрения новой технологии.

 

Поддерживаемые гостевые ОС Windows

  • Время чтения: 2 мин
  • Соавторы

В этой статье приводится список сочетаний операционных систем, поддерживаемых в Hyper-V в Windows. В ней также рассматриваются службы интеграции и другие поддерживаемые факторы.

Эти сочетания гостевых ОС и узлов протестированы корпорацией Майкрософт.

Виртуализация физической машины VMware Workstation 10: настройка

Проблемы, связанные с взаимодействием этих систем, будут рассмотрены службой технической поддержки Майкрософт.

Майкрософт предоставляет поддержку следующим образом:

  • Устранение проблем, обнаруженных в операционных системах Майкрософт и в службах интеграции, поддерживается службой технической поддержки Майкрософт.

  • Поддержка по проблемам в других операционных системах, сертифицированных поставщиком операционной системы для выполнения в Hyper-V, обеспечивается поставщиком.

  • Если обнаруживаются проблемы в других операционных системах, корпорация Майкрософт отправляет описание проблемы в сообщество по оказанию поддержки, состоящее из множества поставщиков, TSANet.

Для получения поддержки все операционные системы (гостевые и узловые) должны быть обновлены до последней версии. Откройте Центр обновления Windows и проверьте наличие критических обновлений.

Поддерживаемые операционные системы на виртуальной машине

Гостевая операционная система Максимальное число виртуальных процессоров. Заметки
Windows 10 32 Режим расширенного сеанса не работает в выпуске Windows 10 Домашняя
Windows8.1 32
Windows 8 32
Windows7 с пакетом обновления1 (SP1) 4 Выпуски Максимальная, Корпоративная и Профессиональная (32-разрядные и 64-разрядные).
Windows7 4 Выпуски Максимальная, Корпоративная и Профессиональная (32-разрядные и 64-разрядные).
Windows Vista с пакетом обновления 2 (SP2) 2 Business, Enterprise и Ultimate, включая выпуски N и KN
Windows Server Semi-Annual Channel 64
Windows Server 2016 64
WindowsServer2012R2 64
Windows Server2012 64
Windows Server2008R2 с пакетом обновления1 (SP1) 64 Выпуски Datacenter, Enterprise, Standard и Web.
Windows Server2008 с пакетом обновления2 (SP2) 4 Выпуски Datacenter, Enterprise, Standard и Web (32-разрядные и 64-разрядные).
Windows Home Server 2011 4
Windows Small Business Server 2011 Выпуск Essentials Edition — 2, Standard Edition — 4

Windows 10 можно запустить в качестве гостевой операционной системы на узлах Hyper-V с Windows 8.1 и Windows Server 2012 R2.

Поддерживаемые ОС Linux и FreeBSD

Дополнительные сведения, в том числе информацию о поддержке предыдущих версий Hyper-V, см. в статье Linux and FreeBSD Virtual Machines on Hyper-V (Виртуальные машины Linux и FreeBSD на базе Hyper-V).

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

Закрыть меню