Virtualbox и hyper v на одной машине. Организация переключения между гипервизором VirtualBox и Hyper-V
Здравствуйте.
1. Приступая к переносу, для начала сконвертируем.vdi жесткий диск от VirtualBox в.vhd диск Hyper-V
В каталоге VirtualBox выполняем команду конвертации образа.vdi в.raw
VBoxManage.exe internalcommands converttoraw d:\project\project.vdi d:\project.raw
Ищем и ставим WinImage, запускаем, выбираем Disk -> Convert Virtual Hard Disk Image,
тип файлов *.*, открываем.raw образ, сохраняем как динамически-расширяемый образ.vhd
2. Создаем новую виртуальную машину в Hyper-V, использую Legacy сетевую карту, так как синтетическая сетевая карта не заработает до установки Linux Integration Services.
3. Удаляем VirtualBoxAdditions из CentOS
в каталоге /etc/init.d/
командой
chkconfig --del «vboxadd»
chkconfig --del «vboxadd-service»
chkconfig --del «vboxadd-x11»
Затем удаляем из каталога /etc/init.d эти файлы (vboxadd, vboxadd-service, vboxadd-x11)
4. Идем в настройки Hyper-V, ставим статический mac адрес сетевой карте
Затем в линуксе идем по пути
/etc/sysconfig/network-scripts/
редактируем файл ifcfg-eth0 (либо ifcfg-seth0) и прописываем по аналогии:
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.10.10.255
HWADDR=00:01:02:03:04 (берем из настроек hyper-v)
IPADDR=10.10.10.10
NETMASK=255.255.255.0
NETWORK=10.10.10.0
ONBOOT=yes
Либо поступаем еще проще, запускаем в консоли system-config-network-tui
и настраиваем eth0 (физический адаптер) либо seth0 (синтетический адаптер).
Перезагружаем линукс.
5. Обновляем CentOS, набираем в консоли:
yum update
yum groupinstall «development tools»
reboot
6. Качаем Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2 , распаковываем и монтируем.iso в виртуальную машину в окне hyper-v.
Установленный Linux Integration Services дает нам:
- Driver support for synthetic devices - синтетический ethernet адаптер, более быстрый чем legacy erhernet
- Fastpath Boot Support for Hyper-V - более быструю загрузку виртуальной машины
- Timesync - синхронизация времени с хостовой машиной
- Integrated Shutdown - возможность выключать линукс из оснастки hyper-v
- Symmetric Multi-Processing (SMP) Support - поддержку до 4 процессоров
- Heartbeat - возможность мониторинга состояния гостевой ОС
- Pluggable Time Source
Из нереализованного:
- Integration Services: Data Exchange, Volume Snapshot Backup
- Networking: Jumbo Frames and TCP Offload
- Storage: Hot Add/Remove (VHD‟s and Passthrough Disks)
7. Монтируем Linux Integration Services v2.1 ISO:
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
Копируем файлы на жесткий диск:
mkdir /opt/linux_ic
cp -R /mnt/cdrom/* /opt/linux_ic
umount /mnt/cdrom
Устанавливаем Linux Integration Services,
cd /opt/linux_ic
make
make install
Пока не перезагружаемся. Если у вас RedHat5.5 (а у нас CentOS 5.5), то нужно зайти в
/boot/grub/grub.conf файл и поменять hda=noprobe hdb=noprobe
на ide0=noprobe ide1=noprobe
. Если не поправить grub, то поймаем панику ядра после перезагрузки:
Делаем reboot в консоли и радуемся корректной работе CentOS 5.5 под Hyper-V.
PS:
Подводные камни:
1. Сперва не мог понять, почему линукс при загрузке не цепляет сетевуху от hyper-v, гугление подсказало, что нужно сперва использовать legacy сетевую карту.
2. По инструкции, которая шла с Linux Integration Services v2.1 ничего не получалось, пока не нагуглил волшебную команду yum groupinstall «development tools», пакету не хватало этих вот инструментов разработчика, ну и заодно ядра посвежее.
3. Наконец-то поставил LIS, радостная перезагрузка и… kernel panic. Вдумчивое чтение документации подсказало, что нужно править grub.
Параллельно тестируя их. С утра же, когда устанавливать операционные системы, оказалось, что в VirtualBox вылетает ошибка «Не удалось открыть сессию для виртуальной машины». Код ошибки на скриншоте ниже. Дескать не поддерживается технология виртуализации. Проверил ещё раз настройки BIOS для надёжности - всё в порядке. Настройки VirtualBox и виртуальной машины так же в норме. Оказалось, что просто конфликтуют две программы, а точнее Hyper-V от Microsoft забирал виртуализацию на себя. Решается эта проблема удалением Hyper-V.
Итак, ошибка вот такая:
Удаляем Hyper-V:
Нажимаем Win + R , вводим OptionalFeatures и нажимаем Enter . Или же открываем:
Панель управления ➝ Все элементы панели управления ➝ Программы и компоненты ➝ Включение и отключение компонентов Windows
В открывшемся окне Компоненты Windows снимаем отметку с раздела Hyper-V .
Жмём ОК и перезагружаем компьютер. После этого в VirtualBox необходимо создать новую виртуальную машину и можно начинать с ней работать.
Спасибо, что читаете! Подписывайтесь на меня в социальных сетях Виды смайликов и их значение