Author Topic: Виртуализация: от простого к сложному  (Read 12578 times)

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Коллегам привет!

  Хочу показать (может быть незнакомые некоторым) вещи, которые могут значительно облегчить использование возможностей, практически не достижимых другими средствами.
Речь идет о виртуализации, которая с каждым годом все набирает обороты и лично мной используется много лет как на десктопах (дом/работа), так и в серверных приложениях.

Сразу отмечу, что использую разработки исключительно Vmware. Это длинная история, начало которой где-то лет 12 назад, тогда уже было много проектов в том числе с аппаратным тестированием Dial-up модемов несколькими системами одновременно еще под виртуалками с MS-DOS 6.22. Затем был опыт использования Microsoft Virtual PC, но снова вернулся к vmware и с тех пор нисколько не жалею об этом. Как пример: на данный момент на работе имеем 100% консолидацию всех серверных ресурсов в виртуальной среде под Vmware ESXi...

Теперь ближе к делу, как это устроено у меня и что необходимо:

Нужно иметь мощный комп в плане многоядерности CPU, оперативной памяти, быстрого HDD. Все это будет разделяться по ресурсам с запускаемыми виртуальными машинами (ВМ/VM), поэтому "много" тут просто не бывает  ;)
Желательно иметь хотя бы CPU с 2-мя ядрами, 64-х битную систему (предпочитаю Win7 x64) для задействования памяти больше 4Г (этого значения для начала достаточно), если есть возможность- хранить машины на отдельном от ОС жестком диске/разделе для повышения производительности. Дополнительным бонусом будет наличие CPU с поддержкой технологии VT-x. В таком случае можно будет запускать на основной ("хостовой" системе) ВМ на основе 64-х битных (т.н. "гостевых") систем. Ну и само ПО виртуализации, в данном случае Vmware Workstation.

Что мы можем получить такого полезного на десктопе на самом деле:

- ну первое, что касается разнородности систем. По факту можно спокойно запустить практически любую ОС, начиная от линуксов всех мастей, FreeBSD, конечно все Win, вплоть до Мак-ос или Андроид. Для развертывания не нужно даже CD/DVD привода, все замечательно монтируется из iso напрямую.
- второе, система т.н. снепшотов, снимков состояния. Можно физически иметь несколько устойчивых неизменных состояний гостевой системы на разный момент времени использования и переключаться между ними. Удобно проверять нужный функционал (ставить разные программы), тестировать и не бояться что-то испортить.
- третье, невероятные сетевые возможности. Гостевые системы могут быть "выпущены" в сеть как под своими IP адресами через нужную сетевую карту, через NAT виртуального драйвера с DHCP, либо вообще изолированы внутри новой локальной сети. Произвольный адаптер хоста может быть даже не поддерживаться оффициально драйверами гостевой системы, да и самих их внутри машины может быть уже более 1-го...





Картинки с одной из моих домашних систем.
Для того, чтобы не терять время я поступаю следующим образом: создаю машины из разнородных систем, которые потом будут служить шаблонами развертывания. Это группа в папке "Master".
Каждая ОС однажды устанавливается в минимальной конфигурации, обновляется, при необходимости закрепляется снепшотами. Мастер-образ периодически обновляю, чтобы поддерживать ОС в актуальном состянии.
Затем, в нужный момент, специальной функцией клонирования в Workstation делаю копию необходимой мне системы для дальнейших экспериментов (обычно делаю "полный клон") и уже через пару минут получаю рабочую систему, готовую на развитие для нужного функционала. Если система становится потом не нужна, просто удаляем ее. Динамическое расширение дисков ВМ позволяет занимать на физическом носителе столько место, сколько по факту используется данными.
Используя тот же Debiаn, я тестирую необходимые функции, чтобы потом перенести их на кубиборд. Плата не всегда может быть доступна в работе, да и нет такой гибкости при конфигурировании.

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

Нередко возникает потребность в подключении всевозможных девайсов, например по USB с установкой различных драйверов и сопутствующего ПО. Не хочется захламлять систему, подключая 1 раз телефон друга, нужна другая версия операционки и т.п.
Для программирования куби, чтобы не инсталлировать драйвера и разный софт я развернул Win XP c  Phoenix suite FLASH programmer. Нужная периферия с USB портов "пробрасывается" внутрь ВМ и там производятся коммуникации. Для обмена файлами очень полезно использовать общие с хостовой системой папки, специальным образом подключаемые к гостевой ОС.

Любителям покопаться в инете обычно не помогают ни антивирусы, ни всевозможные AD-блокеры, ни наставления. Через разное время все они достигают "точки кипения ОС", после которой уже остается только переинсталляция. Возможно, им помог бы Линукс, но сделать его единственной системой на компе не всякий готов навсегда. Есть ли решение? Я использую Browser-Appliance - минимальной конфигурации линукс с поддержкой звука, флеш видео и FireFox на борту. Система запускается с помощью бесплатного Vmware Player на любой версии Windows и т.о. получается изолированная от основной системы гостевая Linux, которая "легким движением руки" переключается в полноэкранный режим и уже там производится весь серфинг в инете. Дополнительным гарантом чистоты и неубиваемости системы является включение HDD VM в специальный режим Independed Nonpersistent, когда все изменения внутри гостевой машины пишутся не напрямую в файл виртуального HDD, а в специальный дельта-файл, который уничтожается со всем содержимым после выключения ВМ. Машина теряет все изменения произошедшие с момента старта. Этакая "вечная система", ОС всегда загружается из неизменного состояния. Желающие могут попробовать, все необходимое выкладываю в облако:

https://cloud.mail.ru/public/17e44f669588/Virtual

Appliance периодически обновляется мной, внутри доступны tcpdump и nmap для опытов. Система комфортна в работе при наличии 2-х и более ядер и свободной памяти в хостовой ОС более 512Мб.



Отвязанность от железа позволяет мобильно переносить машины и продолжать работу с ними в другом месте, легко резервировать важные сервисы и восстанавливать без потерь.

Есть еще всевозможные применения виртуализации о которых может быть стоит упомянуть, но видимо в другой раз. Желающим пообщаться на эту интересую тему- велком  8)
« Last Edit: December 03, 2015, 03:03:21 pm by ua3prq »

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #1 on: March 22, 2015, 02:57:03 pm »
Не совсем, конечно, в тему - я, вот тут, как раз пытаюсь на виртуалке выдранный образ Windows Embedded 2009 запустить. Падала в BSOD 0x7b при загрузке. Добавил ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase с работающей системы. Теперь один раз загружается, затем BSOD, но уже другой - 0x7e. В safe mode работает. Куда дальше двигаться - не представляю пока.

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #2 on: March 22, 2015, 03:28:32 pm »
Привет!

Можно по подробней, как выдирал? Насколько я понимаю, все это для отладки каких-то встраиваемых готовых решений затеяно (на столе, т.е.)?

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

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #3 on: March 22, 2015, 04:00:58 pm »
Да, да - привет  !  :)
В качестве несущего диска оригинальный девайс использует CompactFlash. Я просто снял образ. Конечно же всё для отладки. В программе которая крутится на устройстве есть трудноповторяемый баг. По крайней мере самим разрабам не удалось его на конторе поймать.
Платформа Oracle VirtualBox 4. Про настройки не понял. Знаю, только, что ядро у системы PAE. В виртуалбоксе флажок есть такой, но он всего лишь предоставляет доступ к фиче основного процессора.

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #4 on: March 22, 2015, 04:19:15 pm »
1. Целевая виртуальная ОС должна быть заявлена, как Win XP (либо Server 2003/2008 если PAE)
2. CF на оборудовании работает идентично IDE контроллеру HDD, соотв. виртуальный диск уже должен быть создан на таком контроллере, иначе "синька" обеспечена.
3. Можно попробовать провести миграцию P2V с настройкой оборудования и подстройкой реестра/хранилища драйверов. Можно попробовать Paragon/Acronis/Vmware-converter. У всех из них есть соотв. продукты. Насколько я помню, в виде источника для всех 3-х достаточен образ диска (CF), снятый Акронисом, можно на нормальной машине через кард-ридер.

Не знаю, умеет ли все заявленное делать оракл. Как вариант- могу попробовать запустить у себя (пиши в ЛС), дабы тебе не разбираться с новым ПО  :)

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #5 on: March 22, 2015, 04:39:10 pm »
1. Заявлял как WinXP. Server попробую завтра.
2. Так и было, несмотря на то, что ставил IDE контроллер. Исправилось слиянием ветки (см. выше).
3. Честно - не знаю, что такое "миграция P2V". Поможет ли оно тут ? Дело в том, что Win Embedded не имеет в составе готовой системы средств обнаружения нового оборудования. Реестр и база драйверов создаются на этапе построения образа с помощью Windows Embedded Studio под конкретную систему. (Стандартные драйверы, конечно, присутствуют, но пока реестр не поправишь - система не понимает какой для какого устройства грузить.)

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #6 on: March 23, 2015, 03:05:38 am »
3. Расшифровывается, как "Physical-to-Virtual" конвертация. Здесь возможны варианты:
- on line, когда в рабочую физическую систему ставится компонент конвертера и он делает перенос либо в сеть, либо в образ виртуального HDD на не задействованный раздел системы.
- off line, когда конвертер работает либо с образом снятым с диска физики, либо диском непосредственно, загрузившись с LiveCD
также, подобные системы могут сделать настройку вирт.оборудования.

Я сомневаюсь, что именно с Embedded такие вещи прокатят, везде наблюдаю только чистую установку, но пробовать нужно.
Вот пока, что удалось найти:
https://msdn.microsoft.com/en-us/library/aa460095(v=winembedded.5).aspx
http://blogs.msdn.com/b/obloch/archive/2011/06/10/running-a-virtual-windows-embedded-compact-7-image-into-a-virtual-machine.aspx
https://technet.microsoft.com/en-us/library/bb963740(TechNet.10).aspx
http://www.paragon.ru/home/vm-professional/
http://fadmin.ru/article/ustranenie-oshibok-pri-p2v-migracii-s-ispolzovaniem-vmware-converter
Конвертер выкладываю в линк 1-го MSG

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #7 on: March 24, 2015, 03:15:48 pm »
Опа. Оказывается перенос Windows между машинами (в том числе и виртуальными) это некая отрасль ПО.
Некоторые мысли в слух.
1. Микрософтовское ПО, вероятно, самое прошаренное (и запутанное), но требует администраторских прав на переносимой системе.
2. VMware не поддерживает .VHD файлов на входе, и, конвертирует только в свой формат.
3. Paragon, судя по описанию, некая универсальная отмычка. К сожалению, бесплатное 30-ти дневное демо не только 30-ти дневное, но и сделать что либо кроме полазить по меню не даёт. Цена вполне демократичная, вот только покупать кота в мешке ?
« Last Edit: March 24, 2015, 03:17:30 pm by UnКаЙF »

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #8 on: March 24, 2015, 03:35:42 pm »
1. Микрософтовское ПО, вероятно, самое прошаренное (и запутанное), но требует администраторских прав на переносимой системе.
2. VMware не поддерживает .VHD файлов на входе, и, конвертирует только в свой формат.
3. Paragon, судя по описанию, некая универсальная отмычка. К сожалению, бесплатное 30-ти дневное демо не только 30-ти дневное, но и сделать что либо кроме полазить по меню не даёт. Цена вполне демократичная, вот только покупать кота в мешке ?
1. Майкрософт долго "спал" со своей Virtual PC и только недавно стал разгоняться (с выходом Hiper-V), но тут уже у каждого свое мнение, я выбор сделал.
2. VMware поддерживает VHD как соурс только  ;)
Code: [Select]
Supported Source Types
With Converter Standalone, you can convert remote powered on machines, powered off VMware virtual
machines, Hyper-V Server virtual machines, and other third-party virtual machines and system images.

