Перенос виртуальной машины vmware на proxmox
Есть ли возможность перенести гостевые виртуалки с vmware workstation на proxmox так, чтобы получить + по производительности и без потери данных? Win 2012, внутри виртуалок поднят домен.
Да, переносил и все работало. Только для контроллера домена сразу отруби синхронизацию времени с гипервизором, иначе сломаешь домен.
А как ты переносил машины? По гайду, который висит на вики proxmox’a?
1. создал новую виртуалку Windows на proxmox (выделил ей оперативы проца, сетевуха intel e1000, отрубил синхронизацию времени с гипервизором)
2. потом скопипастил vmdk на proxmox
3. сконвертил vmdk в raw средствами qemu-img convert
4. подменил диск виртуалки из первго шага на тот что вышел после конвертации.
и, вроде, больше ничего не делал. Но за давностью мог чего-то позабыть, может быть и гайд где-то юзал.
но это все может оказаться индивидуальным
Я переносил виндовые виртуалки с hyper-v на proxmox, с помощью paragon hard disk manager: сконвертил образ в qcow2, подключил к виртуалке в proxmox, в парагоне сделал подготовку ОС к P2P миграции, запустил винду в проксмоксе. При загрузке винда перенастроила железо и все четко заработало.
Спасибо всем! Миграция прошла отлично.
Там можно почитать об установке драйверов virtio на готовые машины
Спасибо всем! Миграция прошла отлично.
Миграция была на новое железо, или смена vmare на kvm? И как дела с производительностью?
На то же самое. Запрос, который выполнялся к MsSQL на варе 13 секунд, сейчас выполняется 6.
Миграция виртуальных машин из VMware в Proxmox
Популярность системы виртуализации Proxmox-VE растет с каждым днем во многом благодаря ее разносторонним возможностям. Иногда возникает необходимость в перемещении ряда гостевых машин из одной среды виртуализации в другую. Как переместить KVM виртуальную машину с диском формата qcow2 я показывал ранее в статье — Импорт kvm виртуалок в Proxmox. Теперь хотелось бы рассказать как осуществить аналогичный процесс из среды vSphere. Не часто, но такая необходимость может возникнуть у любого системного администратора. Сама миграция в целом технически не сложная, однако требует знания определенных нюансов, для получения нужного результата. Как учесть эти тонкости и по шагам провести процесс транзита виртуальных машин из VMware в Proxmox показано далее в статье.
Процесс миграции
Из имеющихся возможных вариантов проведения перевода виртуальной машины из среды vSphere в среду Proxmox покажу простейший и как мне кажется наиболее прямолинейный способ.
Во-вторых, загружаем все файлы, полученные в результате предыдущей операции, на сервер Proxmox. Это можно сделать с помощью команды scp в Linux/MacOS или pscp в Windows.
В-третьих, когда все файлы будут загружены, можно начать импорт этих файлов в Proxmox-VE. Пример команды в CLI для импорта ВМ приведен ниже.
Так 101 — это номер создаваемой виртуалки в Proxmox, a local-lvm — датастор, на котором будут находиться файлы данной ВМ. После того, как импорт будет полностью завершен, рекомендую выполнить следующие действия со вновь созданной виртуалкой:
В-четвертых, пришло время запускать импортированную нами виртуальную машину. Так как в средах vSphere и Proxmox наименование сетевых адаптеров различается, необходимо через VNC консоль гипервизора произвести их переконфигурацию. После этого должна появиться связь с виртуальной машиной из сети. Соответсвенно можно будет заходить на нее удаленно и выполнять дальнешие действия через SSH или RDP. В ряде случаев для нормального функционирования определенных сервисов потребуется перезагрузка гостевой машины.
В-пятых, нам необходимо отключить vmware-tools, и включить qemu agent. Так, например, в случае с использованием Ubuntu Linux в качестве гостевой ОС, нам нужно выполнить две команды в шелле виртуальной машины.
В-шестых, после процедуры импорта, все диски гостевой машины в Proxmox будут занимать полное место на датасторе, вне зависиомсти от использования функионала Thin Provisioning. Если мы используем данную технологию, то необходимо в шелле гостевой машины выполнить следующую команду, чтобы освободить на датасторе неиспользуемое место.
В-седьмых, после того, как все необходимые действия по переносу будут выполнены, рекомендую удалить полностью первоначальную ВМ из среды vSphere. Кроме этого удаляем все ненужные файлы, которые создавались или копировались в процессе проведения работ по миграции. На этом операцию по миграции можно считать успешно выполненной и полностью завершенной.
Резюме
Алогиртм, расписанный в этой статье, сам по себе не сложный и позволяет в случае необходимости плавно перенести нужное количество гостевых машин из среды VMware в среду Proxmox-VE. Однако, надо понимать, что большая часть задач требует ручного выполнения и отнимает определенное время. В остальном, процесс миграции не должен вызвать затруднений у читателей моего блога.
Migrate VMWare ESXi Virtual Machines to Proxmox KVM with LVM-Thin Logical Volumes
Martin Seener
Read more posts by this author.
Martin Seener
Recently we decided to move away from VMWare ESXi because we want to scale out but don’t want to buy expensive licenses just for virtualization. We evaluated different solutions and got stuck with Proxmox and it’s KVM virtualization. We have always used Debian-based VMs so KVM was a logical decision. Also Proxmox allows us to use containers and cluster-based migrations if we want to.
A problem we ran into was, that we had to migrate some ESXi VMs with their vmdk file disks to the new LVM-Thin-based storage method introduced in Proxmox. I really like the idea, that each virtual machine has it’s own logical volume on the bare metal disk which is much easier to maintain with the hosts LVM.
The problem however was, how do we migrate vmdk disk files to a logical volume?
I’ll show you the solution here as well as a wrinkle we stumbled on.
Copying the vmdk disk files to Proxmox
Because you need root right for the later dd command, i assume you’re root all the time. If not, you have to use sudo if necessary.
We could now create a rsa-keypair for ssh but as we already had separate users on the ESXi machine, it was easier to just use password authentication for pulling the vmdk files over to proxmox.
Replace with the actual name of the VM. The actual name of the datastore datastore1 can be different on your system.
The vmdk file will now be copied over from the ESXi to the tmp folder of the Proxmox server. Please keep in mind, that you need enough free space in /tmp before copying over the VM. Choose another folder if it doesn’t fit in tmp.
Migrate VMDK to RAW disk files
The next step is really straightforward. Since we want to have the disk contents and all of it’s partitions in the logical volume later, we have to migrate the vmdk file to a RAW disk image first. This can be done directly on the Proxmox host using qemu-img :
Please keep in mind that you now need the VM’s disk size twice for the second image!
Recreate the VM on Proxmox
The next step is to recreate the ESXi VM on the Promox host again. So just create one with the same amount of RAM, CPU and disk size. The latter is rather important as it should be at least the same size as the old VM, for safety reasons maybe a bit larger.
Please remember the VM id from the new Proxmox VM. It should be something like 101 or 112 depending on how much VMs you’ve already created.
Back on the commandline check the exact logical volume name in the LVM where we want to copy the VMs raw disk into.
In our case the new VM has the id 117.
Copying the raw disk to the LVM Logical Volume
Since dd doesn’t provide a progress bar itself, i’ve installed pv and gave it the size of the image file, so we have a progress bar while copying the data. Run the following command in the folder where your raw disk image lies. In our case it’s /tmp
Afterwards you can check the fillup of the logical volume again. Please check the «Mapped size» value:
So you can see that the raw disk image filled up the logical volume by about 83%. You could recreate the VM again with a smaller logical volume size if you have scarce disk resources.
After successful copying the image just start the new VM!
Additional Informations about disk controllers and other hardware
For the disk controllers we had a little wrinkle on Jessie machines. When you move Squeeze machines, the virtio driver is automatically loaded on boot time and the new disk is recognized immediately and root can be booted without a hitch. But on Jessie machines this is not the case.
I’am not really sure about the initial problem here but i think that the initramfs disk generated by Jessie only contains the modules/drivers it needs for the actual machine it’s running on. The solution to successfully boot the machine on a virtio-disk was to add the modules and recreate the initramfs with the forced load of additional modules. The following commands have to be run on the (to-be-migrated) VM on ESXi:
The latter command updates the initramfs disk with verbose output so you are able to check if the virtio modules have been loaded into the new ramdisk.
I assume that loading the virtio-blk module should be enough to fix the problem but i haven’t tested it yet as we needed the other modules nevertheless.
After the migration and successful boot of the old VM on the new Proxmox host you can safely delete the copied vmdk file and it’s converted raw disk cousin as well as the whole VM on the ESXi host.
Conclusion
Initially i thought this can be a tough problem but after some googling and tryout the solution was rather simple and logical. The mentioned virtio-blk module problem was harder and took me a couple of hours to find out. I hope i’m able to help other people with the migration as this should be quite similar with other source virtualizations like Virtualbox as well.
If you have questions or need more informations about thin-provisioned disks or something, let me know in the comments!
Proxmox миграция на VMWare
Нужно мигрировать виртуаки с Proxmox (lxc) на VMWare.
На хосте Debian GNU/Linux 9.5
Виртуалка Debian GNU/Linux 8.10
В какую сторону копать?
Вы хотите lxc контейнер превратить в нормальную вирт машину?
И что такого ценного в этом контейнере чтоб, так извращатся? Если просто создать норм вирт машину и в эту вирт манину перекинуть все данные sql-dump, скрипты просто переносим, web ну тут все просто. Как по мне lxc это просто контейнер с данными, и его не стоит переносить прям вот так как Вы хотите. ПЕРЕНЕСИТЕ только данные из контейнера в вирт машину.
Я по сути rsync и делаю просто вытаскиваю из бэкапа из тара. Но не взлетает. Есть подозрение что в контейнере что то удалено, в конфигах прописано «не использовать» изза чего виртуалка не стартует. Вот и хочу понять что.
И что такого ценного в этом контейнере чтоб, так извращатся?
Если бы вопрос был в 1 вм то да. Но тут пол сотни и «лучше пол дня потерять потом за 5 минут долететь». По этому сейчас скриптую задачу.
За дебиан не уверен, но предполагаю, что он собирает в initramfs только загруженные в данный момент модули. И ata_generic в них не входит. Соответственно в конфиге инитрамфс нужно зафорсить добавление этого модуля и пересобрать.
не хватает ядра, вероятно )
и граб надо установить и настроить.
Оу, я извиняюсь, просмотрел что ядро поставлено.
Но тут пол сотни и «лучше пол дня потерять потом за 5 минут долететь». По этому сейчас скриптую задачу.
Оу, я извиняюсь, просмотрел что ядро поставлено.
Соответственно в конфиге инитрамфс нужно зафорсить добавление этого модуля и пересобрать.
или вы просто менеджер который тыкать мышкой умеет
Ок.
Все что могу сказать тогда по опыту только ручное (да можно) замастырить скрипт, но только под один lxc, и его тянуть к одному контейнеру но так как у вас задача стоит OVER +50 то тут думаю только ручками + ночью с кофе (ну или кто что предпочитает)
НО ВОПРОС за чем с (фри на бабосы) переползать.
Так чтоб мож пригодилось, почему бесплатное хуже платного (купленного)
он собирает в initramfs только загруженные в данный момент модули. И ata_generic в них не входит.
В конфиге модули указаны (выше листинг), но в самом ините их нет
Взял vmliniz и initrd версии 4.9.0-8.amd64 c live от Debian 9.6. Загрузился с ним, обновил Initrd, удалил ненужное.
В таком виде все заработало. Но почему на хосте proxmox генерировался пустой (без модулей) initramfs?
Импорт kvm виртуалок в Proxmox
Система виртуализации на базе Proxmox все больше набирает популярность при создании IT инфраструктуры в последнее время. Данное решение объединяет в себе черты профессиональной системы виртуализации с возможностью создания кластеров и централизованного управления с одной стороны. А также все свойства Open Source продукта с другой стороны. При миграции на данную систему управления виртуализации Вам скорее всего придется столкнуться с задачами импортирования виртуальных машин как из среды VMware, так и работающих под управлением гипервизора kvm. Как это сделать легко и просто со вторым типом виртуальных машин, используемых в open source среде хочется рассказать поподробнее.
Последовательность действий
Для начала миграции kvm виртуальной машины ее необходимо выключить на хосте источнике. После этого найти образ жесткого диска, который используется в виртуальной машине. Данный образ копируется на хост назначения с Proxmox, на котором мы будем проводить импорт. Допустим, образ нашего диска называется kvm_virtual_disk.qcow2.
Теперь создадим виртуальную машину в гипервизоре Proxmox с помощью утилиты qm. Данная программа одна из нескольких, часто используемых для управления и настройки Proxmox VE. В данном примере идентификатор машины будет 222, в реальной жизни используем любой свободный в нашей среде виртуализации. Также рекомендую использовать на всех виртуальных машинах qemu agent, для обеспечения более полного взаимодействия между гипервизором и виртуальной машиной. Для этого при создании ВМ добавляем опцию —agent enabled=1. Пример команды qm, создающий виртуальную машину, представлен ниже.
Когда операция успешно завершится, проводим заключительную операцию по привязке диска к виртуальной машине с помощью все той же утилиты qm. Это делается следующим образом.
После этого донастраиваем параметры CPU, Memory, если надо сетевых интерфейсов в веб панели Proxmox. Теперь наша виртуалка полностью импортирована и готова к работе в среде Proxmox. Осталось запустить ее и дождаться отклика в консоли.
Заключение
Небольшая статья показывает основные моменты для импорта виртуальных машин kvm в гипервизор Proxmox. Хотя, в гипервизоре есть удобный веб интерфейс для управления, однако, все основные действия в данном случае приходится делать с помощью утилит командной строки. С учетом того, как хорошо развивается проект Proxmox VE в целом, можно предположить, что в скором будущем данный функционал будет доступен и в веб интерфейсе.