AXForum  
Вернуться   AXForum > Блоги > CRM, SharePoint и Черная Магия
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
  • Консалтинг
  • Проектирование
  • Разработка
  • Обучение


MVP 2010, 2011
Рейтинг: 4.75. Голосов: 4.

Перенос образов из Hyper-V в VirtualBox

Запись от Артем Enot Грунин размещена 17.12.2010 в 14:23
Теги virtualization

Недавно на одном из моих проектов случился легкий казус: нам впервые попался заказчик, использующий не-Microsoft решения виртуализации. Дело в том, что разработка прототипа привычно велась в среде Hyper-V, и вот в какой-то момент потребовалось развернуть его у заказчика. Вот тут-то и выяснилось, что заказчик использует Sun VirtualBox (в девичестве VirtualBox, ныне Oracle VM VirtualBox). В результате мне второпях пришлось искать решение, которое позволило бы быстро конвертировать диски в другой формат и переносить виртуалки на иную платформу. О полученном уроке я и расскажу в этом посте.
Первое с чем я столкнулся: две платформы виртуализации могут чудовищно плохо уживаться на одной машине. Наиболее отвратительно в данной ситуации ведет себя супервизор Hyper-V! Во-первых, эта технология (в отличие от предыдущих решений) не может работать на железе без аппаратной поддержки виртуализации, такой как Intel VT и AMD-V. Во-вторых, Hyper-V скрывает от пользователя (включая хостовую машину!) ряд инструкций процессора, в том числе те что отвечают за поддержку виртуализации! Иными словами, монополизирует некоторые возможности платформы для своих нужд! Подробнее об этом можно прочитать тут: Работа процессора в Hyper-V. На практике это обозначает, что в одной системе не удастся нормально использовать Hyper-V и VirtualBox. Во-первых VirtualBox не сможет использовать аппаратное ускорение (что приведет к чудовищному "торможению" системы), во-вторых, что куда печальнее, VirtualBox не сможет хостить 64 разрядные гостевые системы. Помимо этого, различные технологии виртуализации используют различные подходы к реализации сетевых подключений. Могут использоваться дополнительные драйверы и протоколы сетевых подключений, создаваться виртуальные сетевые адаптеры и т.д. Иногда установка конкурирующих решений на хостовой машине может приводить к понижению скорости работы сети, или полной ее неработоспособности. Итак, для конвертирования образов вам потребуется выденная машина. Погасить службу Hyper-V недостаточно, придется деинсталлировать роль.
Второй важный момент переезда - это дополнения которые ставятся в гостевую операционную систему для улучшения взаимодействия с супервизором. Это могут быть средства удаленного выключения, поддержка буфера обмена, синхронизация системного времени и пр. пр. пр. Совершенно непредсказуемо, как эти компоненты поведут себя после переезда, так что их следует удалить еще до переноса, в родной виртуальной среде. В случае с Windows Server 2008 R2, эти службы устанавливаются автоматически и с высокой долей вероятности будут причиной падения на других платформах. В настройках самого гипервизора эти службы выглядят так:

Нажмите на изображение для увеличения
Название: integrationServices.png
Просмотров: 11047
Размер:	93.0 Кб
ID:	92

А так они выглядят в оснастке "Службы" гостевой операционной системы Windows Server R2:

Нажмите на изображение для увеличения
Название: Службы.png
Просмотров: 10665
Размер:	35.6 Кб
ID:	96

Чтобы гарантировать успешный переезд, остановите эти службы и отключите их автозапуск.
Далее мы будем работать только с виртуальным жестким диском, поэтому выключите виртуалку, чтобы с ним не производилось никаких операций.
Если в процессе разработки вы использовали снапшоты (снимки системы), их необходимо смергевать в основной образ. Для этого можно просто удалить все снимки, или, если вы рассчитываете продолжить разработку в среде Hyper-V и эти снимки вам нужны, то вы можете смергевать все изменения в отдельный диск. Для этого, зайдите в оснастку Диспечер Hyper-V непосредственно на виртуальном сервере (на удаленной машине фокус не получится из-за бага) и в разделе управления сервером выберите пункт "Изменить диск":

Название: changeDrive.png
Просмотров: 7357

Размер: 8.1 Кб

Выберите наиболее поздний образ AVHD (тот где отключены службы интеграции Hyper-V) нужной вам виртуалки. Из-за глюка, при подключении с удаленной машины эти файлы не будут видны - используйте серверную консоль. Выберите пункт "Объединить" и укажите куда сохранить объединенный VHD файл:

Нажмите на изображение для увеличения
Название: mergeDrive.png
Просмотров: 10403
Размер:	23.7 Кб
ID:	93

Теперь остается только правильно подключить его к виртуальной машине VirtualBox. Создайте новую виртуальную машину VirtualBox и выберите нужный вам тип гостевой операционной системы с нужной вам разрядностью:

Нажмите на изображение для увеличения
Название: newVM.png
Просмотров: 10079
Размер:	60.6 Кб
ID:	95

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

Нажмите на изображение для увеличения
Название: drive.png
Просмотров: 10728
Размер:	126.2 Кб
ID:	91

Если подключить диск при создании виртуалки, то по умолчанию VirtualBox подключит его к интерфейсу SATA, и машина будет "кувыркаться" с ошибками при загрузке. Что делать если в Hyper-V вы использовали интерфейс SCSI? Понятия не имею! Зачем вы это сделали? Теперь вам конец.
Вот теперь все готово к запуску. Машина должна запускаться и работать "как тут и была".
Если у вас есть желание или необходимость использовать "родные" форматы файлов, то в интернете есть куча конвертеров которыми вы можете воспользоваться. Мне, например, удалось конвертировать VHD в VDI (формат дисков VirtualBox) при помощи утилиты NHC. Процесс занимает длительное время, но машина так же успешно запустилась. Кроме того, утилита имеет действительно интуитивно понятный интерфейс класса "Далее-Далее-Далее", иначе я бы в ней никогда не разобрался:

Нажмите на изображение для увеличения
Название: nhc.png
Просмотров: 10487
Размер:	26.1 Кб
ID:	94

Напоследок расскажу о моих впечатления относительно VirtualBox. ВЕЩЬ! Просто, быстро, удобно, понятно. Поддержка нормального буфера обмена, USB, аппаратное ускорение 2D/3D графики и звука, а так же возможность запускать x64 системы на 32 разрядной гостевой системе (если процессор поддерживает x64 и VT), убедили меня в том кто лидер в области визуализации. В конечном итоге вот ЭТО мне нужно как конечному пользователю, а не знаменитая кластеризация Hyper-V.
В вопросах виртуализации я еще тот специалист, так что если у вас есть какие-то замечания и дополнения - пишите!
Размещено в Без категории
Просмотров 356786 Комментарии 2
Всего комментариев 2

Комментарии

  1. Старый комментарий
    Замечательный пост, спасибо... Недавно сам мучился с миграцией, не сделал... Вот из-за интерфейса диска...
    Сейчас бьюсь над другой проблемой..
    Есть сервер НР, на нем WinServer 12 c Hyper-V, убивать его нельзя, там AD, DNS, DHCP, на другой виртуалке SQL. Есть необходимость в третьей виртуалке под Oktell, но никак не могу установить на WinServer 2008r2 звук, без него не работает Oktell.
    В сервере-12 звук определяется как "Удаленное устройство". В виртуалку никак не могу добавить звуковое устройство. И установить VMW на серв не получится, по причиние вами описанной, не видит процессор для 64-битной системы..
    USB виртуалка хайпервишная тоже не видит, так бы воткнул USB гарнитуру и вот тебе звуковое устройство.. Но это не VMW.. )
    Есть идеи?
    Запись от Gari размещена 05.06.2013 в 22:34 Gari is offline
  2. Старый комментарий

    Спасибо

    Ооочень спасибо. Замечательное решение. Иначе надо через VMware (VHD -> VMDK) с помощи "free converter" (Startwind V2V), потом VirtualBox дружит с VMware.
    Запись от cttnbg размещена 04.07.2015 в 11:31 cttnbg is offline
    Обновил(-а) cttnbg 04.07.2015 в 11:35
 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:08.