Source Type Sources
Powered on machines
- Remote Windows physical machines
- Remote Linux physical machines
- Local Windows physical machines
- Windows virtual machines running on Hyper-V Server
- Powered on VMware virtual machines
- Powered on Hyper-V Server 2012 virtual machines
- Powered on virtual machines running under Red Hat KVM or RHEL XEN
VMware vCenter virtual machines
Powered off virtual machines managed by the following servers:
- vCenter Server 4.0, 4.1, 5.0, 5.1, and 5.5
- ESX 4.0 and 4.1
- ESXi 4.0, 4.1, 5.0, 5.1, and 5.5
VMware virtual machines Powered off hosted virtual machines running on the following VMware products:
- VMware Workstation 7.x, 8.x, 9.x, and 10.x
- VMware Fusion 3.x, 4.x, 5.x, and 6.x
- VMware Player 3.x, 4.x, 5.x, and 6.x
Hyper-V Server virtual machines
For Hyper-V Server versions distributed with Windows Server 2008 R2, powered off
virtual machines with the following guest operating systems:
- Windows Server 2003 (x86 and x64), SP1 and SP2
- Windows Server 2003 (x86 and x64) R2 SP1 and SP2
- Windows Server 2008 (x86 and x64) SP2
- Windows Server 2008 (x64) R2 and R2 SP1
- Windows 7 (except Home editions)
- Windows Vista SP1 and SP2 (except Home editions)
- Windows XP Professional SP2, SP3, and x64 SP2
For other Hyper-V Server sources, perform the procedure for powered on physical
machines.
Third-party virtual machines or system images
- Acronis True Image Echo 9.1 and 9.5, and Acronis True Image Home 10 and 11
(.tib).
- Symantec Backup Exec System Recovery (formerly LiveState Recovery) 6.5, 7.0, 8.0,
and 8.5, and LiveState Recovery 3.0 and 6.0 (.sv2iformat only).
- Norton Ghost version 10.0, 12.0, and 14.0 (.sv2iformat only).
- Parallels Desktop 2.5, 3.0, and 4.0 (.pvsand .hdd). Compressed disks are not
supported.
- Parallels Workstation 2.x (.pvs). Compressed disks are not supported. Parallels
Virtuozzo Containers are not supported.
- StorageCraft ShadowProtect Desktop, ShadowProtect Server, ShadowProtect Small
Business Server (SBS), ShadowProtect IT Edition, versions 2.0, 2.5, 3.0, 3.1, and 3.2
(.spf).
The Microsoft VHD format for the following sources:
- Microsoft Virtual PC 2004 and Microsoft Virtual PC 2007 (.vmc)
- Microsoft Virtual Server 2005 and 2005 R2 (.vmc)
3. По Парагону все есть, могу поделиться. Из опыта- однажды на рабочей Win7 сделал парагоном P2V и запустил свою же ОС со всеми потрохами в ВМ под Workstation. Выглядело достаточно прикольно (все работало как не странно, хотя в домен, конечно, машину не выпустил от греха...)

Есть еще вот такая штука: https://www.starwindsoftware.com/converter
Ну этим ребятам просто тоже нужно жить среди вендоров и продавать свое программное хранилище SAN, поэтому бесплатное.
Да и Акронис не хочет отставать http://www.youtube.com/watch?v=t9OtW-T-7ys
« Last Edit: March 24, 2015, 04:15:23 pm by ua3prq »

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #9 on: March 24, 2015, 04:34:02 pm »
Фиг знает  ??? По ссылке скачал VMware vCenter converter standalone. Не смог заставить скушать VHD.
UPD: Так, скачал всё-ж некий "Paragon Virtualization Manager 14 Compact" с бесплатной регистрацией. Сделал ей P2V. Создала  диск и новую вирт. машину. Подключил к VBox и всё что увидел - "Error loading operating system". Вот и купи потом платное  :(
« Last Edit: March 24, 2015, 04:50:15 pm by UnКаЙF »

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #10 on: March 24, 2015, 04:51:03 pm »
Не смог заставить скушать VHD.
Мммм...
Отдельно сам диск не знаю как запихнуть. Только в составе конфигурации .VMC он его возьмет.
Нужно поискать как народ делает.
« Last Edit: March 26, 2015, 01:52:04 am by ua3prq »

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #11 on: March 26, 2015, 01:54:52 am »
Подключил к VBox и всё что увидел - "Error loading operating system". Вот и купи потом платное  :(
Давай попробую на vmware, вдруг взлетит...

Еще тут подумалось.
А что, если на клон накатить поверх новую установку, как раньше делали с XP? Iso ведь там существует надеюсь, или вопрос с оборудованием кардинально убит на корню?
« Last Edit: March 26, 2015, 02:02:21 am by ua3prq »

Offline UnКаЙF

  • Full Member
  • ***
  • Posts: 241
  • Karma: +9/-6
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #12 on: March 26, 2015, 03:49:55 pm »
Quote
Давай попробую на vmware, вдруг взлетит...
С моими скоростями на выдачу проще мне vmware подучить. А насчёт вышеуказанной ошибки, - то это всего лишь показатель качества софта от Paragon. Убитая им MBR или Boot block раздела.

Quote
...вопрос с оборудованием кардинально убит на корню?
Совершенно верно. У Embedded нет инсталятора (preinstall enviroment) - образ собирается в студии, а затем копируется на целевую систему.
« Last Edit: March 26, 2015, 03:58:36 pm by UnКаЙF »

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #13 on: April 01, 2015, 02:05:08 am »
С моими скоростями на выдачу проще мне vmware подучить...
Ну сегодня (в честь праздника, наверное) наконец-то вышла в свет русская редакция документации от другого более молодого, но уже именитого вендора тематики- Veeam !
Традиционно, на протяжении многих лет VMware и Veeam не имели локализации даже по мануалам, поэтому при таких объемах тех.документации достаточно тяжко все для усвоения. Т.к. технологии используются неразрывно друг от друга- много взаимополезного можно почерпнуть из обоих источников.
Veeam® Backup & Replication™ — решение для защиты и восстановления данных в
виртуальной среде любого масштаба и уровня сложности. Данный продукт (есть Free редакция) используем в производственной среде несколько лет в связке с гипервизорами, очень рекомендую.
RUS доки (упрощенной редакции) выложил в свой архив  8)

Научившись работать с Workstation вполне резонно может возникнуть желание начать использовать и серверные решения ESXi. Все труды не пропадут "даром"- обмен машинами с vSphere уже встроен в функционал станции.
« Last Edit: April 17, 2015, 01:16:43 am by ua3prq »

Offline ua3prq

  • Moderator
  • Hero Member
  • *****
  • Posts: 660
  • Karma: +14/-1
    • View Profile
Re: Виртуализация: от простого к сложному
« Reply #14 on: April 01, 2015, 05:03:41 am »
Еще небольшой плюс в тему  :)

Богатство внутренних коммуникаций между ВМ- это еще не все.
Сетевикам будет интересно посмотреть реальные возможности виртуальной лаборатории на примере пары машин непосредственно с выходом на "железо".

Задача:
-необходимо периодически настраивать, проверять, перепрошивать (да и вообще разбираться "почему оно не работает, когда принесли") сетевое клиентское оборудование- WiFi роутеры, управляемые свичи и т.п.
- в особо запущенных случаях, было бы неплохо проверить, почему у клиента не подключается интернет-провайдер (ну не поднимается PPPoE сессия хоть ты тресни), не раздается Wi-Fi...

Условия постановки:
- обычно на месте подключения оборудования первопричину найти не так просто (нет времени, нет возможности работать на стороне клиента, провайдер неявно залочил порт по МАС, нет средств на счете клиента, проблемы на оборудовании провайдера, донастраивался вплоть до заводских установок- а результата нет, что-то еще в "консерватории" (оборудовании) надо поправить- надо разбираться и прочие шаманства...
- значит будем проверять у себя. Желательно задействовать минимум оборудования, повторяемость, когда снова понадобится и не "разводить виноград" на столе из патчкордов, ноутбуков и прочего.

Что можно сделать задействовав рабочий ПК, включенный в корпоративую сеть с доменом? Сетевые настройки подключения, естественно, трогать крайне не желательно (комп постоянно в работе).

Устанавливаем вторую сетевую карту, можно что-то дешевое, главное поддерживаемое системой (можно USB).



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



Поднимаем ВМ с виртальным роутером (пусть это будет мой любимый MikoTik). Через 4 сетевых карты машины делаем нужный нам функционал. Коротко:
- получаем полный интернет с хоста через NAT (дабы не мудрить в корпоративной сети на шлюзе)
- подключаем сеть управления роутером через WinBox с хоста
- сопрягаем адаптер Реалтек с портом, где разворачиваем свою сеть сервисами микротик: DHCP, PPTP, PPPoE, L2TP, DNS серверами
- резерв для других внутренних применений



Т.о. получаем полную эмуляцию интернета провайдера (все что у нас пока доступно- Ростелеком, Билайн, Транстелеком), подключаемся кабелем к WAN-порту "железного" страдальца и начинаем диагностику. Причем в реальных условиях, с IP провайдера и паролем пользователя, именами "tp.internet.beeline.ru" в DNS, привязкой к MAC и прочими плюшками. С рабочим инетом.
LAN порт роутера, правда при такой схеме подключить некуда (либо дежурный ноутбук, либо кратковременно в корпоративный свитч, еще карту в хост или ограничиться проверкой через WiFi).



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

ps: Почему бы не использовать такие возможности на ноуте? Да прекрасно + мобильность, инет можно получать через 3G, USB-LAN... и "мы снова идем к Вам"  ;)
« Last Edit: April 02, 2015, 01:42:06 am by ua3prq »