Kvm перенести на hyper v
Конфигурация компьютера | |
Процессор: FX6300 | |
Материнская плата: Asus | |
Память: "Kingston" 8GB | |
HDD: SSD Virtex 120Gb, WD 500Gb, Samsung PATA 500Gb, WD 1,5 Tb | |
Видеокарта: Asus Radeon 7750 1024mb | |
Блок питания: FPS 550W | |
CD/DVD: NEC | |
Монитор: Samsung 940N | |
Ноутбук/нетбук: Lenovo | |
ОС: Windows 7, FreeBSD 10, Debian 7 (new) | |
Индекс производительности Windows: 7.0 |
Добрый день.
Есть Витруальная машина (ProxMox) основанная на KVM.
Необходимо конвертнуть KVM с расширением *.raw, в Hyper-V на Windows.
ps Поиск в гугле мало что показал, все в основном делают на оборот.
Конфигурация компьютера | |
Процессор: FX6300 | |
Материнская плата: Asus | |
Память: "Kingston" 8GB | |
HDD: SSD Virtex 120Gb, WD 500Gb, Samsung PATA 500Gb, WD 1,5 Tb | |
Видеокарта: Asus Radeon 7750 1024mb | |
Блок питания: FPS 550W | |
CD/DVD: NEC | |
Монитор: Samsung 940N | |
Ноутбук/нетбук: Lenovo | |
ОС: Windows 7, FreeBSD 10, Debian 7 (new) | |
Индекс производительности Windows: 7.0 |
Сам задал сам отвечу
Если вы переносите VM из среды Linux и там установлены KVM и QEMU
то можно воспользоваться встроенными утилитами QEMU
Для конвертации одного формата образа в другой используется опция convert:
Следом VBoxManage.exe конвертируем из vdi в vhdсоздаём машину в Hyper-V и пользуемся.
Последний раз редактировалось kaEwituS, 21-01-2015 в 11:07 .
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Конфигурация компьютера | |
Процессор: FX6300 | |
Материнская плата: Asus | |
Память: "Kingston" 8GB | |
HDD: SSD Virtex 120Gb, WD 500Gb, Samsung PATA 500Gb, WD 1,5 Tb | |
Видеокарта: Asus Radeon 7750 1024mb | |
Блок питания: FPS 550W | |
CD/DVD: NEC | |
Монитор: Samsung 940N | |
Ноутбук/нетбук: Lenovo | |
ОС: Windows 7, FreeBSD 10, Debian 7 (new) | |
Индекс производительности Windows: 7.0 |
все новые версии qemu могут портировать в любой формат.
код прежний:
Конфигурация компьютера | |
Процессор: FX6300 | |
Материнская плата: Asus | |
Память: "Kingston" 8GB | |
HDD: SSD Virtex 120Gb, WD 500Gb, Samsung PATA 500Gb, WD 1,5 Tb | |
Видеокарта: Asus Radeon 7750 1024mb | |
Блок питания: FPS 550W | |
CD/DVD: NEC | |
Монитор: Samsung 940N | |
Ноутбук/нетбук: Lenovo | |
ОС: Windows 7, FreeBSD 10, Debian 7 (new) | |
Индекс производительности Windows: 7.0 |
как ещё проще перенести Вин машину из любой виртуалки.
Скачиваем disk2vhd, запускаем на виртуальной машине, программа делает полный образ любой Win машины, и запускаем в Hyper-V
Фарумчане, прошу помощи.
Я хочу использовать qemu-img conver, но у меня нет исходного файла!
тут исходный файл 100-2008r2.raw
все новые версии qemu могут портировать в любой формат. код прежний: Код: qemu-img convert -f raw -O vhd 100-2008r2.raw 100-2008r2.vhd » |
Я ни как не могу получить доступ к этому исходному файлу. Не могу зайти на хранилище
вот хранилище:
оно не имеет Path/Target`a . я не могу его ни куда примонтировать
Примонтировать просто /dev/sda3 неполучится - это же LVM.
так же мне не помогает vgdisplay -v . Непонятно как его примонтировать.
Увижу корневую систему, но мне то нужен *.raw файл VM машины.
Есть возможность сделать бекап машины с веб морды. Но как я понял, бекапирование с морды делается vz_dump`ом. Вот лог бекапирования:
Мне всегда нравился бесплатный гипервизор Xenserver, часто его использовал. Но недавно принял решение постепенно переходить на другой гипервизор. Какой именно - еще не решил окончательно. О причинах отказа от Xenserver и общих мыслях по поводу современных гипервизоров расскажу подробнее далее. В статье рассмотрю подробно вопрос переноса виртуальных машин с Xenserver на Hyper-v.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.Введение
Статью изначально хотел написать на тему установки Xenserver 7 на mdadm raid1. Мне всегда нравился xen именно за возможность установить его на mdadm. Это позволяло использовать гипервизор на любом железе с двумя хардами, обеспечивая простую отказоустойчивость на уровне дисков. Это удобно и бюджетно. То же самое можно сделать на kvm, но лично мне у xen больше нравится оснастка управления в виде приложения для windows. В нее можно удобно подключать множество серверов и управлять всем из одного места. Как плюс, в сравнении с kvm, проще и быстрее установить и настроить в работу, передать кому-нибудь на управление.
Собственно, черновик статьи по установке Xenserver на софтовый рейд я подготовил и протестировал. На первый взгляд все работает. Проблемы начались, когда я стал проверять отказоустойчивость и отключать один хард. Как оказалось, xenserver не может нормально загрузиться, если рейд mdadm уходит в состояние degreaded. Я был очень расстроен этим фактом и потратил непрерывно почти сутки на то, чтобы разобраться с ситуацией и попробовать решить проблему. Но у меня это не получилось. И в интернете рецепта по решению проблемы тоже не нашел, но нашел подтверждение этой проблемы.
Похоже, XenServer с версии 7 больше не поддерживает работу на mdadm. Об этом даже упомянуто в официальном FAQ:
- Does XenServer support a software-based RAID implementation?
- No, XenServer does not support software RAID.
У меня до сих пор есть много виртуальных машин под управлением CentOS 5. Особенность этой версии в том, что для нормальной работы на XenServer на систему устанавливалось специальное ядро kernel-xen. В итоге, при переносе системы на другой гипервизор, она отказывалась работать. Необходимо серьезно поработать напильником, чтобы завести ее. Мне важно было отработать этот момент, так как в работе придется постепенно уходить от Xenserver в сторону либо Hyper-V, либо KVM. Пока еще не решил окончательно, так как на KVM у меня так и не получилось завести виртуальные машины с xen, а вот на Hyper-V удалось. Об этом и расскажу.
Перенос виртуальной машины с xenserver на kvm
Сам перенос виртуальной машины представляет из себя простое копирование диска с одного гипервизора на другой. Для бэкапа Xenserver я использую бесплатную версию программы Alike Free. К сожалению, ее больше нет в бесплатной редакции. Разработчики закрыли бесплатный проект, есть только триальная версия от платной. Но у меня остался и дистрибутив, и ключи для бесплатной версии. Я продолжаю ее использовать. Простая и удобная программа, которая позволяет делать инкрементные бэкапы виртуальных машин. Она же умеет выгружать бэкапы в vhd формате. Все что надо сделать для переноса виртуалки - создать такую же машину на hyper-v и в качестве диска указать перенесенный vhd образ с xenserver. Но если после этого просто запустить виртуалку, вы получите ошибку.
Ничего удивительного в этом нет, модифицированное ядро для xen работает только на самом гипервизоре. Для работы в другой среде необходимо установить стандартное ядро linux. Вот этим я и займусь далее. Задача оказалась очень непростой, пришлось много ковыряться в различных нюансах. В первую очередь, чтобы не забыть приобретенный опыт, я и пишу эту статью. Хотя понимаю, что мало кому пригодится подобный опыт. Вряд ли найдется много людей, кто будет переносить уже снятую с поддержки систему CentOS 5 с гипервизора Xen куда-то в другое место. По-хорошему, системы надо переставлять, и я этим постепенно займусь. Но все равно необходимо иметь под рукой готовую инструкцию на случай всяких неожиданностей.
Описанный ниже способ восстановления загрузки виртуальной машины является универсальным средством для решения проблем с загрузкой linux сервера. Если у вас по какой-то причине не загружается linux сервер, сломался загрузчик или возникли проблемы после обновления ядра, рассказанные далее способы обновления и замены ядра и загрузчика могут помочь в решении этой проблемы.
Восстановление загрузки linux сервера
Для того, чтобы виртуальная машина заработала на hyper-v, как я уже сказал, необходимо установить стандартное ядро. Для этого загружаемся в виртуальной машине с загрузочного диска CentOS 7 и выбираем режим Rescue a CentOS system.
Чтобы выбрать этот раздел, необходимо в главном меню выбрать Troubleshooting. Дожидаемся загрузки и выбираем первый предложенный вариант.
Сразу чрутимся в нашу восстанавливаемую систему. Первым делом надо обновить систему и установить стандартное ядро. Скорее всего через yum у вас ничего не получится, так как ссылки на репозитории centos 5 стали неактивны, после того, как 31-го марта закончилась поддержка системы. Необходимо изменить файл /etc/yum.repos.d/CentOS-Base.repo, отредактировав пути соответствующих разделов на следующие:
Все строки с mirrorlist надо закомментировать, а baseurl изменить на указанные. После этого надо настроить сеть и запустить обновление системы.
Теперь установим стандартное ядро linux, а от xen удалим.
Дальше обновим initrd. Чтобы не было ошибок, необходимо в файле /etc/modprobe.conf закомментировать все строки, в которых есть упоминание xen.
Теперь проверяем версию имеющихся библиотек ядра в системе.
Берем самую свежу версию и собираем образ initrd.
Редактируем конфиг загрузчика /boot/grub/grub.conf, чтобы он выбрал при загрузке именно эту версию ядра.
Параметр default=1 соответствует второй строке меню, так как отсчет идет от 0. То есть как раз будет выбрано нужное обновленное ядро. Обновляем загрузчик на диске.
Если получите ошибку:
Используйте такую команду:
По идее, на этом можно было бы и завершить. Мы фактически выполнили полное восстановление поломанной загрузки linux сервера. Но так как речь идет о xenserver, есть еще один нюанс. Если сейчас попробовать загрузить виртуальную машину, то все пройдет гладко почти до самого конца загрузки, а потом вылезет ошибка.
Закомментировать ее, а вместо нее снять комментарий со строки
Теперь можно перезагружать виртуалку. Она должна благополучно загрузиться. По крайней мере у меня было так.
К сожалению, указанный выше способ не смог заставить загрузиться эту же виртуальную машину на гипервизоре KVM. Не знаю почему. После выбора в загрузчике версии ядра, система просто зависает в таком положении.
И дальше ничего не происходит. Никаких ошибок при этом нет. У меня даже нет идей из-за чего это может быть и в каком направлении двигаться, чтобы запустить виртуалку. Если у кого-то есть идеи как это сделать, прошу совета. Мне бы очень хотелось перенести виртуальные машины с centos 5 на kvm. Я пробовал переносить уже восстановленные виртуалки с hyper-v на kvm, конвертировал диск с vhd в qсow2, но все без результата. Они все равно зависают точно так же, как если бы я их переносил напрямую с xenserver.
Заключение
Если у кого-то есть опыт или советы в рассматриваемых в статье проблемах, прошу поделиться в комментариях. Больше всего меня интересует вопрос установки XenServer на mdadm и перенос виртуалок с xenserver на kvm.
В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в Hyper-V через импорт/экспорт через графический интерфейс Hyper-V Manager, PowerShell и Windows Admin Center (WAC).
При клонировании виртуальных машин с Windows не забывайте о том, что после клонирования ВМ у ее копии будет такой же SID. Для сброса SID нужно использовать утилиту sysprep. Если вы создали эталонный образ Windows, то перед клонированием на нем нужно выполнить команду:%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe
ВМ будет выключена и при следующей загрузке как оригинальной ВМ, так и ее клона для Windows будет сгенерирован новый SID. Также нежелательно клонировать ВМ, включенные в домен Active Directory.
Экспорт/импорт ВМ из консоли Hyper-V Manager
Сначала нужно экспортировать ВМ в отдельный каталог.
Запустите консоль Hyper-V manager, выберите ВМ и в контекстном меню выберите Export.
Начиная с версии Hyper-V в Windows Server 2012 R2 (в том числе в Free Hyper-V Server) вы можете экспортировать даже запущенные виртуальные машины без их остановки.Укажите каталог, в который нужно экспортировать виртуальную машину.
Статус экспорта ВМ будет отображен в строке состояния ВМ в консоли Hyper-V.
Многие используют экспорт ВМ как простейшее средство бэкапа ВМ на Hyper-V.Чтобы импортировать ВМ щелкните в консоли Hyper-V Manager по имени хоста и выберите Import Virtual Machine.
Затем нужно указать путь к каталогу, в котором находятся папки с файлами импортируемой ВМ. При импорте ВМ в Hyper-V предлагается 3 варианта регистрации ВМ на хосте:
- Register the virtual machine in-place (use the existing unique ID) —зарегистрировать ВМ в каталоге с импортируемыми файлами, ID ВМ сохраняется;
- Restore the virtual machine (use the existing unique ID) — скопировать файлы ВМ в другой каталог, сохранить исходный идентификатор ВМ;
- Copy the virtual machine (create a new unique ID) — скопировать ВМ в другую каталог и сгенерировать новый ID.
Если вы попробуете импортировать ВМ с дублирующим ID, появится ошибка:
Чтобы создать клон ВМ с новым ID мы выбрали 3 вариант. Мастер предложит указать в каких каталогах нужно разместить файлы ВМ. По умолчанию, используются каталоги, заданные в настройках хоста Hyper-V.
Затем укажите каталог для хранения виртуальных дисков vhdx ВМ.
После этого новая клонированная виртуальная машина появится в консоли Hyper-V.
Клонирование ВМ через экспорт/импорт в Hyper-V с помощью PowerShell
Рассмотрим, как клонировать виртуальную машину Hyper-V через импорт/экспорт из консоли PowerShell.
Для экспорта ВМ воспользуйтесь такой командой:
Export-VM -Name win10 -Path 'C:\VHD\export'
Если вы хотите экспортировать запущенную ВМ, вы можете использовать параметр CaptuteLiveState, в котором определяется как нужно копировать оперативную память ВМ. Доступны три опции
- CaptureSavedState – экспортировать оперативную память (по-умолчанию);
- CaptureDataConsistentState – экспортировать состояние ВМ из Production checkpoint;
- CaptureCrashConsistentState – не сохранять содержимое памяти.
Export-VM -Name win10 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState
Если вы хотите экспортировать состояние ВМ в определеном снимке, нужно указать его имя.
Сначала выведите список снимков для указанной ВМ:
Get-VMSnapshot -VMName win10
Затем выполните экспорт нужного снимка по его имени:
Export-VMSnapshot -Name “win10 - (2/17/2021 - 9:52:20 PM) Standard” -VMName win10 -Path 'C:\VHD\export'
После завершения экспорта ВМ вы можете импортировать ее. Если нужно зарегистрировать ВМ по месту хранения файлов, выполните команду:
Import-VM -Path "C:\VHD\export\win10\Virtual Machines\1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx"
В параметре Path указываем расположение vmcx файла конфигурации ВМ (формат vmcx заменил XML формат конфигурационных файлов ВМ в Hyper-V Server 2016). Для копирования ВМ в другой каталог с тем же ID используйте параметр Copy. Чтобы сгенерировать нового идентификатор ВМ, используйте параметр GenerateNewId:
Import-VM -Path "C:\VHD\export\win10\Virtual Machines\1117A061-0B50-4BC2-850C-88CCD4C114FB.vmcx" -VhdDestinationPath "C:\VHD\win10_2" -VirtualMachinePath "C:\VHD\win10_2"
Также можно указать каталоги для хранения чекпоинтов ( SnapshotFilePath ) и файла подкачки ( SmartPagingFilePath ).Обратите внимание, что клонированная ВМ появилась в консоли Hyper-V с оригинальным именем. Переименуем новую ВМ, но сначала нужно получить ее ID:
get-vm | select VMNAME,VMId
Как вы видите в консоли есть две ВМ с одинаковым именем и разными ID. Нужно переименовать ВМ с ID, который отличается от ID импортируемой ВМ. Скопируйте ID новой ВМ и переименуйте ее:
Затем для удобства можно переименовать виртуальный жесткий диск.
Get-VHD -VMId 24ad8934-f650-46f6-9caa-2a3b79b79bd5| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\VHD\win10_2\win10_2.vhdx"
Изменим MAC адрес виртуального адаптера (можно указать новый статический MAC или настроить динамическое получение MAC адреса).
Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2
Прежде, чем подключить новую ВМ в сеть, желательно переименовать ее и изменить IP адрес на новый (если используется DHCP адресация, этот шаг можно пропустить). В данном случае мы можем подключиться к новой ВМ через PowerShell Direct с помощью командлета Invoke-Command или Enter-PSSession:
Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.31.50 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-Computer
Клонирование виртуальных машин Hyper-V через Windows Admin Center
Возможно клонировать ВМ Hyper-V напрямую без промежуточного экспорта/импорта появилась в Windows Admin Center v2009.
Запустите WAC, выберите раздел Virtual Machines, выберите ВМ -> Manage -> Clone.
Затем нужно указать имя новой ВМ и каталог, в который нужно поместить ее файлы.
Обратите внимание, что мастере клонирования есть опция “I have already run sysprep on my VM”. Если вы не выполнили генерализацию образа с помощью Sysprep, и не включили эту опцию, Hyper-V создаст снапшот исходной ВМ, выполните ее Sysprep и склонирует в новую (исходная ВМ будет несколько раз перезагружена и не доступна для работы). После этого исходная ВМ будет возвращена в первоначальное состояние, а снапшот удален.
При клонировании любых ВМ, с гостевыми ОС, отличными от Windows, всегда включайте эту опцию.Дождитесь окончания клонирования ВМ. Новой ВМ автоматически будет присвоен новый ID.
В данной статье мы рассмотрим как можно перенести виртуальную машину из Hyper-V в Proxmox (KVM).
Чтобы импортировать Vm из Hyper-V в Proxmox нужно конвертировать ее виртуальный диск.
Делается это в два этапа.
Первый этап это конвертирование диска Hyper-V в формат vhd.
Далее выберите диск вашей виртуальной машины
Выберите пункт преобразовать
В конце мастера укажите расположение конвертированного диска.
Подключитесь по Ssh к proxmox.
Создайте папку на датасторе (это можно сделать на примонтированном датасторе, например если вы используете датастор с ext4 или btrfs)
Далее загрузите в нее диск (например через winscp).
Мой датастор находится по пути /mnt/content/
Я создал следующую папку для диска /mnt/content/images/700/ и скопировал в нее по scp сконвертированный ранее vhd диск.
Теперь нужно запустить конвертацию vhd образа с qcow2.
qemu - img convert - f vpc - O qcow2 / mnt / content / images / 700 / VM . vhd / mnt / content / images / 700 / ADtest . local . qcow2Это довольно долгая операция.
Теперь нужно создать VM и подключить к ней сконвертированный диск qcow2.
Создайте в proxmox виртуальную машину, по характеристикам идентичную вашей изначальной машине в Hyper-V.
При создании VM выберите тип контроллера sata, иначе если будет указан тип Virtio, ваша VM не загрузится.
После создания машины удалите пустой виртуальный диск, который создал Proxmox, он нам не понадобится.
Если в Hyper-V ваша машина была второго поколения, то в Proxmox для созданной ранее машины нужно изменить тип биос на OVMF и добавить EFI диск
Добавленный EFI диск.
Теперь нужно добавить сконвертированный ранее qcow2 диск.
Сделать это можно отредактировав конфиг VM.
В интерфейсе proxmox посмотрите номер VM, в моем случае номер 700
Теперь посмотрите название Вашего датастора, на котором храниться сконвертированный диск qcow2
У меня он называется Backup_Storage
Запомните id машины и название датастора, они нам понадобятся при редактировании конфига.
Читайте также: