Hyper-v export and import: what, why, and how

Введение

История релиза Hyper-V Server 2019 получилась необычной и даже какой-то драматичной, как и все последние релизы от компании Microsoft. Поясню для тех, кто не в курсе. Сам 2019-й сервер зарелизился в октябре 2018 года с какими-то критичными багами. Подробности проблем не помню, но в итоге релиз отозвали. Через месяц зарелизили еще раз и вроде как успешно.

С сайта микрософт можно было скачать все версии 2019-го сервера, кроме бесплатной версии Hyper-V. Я следил за темой и все ждал, когда же появится iso образ с Hyper-V Server 2019, а его все не было и не было. Причем в Evaluation Center стояла пометка, что релиз пока откладывается, ждите, скоро все будет.

И вот дождались. 15-го июня я увидел новость о том, что Hyper-V Server 2019 доступен для загрузки в Evaluation Center. Зашел, проверил. В самом деле это так. Появился iso образ, который можно свободно загрузить, что я успешно сделал.

К слову, образ hyper-v 2019 гулял в сети, так как после первого релиза еще в октябре 2018, он был доступен и многие его скачали. Но там были какие-то баги. Из того, что я прочитал, люди указывали на то, что не работал rdp доступ к гипервизору. Не смог это проверить, так как у меня просто не проходила установка на сервер. Он то ли не устанавливался вовсе, выдавая ошибку в процессе установки, то ли потом в синий экран падал. Точно не помню. Я не стал разбираться, а поставил предыдущую версию. Как оказалось, не зря.

What Is Hyper-V Export?

Hyper-V Export is the process of exporting a selected VM, including its virtual hard disk files, VM configuration files, and Hyper-V snapshots, to a single unit. This operation can be performed when the VM is either online or offline. In earlier Windows versions (prior to Windows Server 2012), you could export Hyper-V VMs only when they were turned off. Hyper-V Export can be performed only on an on-demand basis.

Also, you couldn’t previously export a VM directly to a network share. In earlier Windows versions, the VM had to first be exported to a local storage space and copied across the network to a target location where archive files were stored. With the release of Windows Server 2012, this issue was eliminated.

Hyper-V Export can be used for archiving a VM which you no longer need, or as an ad-hoc backup which allows you to capture VM data at a specific point in time. Moreover, Hyper-V Export can be used for testing purposes. For example, you can create a copy of the production VM and export it to a non-production environment for testing and troubleshooting.

The process of exporting Hyper-V VMs is often compared to taking Hyper-V snapshots as well as creating backups. Exporting VMs is not as fast as taking snapshots but, unlike Hyper-V snapshots, it allows you to create a full copy of the existing VM and send it for storage to another location. At the same time, Hyper-V Export cannot be considered a full VM backup. It doesn’t apply compression, deduplication, and encryption techniques, which are widely used by data-protection solutions and allow you to reduce storage space needs and use available disk space more effectively.

Data Protection with NAKIVO Backup & Replication

Looking for a powerful yet simple and affordable data protection solution? NAKIVO Backup & Replication provides a rich set of high-end backup, replication and diverse recovery features for virtual, physical, cloud and SaaS environments. Perform VMware cloud backup, set up custom disaster recovery workflows, backup Office 365 workloads and even test your Microsoft Hyper-V backups from one centralized web interface. Get the Free Trial now!

Настройка доступа в Интернет и локальной сети

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

В меню Действия выберите Настройка виртуальных коммутаторов. Откроется окно, в котором можно создать коммутатор одного из трех типов. Чтобы ваша виртуальная машина могла выходить в Интернет, создайте внешний коммутатор.

Теперь нужно задать имя коммутатора и выбрать сетевой адаптер, если у вас их больше одного. Дома я использую беспроводную сеть, поэтому выбрал адаптер Wi-Fi.

Остается лишь указать созданный коммутатор в параметрах сетевого подключения виртуальной машины

Теперь в установленной Windows у вас будет подключение к Интернету и локальная сеть между физической и виртуальной машинами

На рисунке выше вы видите:

  • слева – результат добавления виртуального коммутатора в Hyper-V на физической машине, т.е. сетевой мост и виртуальный адаптер
  • справа – доступ в Интернет и подключение к локальной сети на виртуальной машине

Как видите, настройка Интернета и локальной сети не столько сложна, сколько непривычна для пользователей клиентских ОС Microsoft.

Обмен файлами между физической и виртуальными машинами

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

Домашняя группа

Общие сетевые папки

Поскольку в нашем распоряжении есть локальная сеть, можно использовать общие папки для обмена файлами. Фактически, инструкции ниже сводятся к основам создания общих папок.

Доступ с виртуальной машины на физическую

Картинка стоит тысячи слов, как говорят американцы

На рисунке показан проводник виртуальной машины (VIRTUAL-PC), откуда осуществляется доступ к физической машине (VADIK-PC). Как только вы введете учетные данные аккаунта, доступ к его профилю будет в вашем распоряжении.

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

Доступ с физической машины на виртуальную

Допустим, в корне диска виртуальной машины есть папка Shared. Щелкните по ней правой кнопкой мыши и выберите Общий доступ – Отдельные люди (или Конкретные пользователи в Windows 7)

Теперь вы можете открыть общую папку по сети в проводнике, в том числе введя в адресную строку адрес вида \\имя-компьютера\имя-папки.

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

В Hyper-V между физической и виртуальной машиной невозможен обмен файлами путем копирования и вставки. Можно лишь вставлять скопированный на физической машине текст сочетанием клавиш Ctrl+V.

Денис Дягилев порекомендовал после подключения виртуальной машины соединяться с ней посредством RDP вместо того чтобы открывать ее из диспетчера Hyper-V.

Действия на виртуальной машине

Сначала нужно разрешить на виртуальной машине подключения к удаленному рабочему столу в свойствах системы. Нажмите Win+R и выполните:

Затем разрешите подключение, как показано на рисунке.

Остается лишь выяснить IP-адрес виртуальной машины командой ipconfig

Действия на физической машине

Нажмите Win+R и введите mstsc.

В открывшемся окне:

  1. Введите IP-адрес виртуальной машины (обязательно).
  2. Укажите имя пользователя, в чью учетную запись будет выполнен вход.
  3. Включите запоминание учетных данных.
  4. Сохраните параметры подключения.

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

Теперь можно обмениваться файлами между физической и виртуальной машинами привычными сочетаниями клавиш Ctrl+C и Ctrl+V.

Какие функции имеет Hyper-V?

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

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

Аварийное восстановление и резервное копирование . для аварийного восстановления реплика Hyper-V создает копии виртуальных машин, предназначенные для хранения в другом физическом расположении, чтобы можно было восстановить виртуальную машину из копии. Для резервного копирования Hyper-V предлагает два типа. В одном из них используются сохраненные состояния, а в другом используется служба теневого копирования томов (VSS), что позволяет создавать резервные копии, совместимые с приложениями, для программ, поддерживающих VSS.

Оптимизация . Каждая поддерживаемая гостевая операционная система имеет настроенный набор служб и драйверов, называемый службами Integration Services, которые упрощают использование операционной системы на виртуальной машине Hyper-V.

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

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

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

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

Функция экспорта-импорта машин Hyper-V

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

Т.е. содержимое экспорта – это точные копии файлов машины, разложенные по папкам, как и её исходные файлы.

А классический импорт машин – это не извлечение данных из посредничающего файла-архива, а добавление машины по пути хранения её файлов в окно диспетчера Hyper-V. При этом функция импорта является универсальным решением и для переноса машин, и для их копирования, и для их перерегистрации в диспетчере после удаления оттуда или переустановки хостовой Windows. Рассмотрим эти операции.

Экспорт виртуальных машин Hyper-V с помощью диспетчера Hyper-V

1. Откройте диспетчер Hyper-V (диспетчер Hyper-V).

2. Выберите сервер Hyper-V (например, «BRINK-DESKTOP») на левой панели экрана, затем выберите одну или несколько виртуальных машин на средней панели для экспорта и импорта, а затем нажмите кнопку «Экспорт» в панель задач в правой части экрана (см. снимок экрана ниже).

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

3. Нажмите кнопку «Обзор», перейдите к и выберите соответствующую папку (например, «Мои виртуальные машины»), которую вы хотите экспортировать, затем нажмите «Выбрать папку» и нажмите «Экспорт». (см. снимок экрана ниже).

4. Теперь виртуальные машины будут экспортированы. Это действие может занять некоторое время (см. Снимок экрана ниже).

5. По завершении этого процесса вы можете закрыть диспетчер Hyper-V, если хотите.

Как переместить виртуальную машину на другой компьютер

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

  1. Подготовка виртуальной машины к предстоящему переносу, или копирование всех необходимых компонентов.
  2. Использование специальных команд для планомерного перемещения этого системного ресурса на иное устройство.
  3. Полноценный импорт установок на другой компьютер или ноутбук с сохранением всех актуальных значений.
  4. Исправление появившихся в процессе перемещения ошибок и иных возможных сбоев в работе системного реестра.
  5. Полноценная настройка всех параметров сети после завершения импортирования виртуальной машины на устройство.

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

Установка Windows Admin Center для управления Hyper-V 2019

Теперь нам надо передать скачанный файл на гипервизор и установить панель управления. Ранее мы разрешили подключение к Windows Hyper-V Server 2019 по rdp. Подключимся к нему, чтобы было удобно выполнять команды на самом гипервизоре.

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

netsh advfirewall set currentprofile state off
netsh advfirewall set currentprofile state on

Либо разрешить некоторые команды удаленного управления, которые позволят в том числе передавать файлы на гипервзиор по smb. Следующие команды нужно вводить не в обычной консоли, а powershell. Для этого наберите команду powershell в стандартной консоли, которая загружается после подключения по rdp, а потом сами команды.

powershell
Set-NetFirewallRule -DisplayGroup 'Windows Management Instrumentation (WMI)' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Event Log Management' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Volume Management' -Enabled true -PassThru

Эти разрешения нам понадобятся позже, когда мы будем подключаться стандартными системными останстками для управления Hyper-V Server 2019.

Заходим на любой диск гипервизора через обычный проводник windows и передаем туда скачанный инсталлятор WindowsAdminCenter1904.1.msi. В качестве авторизации используем учетную запись администратора.

Возвращаемся на гипервизор, идем в паеку C:/Soft и запускаем переданный файл.

Запускается инсталлятор Windows Admin Center. Там все просто, можно использовать дефолтные значения. Я лично ставлю галку Разрешить Windows Admin Center изменять параметры доверенных узлов для этого компьютера и Перенаправлять трафик с HTTP-порта 80 на HTTPS-порт. После установки можно в браузере переходить по адресу https://10.20.1.14.

Чтобы страница открылась, введите учетные данные администратора hyper-v сервера. Выбираем единственный сервер, вводим еще раз данные администратора и подключаемся к панели управления сервером. Дальше, думаю, уже сами разберетесь. Не буду подробно останавливаться на описании функционала Windows Admin Center.

В разделе Виртуальные машины, можно создать виртуалку и запустить ее. Единственное, не забудьте установочный iso образ загрузить на гипервизор. Можно в ту же папку, куда загружали установщик админ центра. Единственное, вот на чем остановлюсь. Давайте создадим виртуальный коммутатор, для того, чтобы виртуальная машина получила доступ к сети.

Для этого идем в раздел Виртуальные коммутаторы и жмем на кнопку Создать.

Указываете имя коммутатора и его тип. Из-за перевода Admin Center на русский язык, трудно уловить суть названий, поэтому лучше все же качать английскую версию. Я уже установил русскую, поэтому расскажу на основе ее. Существует 3 типа коммутаторов:

  1. Личный (private) для связи только между виртуальными машинами, без доступа к гипервизору и сетью за ним.
  2. Внутренний (internal) — почти то же самое, что и личный, только доступ к коммутатору может иметь и гипервизор, но по прежнему нет доступа к внешней сети.
  3. Внешний (external) по сути это обычный сетевой бридж, куда входит реальный сетевой интерфейс гипервизора. Этот тип коммутатора используется для доступа виртуальных машин во внешнюю сеть.

В моем примере у меня только один сетевой интерфейс на гипервизоре. Я создам один коммутатор типа Внешний (External).

Получилось вот так.

Теперь этот коммутатор можно использовать в виртуальных машинах для доступа во внешнюю сеть.

В принципе, на этом настройку Windows Hyper-V Server 2019 можно и закончить. Если вас функционал Windows Admin Center устраивает, пользуйтесь им. В целом, в нем есть все необходимое, но мне он не нравится. Очень тормозной интерфейс, приходится два раза авторизовываться, чтобы подключиться. У меня не всегда получается через браузер открыть консоль виртуальной машины. Какие-то ошибки бывают, зависания.

