Как стать автором
Обновить

Переносим CentOS5 с VirtualBox под Hyper-V и ставим Linux Integration Services

Время на прочтение3 мин
Количество просмотров16K


Здравствуйте.

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.
Теги:
Хабы:
+29
Комментарии21

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн