Преобразование 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

EDIT2: (Версия Linux и fstab)

Версия Linux - Centos 6.7

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

5
задан 11 February 2016 в 12:21
3 ответа

РЕДАКТИРОВАНИЕ ОТВЕТА: Я думал о вашей проблеме и думаю, что 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 vms и предполагает, что это проблема, вызывающая сбой загрузки. Также предполагается, что вы уже пробовали использовать System Center 2012 Virtual Machine Manager (VMM) для преобразования виртуальных машин (в соответствии с рекомендациями Microsoft, шаги показаны по следующей ссылке):

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

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

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

Universal Linux VM в соответствии с лучшими практиками 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 (зависит от дистрибутива).

4
ответ дан 3 December 2019 в 01:30

Ссылка на 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
0
ответ дан 3 December 2019 в 01:30

Я знаю, что этот ответ приходит поздно, но я подумал, что расскажу, как я это обошел. Я также искал ответ на миграцию виртуальных машин 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 :)
2
ответ дан 3 December 2019 в 01:30

Теги

Похожие вопросы