Я предпочитаю использовать классические оснастки для управления гипервизором. Если вы так же как и я, предпочитаете их, переходим к следующему способу подключения и управления Hyper-V Server 2019. Для этого нам понадобится компьютер или виртуальная машина с Windows 10. Можно ее установить прямо на этом же гипервизоре. Иногда я так делаю для удобства. Получается автономный гипервизор со всем необходимым для управления.

Плюсы и минусы Hyper-V

Расскажу немного, почему я постоянно пользуюсь hyper-v наравне с другими гипервизорами (в основном KVM). В общем и целом мне нравится этот гипервизор, поэтому я и решил внимательно проработать вопрос установки и первоначальной настройки для дальнейшего использования по мере необходимости. К плюсам hyper-v в целом и бесплатной версии в частности я отношу следующие моменты:

Поддержка всех популярных ОС. Нет никаких проблем с совместимостью, нет необходимости отдельно ставить какие-то драйвера или тулсы. Поддержка hyper-v присутствует во всех windows системах, в ядре линукс, не помню точно с какой версии, но все современные системы ее имеют, в ядре freebsd, начиная с 10-й версии. То есть вы просто берете установочный диск и ставите систему на hyper-v, больше от вас ничего не требуется.

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

Обращаю на это особое внимание. По мне так это самый существенный плюс Hyper-v.

Стандартная панель управления гипервизором, которую можно установить на компьютер под управлением windows

К ней прибавился web доступ через windows admin center. Расскажу об этом далее подробнее.
В основе Hyper-V Server популярная серверная система, с которой понятно и удобно работать. К примеру, чтобы загрузить или забрать файл с гипервизора, вам достаточно расшарить на нем папку стандартным образом, как вы это делаете в любой windows системе.

Hyper-V можно установить на псевдорейды, такие как встроенный рейд контроллер от intel, или собрать софтовый рейд средствами самой ОС Windows.

Полнофункциональная бесплатная версия, правда без удобных средств управления.

Удобная работа со снепшотами из коробки. Не надо думать над форматами файлов, как в KVM. В Hyper-V он один и отлично поддерживает снепшоты.

Это мое личное мнение, основанное на опыте работы с малыми и средними компаниями, где нет каких-то особенных требований к надежности и доступности сервисов. Где используются несколько серверов с виртуальными машинами, не всегда есть домен windows. Конечно, помимо плюсов, есть и минусы. Первый и главный для меня минус — первоначальная настройка. Нельзя просто взять, установить Hyper-V Server и начать им пользоваться. Необходимо производить какие-то непонятные и не очевидные действия на хосте и управляемой машине. Дальше вы поймете, что я имею ввиду. Но преодолев это препятствие, можно спокойно использовать виртуальную инфраструктуру, основанную на бесплатном гипервизоре от microsoft.

Второй минус — нет никакой возможности пробросить USB в виртуальную машину. Подчас это очень неудобно и вынуждает использовать что-то другое, вместо Hyper-V. Не понимаю, почему в Microsoft за столько лет не могут это исправить. Запрос очень актуальный и злободневный, особенно у нас, где повсеместно используется 1С с USB ключами.

Вспоминаем матчасть

Как обычно происходит миграция ВМ с одного узла на другой внутри кластера Hyper-V:

  1. Конфигурация ВМ копируется с одного узла кластера на другой.
  2. Страницы памяти виртуальной машины помечаются для копирования на целевой хост, и начинается процесс их перемещения в режиме онлайн.
  3. Поскольку виртуальная машина все еще работает, страницы памяти постоянно меняются. Во время миграции Hyper-V отслеживает измененные страницы памяти и переносит их на другой хост. Процесс повторяется до тех пор, пока на первом узле кластера не останется только несколько измененных страниц.

Копирование страниц памяти с одного узла на другой и их синхронизация
  1. ВМ на исходном хосте выключается, оставшиеся страницы памяти копируются на целевой хост, и виртуальная машина на нем включается. Переключение происходит за доли секунды. Процесс достаточно быстрый, чтобы ни один клиент не заметил простоя.

Это и называется живой миграцией. Схема справедлива для любого гипервизора.

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

Разберем основные нюансы по настройке интерфейсов.

Опрос

Я познакомился с виртуальными машинами в 2004 году, когда начал заниматься автоустановкой Windows. С тех пор они стали неотъемлемой частью моей повседневной работы, включая тестирование системных настроек, программ и т.п.

Я хочу поблагодарить Дениса Дягилева за помощь в подготовке этого материала. Одним из преимуществ программы MVP является знакомство с лучшими специалистами по технологиям Microsoft. Это означает, что в частном порядке можно получить грамотную консультацию по любому вопросу ;)

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

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.

Экспорт виртуальной машины в Hyper-V

Мы начнем с самого простого процесса, который заключается в знании того, как экспортировать виртуальную машину в Hyper-V. Эта процедура полезна, если мы хотим перенести виртуальную машину с одного Hyper-V на другой. Давайте посмотрим это шаг за шагом:

Первое, что нам нужно сделать, это перейти на главный экран с выбранной машиной. Список параметров в правой панели будет активирован. Мы должны нажать на « Экспорт… »

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

Процесс начнется сразу и продлится не слишком долго. Конечным результатом будет каталог с тремя папками с файлами конфигурации и основным виртуальным жестким диском в формате.vhdx. Этот формат позволяет создавать виртуальные жесткие диски объемом до 64 ТБ, в нем ничего нет, и он будет полезен, если вы хотите перенести виртуальную машину на другой Hyper-V с другой версией или аналогичной.

Hyper-V: клонирование машин

Разместил янв 03, 2011 |
Метки: hyper-v, копирование, windows |

К сожалению, Windows Server 2008 Hyper-V не предлагает нам опции клонирования/копирования виртуальной машины «из коробки». Однако, клонирование машины не является чем-то невозможным или сложным. Рассмотрим как это сделать, не прибегая к стороннему ПО.

К сожалению, Windows Server 2008 Hyper-V не предлагает нам опции клонирования/копирования виртуальной машины «из коробки». Однако, клонирование машины не является чем-то невозможным или сложным. Рассмотрим как это сделать, не прибегая к стороннему ПО.

Существует два пути для достижения желаемого результата:

  • Используем импорт/экспорт виртуальной машины.
  • Копирование виртуального диска и создание новой виртуальной машины, при использовании этого диска.

Минусом является то, что в обоих случаях машина в момент экспорта должна быть неактивной, поэтому я рекомендую, перед созданием набора вирульаных машин, делать одну универсальную машину, которая будет нужна только для клонирования и никогда не будет включена. Хотя можно пойти немного дальше, и сделать машину с общими для всех машин настройками (например, у нас хостинг и нужна машина с настроенной ролью IIS, или скажем рядовая машина в составе active directory с апдейтами и прочими настройками).

Теперь перейдем к подробностям.

  • Способ 1 На созданной неактивной машине, нажимаем правой кнопкой и выбираем экспорт. Указываем путь, куда мы экспортируем машину. Далее в оснастке hyper-v сделаем импорт машины, при котором укажем, что делаем копию виртулаьной машины, то есть ей будет присвоен новый идентификатор.
  • Способ 2 Делаем копию файла vhd диска виртуальной машины. Создаем в оснастке hyper-v новую машину, и указываем, какой именно файл будет файлом диска.

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

Пожалуйста, уважайте труд автора, при копировании материалов сохраняйте ссылку на источник!

Importing a Hyper-V Virtual Machine

Once a Hyper-V virtual machine has been successfully exported, the next step is to import it into the target Hyper-V Server. If the files are not already on the target server, or are not accessible via a shared folder on the original server, begin by transferring the files to the target system.

Once the files are available on the target Hyper-V server, launch the Hyper-V Manager (Start->Administration Tools->Hyper-V Manager) and click on the Import Virtual Machine link in the Actions panel. This will display the Import Virtual Machine dialog as illustrated in the following figure:

Specify, or navigate to the folder containing the exported virtual machine files and then optionally elect to re-use the original virtual machine ID for the imported virtual machine. If the original virtual machine is to continue operating within the same Hyper-V infrastructure as the exported virtual machine this option is not recommended. Also note that once the virtual machine has been exported, the folder cannot be used to import a second time (since the new virtual machine will be using the folder for the imported virtual machine).

As the virtual machine is imported, a progress dialog will be displayed. Once the import is completed the dialog will close and the virtual machine is ready to run.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Союз-Маркет
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: