Назад | Перейти на главную страницу

Преобразование Linux-машины с XenServer на Hyper-V

Я в процессе преобразования последних нескольких виртуальных машин XenServer в Hyper-V.

Большинство из них были машинами Windows, и я сделал резервную копию и восстановил с помощью Windows Backup. Для некоторых окон я использовал процесс экспорта XenServer для создания файла XVA, а затем преобразовал его в VHD, которые затем можно было использовать в Hyper-V.

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

Я создал XVA, я использовал Xenconvert для преобразования и создания виртуальных жестких дисков, но когда я подключил их к виртуальной машине Hyper-V, у меня просто мигал курсор. Проведя небольшое исследование, я считаю, что это из-за другого названия жестких дисков. Например оригинальная машина в /dev/ покажет xvda, xvda1..... но в Hyper-V я считаю, что это будет sda, sda1......

Вот где я немного заблудился ... Я загрузил одну из машин в меню загрузки на преобразованной машине и посмотрел на меню и варианты аргументов, но я не нашел ссылки на xvda. Итак, либо мои предположения неверны, либо я ищу не в том месте, либо и то, и другое?

Любая помощь будет принята с благодарностью, даже если предлагается сделать это совершенно по-другому.

РЕДАКТИРОВАТЬ1: (Добавление информации меню загрузки)
Если я выберу первый пункт в меню загрузки и нажму e Мне представлены следующие

root (hd0,0)  
kernel /vmlinuz-2.6.32-573.12.1.e16.x86_64 ro root=dev/mapper/VolGroup-lv_root rd_NOLUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us rd_LVM_LV=VolGroup/lv_swap SYSFONT=latacyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root rd_NO_DM
initrd /initramfs-2.6.32-573.12.1.e16.x86_64.img

РЕДАКТИРОВАТЬ2: (Версия для Linux и fstab)

Версия для Linux - Centos 6.7.

копия / etc / fstab (я сделал удар и попытался изменить UUID на UUID нового диска, но это, похоже, не сработало

РЕДАКТИРОВАНИЕ ОТВЕТА: Я думал о вашей проблеме и думаю, что rsync или dd backup / restore могут быть вашим лучшим выбором. Если вы используете динамически растущий vhdds, то rsync, вероятно, ваш лучший выбор, а если вы используете статически определенные диски, то dd, вероятно, ваш лучший выбор.

Опция 1: Во-первых, вам нужно будет создать общий ресурс samba или cfs или подключить физический диск каким-либо другим способом для резервного копирования данных. После того, как вы подключили место назначения резервной копии, вам нужно будет запустить команду rsync или dd для резервного копирования диска.

Пример Rsync (с использованием Arch): https://wiki.archlinux.org/index.php/full_system_backup_with_rsync

Пример DD: http://www.thegeekstuff.com/2010/10/dd-command-examples/

Я почти уверен, что вы можете передать rsync в gzip, если хотите создать переносимый файл.

Затем вы должны установить Centos на новую машину Hyper-V. Затем вам нужно выполнить задачу по восстановлению резервной копии (которая будет отличаться в зависимости от команды, которую вы использовали для ее создания).

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

Вариант 3: Создайте новый файл VHD / VHDX с помощью Hyper-V, а затем прикрепите и подключите его к гостевому серверу Xenserver, который вы хотите скопировать, и сделайте резервную копию напрямую таким образом.

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

ОРИГИНАЛЬНЫЙ ОТВЕТ:

Если вы используете LVM, жесткие диски не должны вызывать проблемы, а HD-ссылки должны быть неповрежденными после преобразования, но я не эксперт. У меня достаточно опыта работы с Linux под Hyper-V, но я не конвертировал машины XenServer в Hyper-V. При этом ошибка, которую вы видите, подсказывает мне, что это может быть проблема с ядром Linux. Было бы полезно знать, какой дистрибутив Linux вы используете.

XenServer имеет два типа виртуальных машин:

Виртуальные машины HVM - они идентичны виртуальным машинам Hyper-V и не требуют изменений. Эти виртуальные машины можно преобразовать в машины Hyper-V обычными способами (скопируйте виртуальный жесткий диск или используйте System Center 2012 Virtual Machine Manager (VMM) в соответствии с рекомендациями Microsoft).

PV виртуальные машины - это виртуализированные виртуальные машины, у которых нет ядра полной загрузки. Они привязаны к ОС виртуальной машины и используют часть загрузчика для начальной загрузки машины. Вам необходимо заменить ядро ​​PV (kernel-xen) в виртуальной машине на ядро ​​pae (kernel-pae).

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

http://itproctology.blogspot.ca/2009/06/pv-enables-hvm-from-vmware-on.html

В этом ответе предполагается, что вы используете PV-ядро на виртуальной машине Xenserver, и предполагается, что это проблема, вызывающая сбой загрузки. Также предполагается, что вы уже пробовали использовать System Center 2012 Virtual Machine Manager (VMM) для преобразования виртуальных машин (в соответствии с рекомендациями Microsoft, шаги показаны по следующей ссылке):

https://technet.microsoft.com/en-ca/library/gg610672.aspx

Заключительные примечания:

  • Я могу попробовать отключить безопасную загрузку и посмотреть, имеет ли это значение.
  • Обязательно следуйте рекомендациям Microsoft для виртуальных машин Linux (в зависимости от используемого вами дистрибутива). Их можно найти по следующим ссылкам, и вы можете попробовать внести эти изменения в виртуальную машину. перед выполнением процесса экспорта (обязательно сначала сделайте резервную копию вашей виртуальной машины):

Универсальная виртуальная машина Linux под управлением Hyper-V: лучшие практики: https://technet.microsoft.com/en-ca/library/dn720239.aspx

Виртуальные машины Linux для конкретных дистрибутивов в соответствии с рекомендациями по Hyper-V https://technet.microsoft.com/en-ca/library/dn531030.aspx

Наконец, вот как выглядят мои параметры ядра Linux (Ubuntu / Debian) для моих виртуальных машин (в / etc / default / grub, не забудьте после этого запустить sudo update-grub):

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768 elevator=noop numa=off"

Параметр video = hyperv_fb будет работать только после того, как на виртуальной машине установлены инструменты интеграции Hyper-v (зависит от дистрибутива).

Я знаю, что этот ответ приходит с опозданием, но я подумал, что расскажу, как я это обошел. Я также искал ответ на миграцию виртуальных машин CentOS7 с XenServer 6.5 на Hyper-V 2016. Я пробовал все, от Starwind до экспорта в виде устройства XVA и преобразования его с помощью XenConvert 2.3.1, но безрезультатно.

Решение на самом деле очень простое и сработало с первого раза: Загрузите этот ISO - https://sourceforge.net/projects/boot-repair-cd/

Шаги высокого уровня, которые я предпринял:

  1. Экспорт виртуальной машины XEN в OVA (или преобразование устройства .xva XEN с помощью любого инструмента, например Starwind)
  2. Создайте НОВУЮ виртуальную машину в Hyper-V и подключите ранее экспортированный VHD.
  3. Смонтируйте ISO по ссылке выше в DVD / CDROM приводе новой виртуальной машины Hyper-V и загрузитесь с него.
  4. Следуйте инструкциям (NB !!! Убедитесь, что к виртуальной машине подключен сетевой адаптер, который подключается к внешней сети, которая передает DHCP и доступ в Интернет)
  5. Выберите автоматическое восстановление (NB !! на этапе переустановки GRUB вам может потребоваться изменить команду yum, в моем случае мне пришлось использовать - «yum erase grub *» вместо «yum erase grub * -common»
  6. Перезагрузитесь и наслаждайтесь виртуальной машиной Linux, работающей на Hyper-V :)

Ссылка на xvda есть в вашем конфиге xen.

Например:

# Created Mon Oct 12 08:38:43 CEST 2015

name='clone0'

kernel='/etc/xen/vm-kernels/vmlinuz-3.2.0-4-amd64'
ramdisk='/etc/xen/vm-kernels/initrd.img-3.2.0-4-amd64'

memory=256

# Networking
nics   = 1
vif = [ 'bridge=xenbr0' ]
disk  = [ 'phy:/dev/vg0/clone0.root,xvda1,w', # there you can rename device name
          'phy:/dev/vg0/clone0.swap,xvda2,w'  # in you VM
        ]

root   = '/dev/xvda1 ro'  #this tell boot device 

on_reboot = 'restart'
on_crash = 'restart'

vcpus = 1