Home » Виртуализация » KVM » Конвертация дисков qcow2 -> lvm в KVM (Proxmox)

Конвертация дисков qcow2 -> lvm в KVM (Proxmox)

Занимался на днях переносом виртуальных машин с обычного kvm гипервизора на proxmox. На исходном гипервизоре диски виртуальных машин были в формате qcow2. Я решил заодно сконвертировать диски из qcow2 в lvm и написать заметку об этом, чтобы не забыть.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Для тех, кто не знает, в чем разница между разными форматами дисков в гипервизоре KVM, предлагаю почитать об этом в моей статье на тему бэкапа виртуальных машин kvm. В общем случае, сконвертировать диски qcow2 в lvm можно следующим образом. Сначала преобразуем их в raw формат с помощью qemu-img.

# qemu-img convert /mnt/data/images/102/vm-102-disk-0.qcow2 -O raw /mnt/data/images/102/vm-102-disk-0.raw

Далее raw образ переносим на новый сервер. На нем же к виртуальной машине подключаем новый диск из lvm хранилища такого же размера, как raw образ. Далее в консоли proxmox выполняем конвертацию в lvm с помощью обычного dd.

# dd if=/mnt/data/images/102/vm-102-disk-0.raw of=/dev/pve/vm-102-disk-0

Все то же самое можно сделать одной командой на новом сервере, перенеся туда диск в формате qcow2.

# qemu-img convert -p -n -f qcow2 -O raw /mnt/data/images/102/vm-102-disk-0.qcow2 /dev/pve/vm-102-disk-0

Последняя команда qemu-img будет работать медленнее, чем dd из предыдущего примера. Каким способом конвертировать - решать вам. Не забудьте изменить путь к lvm разделу. В моем случае он /dev/pve/vm-102-disk-0, у вас имя группы томов может быть другим, не pve.

Я описал общий случай для любого гипервизора KVM. Но конкретно в proxmox это можно сделать проще. Если вам нужно конвертировать qcow2 в lvm на этом же хосте, то достаточно просто через web интерфейс выбрать Move disk и указать в качестве storage хранилище с LVM. Proxmox сам конвертирует диск с помощью того же qemu-img.

Конвертация диска qcow2 в lvm

Если вы выполняете, как и я, перенос виртуальной машины с одного сервера на другой, то действуйте так:

  1. Переносим qcow2 диск со старого гипервизора на новый.
  2. На новом создаем виртуальную машину, подключаем к ней диск любого размера на обычном хранилище в виде директории.
  3. Запоминаем имя этого диска и удаляем его. Вместо него переносим диск со старого гипервизора и указываем ему такое же имя.
  4. Запускаем виртуалку на новом сервере, убеждаемся, что она работает, выключаем.
  5. Через web интерфейс proxmox переносим диск на storage с lvm. Proxmox сам выполнит конвертацию.

Я по такой схеме переносил как linux машины, так и windows. Проблем не было. Единственное, надо не забыть зайти через консоль в windows машину и проверить сетевые настройки. Нужно будет заново настроить сеть, иначе по rdp не подключиться. После переноса сетевой адаптер поменяется.

Онлайн курс по Linux

Если у вас есть желание освоить операционную систему Linux, не имея подходящего опыта, рекомендую познакомиться с онлайн-курсом Administrator Linux. Basic в OTUS. Курс для новичков, адаптирован для тех, кто только начинает изучение Linux. Обучение длится 4 месяца. Что даст вам этот курс:
  • Вы получите навыки администрирования Linux (структура Linux, основные команды, работа с файлами и ПО).
  • Вы рассмотрите следующий стек технологий: Zabbix, Prometheus, TCP/IP, nginx, Apache, MySQL, Bash, Docker, Git, nosql, grfana, ELK.
  • Умение настраивать веб-сервера, базы данных (mysql и nosql) и работа с сетью.
  • Мониторинг и логирование на базе Zabbix, Prometheus, Grafana и ELK.
  • Научитесь командной работе с помощью Git и Docker.
Смотрите подробнее программу по .
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

22 комментария

  1. Аватар
    Аноним

    Все получилось

  2. Аватар
    Николай

    Здравствуйте! Подскажите, пожалуйста, куда, в какое место на Проксмоксе положить файл .qcow2 со старой машины, чтобы новый сервер его увидел?
    По вашей инструкции пытаюсь перенести машину со старого железа на новый сервер. Создаю новую виртуалку, затем хочу подменить диск своим .qcow2 но не нахожу, где он лежит. Может нужно что-то смонтировать предварительно?
    Поставил Проксмокс 6-2-4.
    Извините за возможно тупые вопросы, дело для меня пока новое, я пытаюсь разобраться, гуглю-гуглю - ваша статья показалась самой информативной.

    • Zerox

      Если у вас типовая установка и вы в хранилище, которое создается по-умолчанию во время установки, ставите виртуалку, то образы лежат в /var/lib/vz/images, дальше номер виртуалки, например 100 и там уже образ.

      • Аватар
        Николай

        Увы, там пусто и папки 100 там нет. Вообще ничего нет. Хотя машину создаю, пытаюсь запустить, она, конечно не стартует но и диск не появляется.
        Попробую переустановить прокмокс.
        Спасибо!

  3. Аватар

    Добрый день. Реально ли перенести физический Windows в образе vhd на kvm lvm ?

  4. Аватар

    Реально вообще запустить перенесенную ВМ с Windows 2003 server r2? BSOD при загрузке ничего не помогает.

    • Zerox

      Откуда и куда переносите? Думаю, все реально. Надо смотреть на причины bsod и исправлять их. Если не переносится никак сама виртуалка, можно тем же акронисом образ снять и перенести.

      • Аватар

        Спасибо, уже запустилось. Странно - создал диск на пару гигабайт побольше и запустилось, а один в один диск подменял когда - BSOD.

      • Аватар

        Добрый день. Реально ли перенести физический Windows в образе vhd на kvm lvm ?

  5. Аватар

    Приветствую. Образы старого Qemu-kvm, формата *.img, запустятся в proxmox современном?

    • Zerox

      Я не проверял, но думаю, да. Даже если не запустятся, можно сконвертировать. Если не ошибаюсь img это тот же raw.

  6. Аватар

    Добрый вечер! Сделал все как написано но не прокатило. У меня умер proxmox я заново установил Debian 9.8 64b. От старого получилось подмонтировать диск там все живые виртуалки в формате vm-100-disk-0.qcow2 и т.д. Я создал через веб морду proxmox новую машину с обьемом диска например как у первой диск создался vm-100-disk-0.qcow2 я его удалил и тупым копированием скопировал файл с таким же именем при старте пишет не загрузочный диск что я не так сделал? Но имя узла уменя новое

    • Zerox

      Возможно в свойствах вирутальной машины указана загрузка не с этого диска, либо драйвер не тот стоит. Если сами qcow2 файлы не повреждены, то их обычная замена работает 100%. Я часто так делаю.

      • Аватар

        загрузка стоит именно с этого диска ide0 причем я побывал все виртуалки тоже самое но железо другое я думаю это не влияет

        • Аватар

          копировал правда с помощью mc

          • Аватар
            Аноним

            Вопрос решился. Обратите внимание если образы льёте через FTP Microsoft он поганит образы виртуальных машин и бэкапов. По этому возник такой вопрос как у меня. Подрубил напрямую диск слил все образы и бэкапы как так и было.

  7. Аватар

    Добрый.
    На PVE - только ZFS. И минимум на сервере zfs raid 1 (больше дисков - лучше, ес-но). Без hw raid. ZFS прекрасно его заменяет.
    И помним, что raid - это не backup. Резервное копирование нужно делать не зависимо от того, железа, к-ым располагаете.
    В продакшене полтора десятка PVE. Железо даалеко не топовое. Везде ZFS. Проблем нет. Вот уже 2,5 года.

    По поводу миграции. Если есть возможность и приличные скорости, то мигрирую по сети. Тем самым исключаем шаг в виде выгрузки-загрузки образов ВМ. Пользую Clonezilla, dd, pv. Загрузка для миграции по PXE с помощью FOG Project.

    Веду небольшую вики. Ссылка forum.netgate.com/topic/120102/proxmox-ceph-zfs-pfsense
    Будут вопросы - регайтесь по ссылке на форуме. Пишите. Будем вместе решать возникающие проблемы.

  8. Аватар

    Спасибо за труд! Расскажите, пожалуйста:
    1. зачем нужна конвертация из qcow2 в lvm том, какие плюсы от такого перехода?
    2. почему не пользовались сохранением virsh dumpxml и virsh define из сохранённого xml для переноса настроек vm целиком?

    • Zerox

      1. Теоретически lvm том должен работать быстрее. Практически думаю, так и есть, но сам лично тесты не проводил. Так же интересна технология lvm thin.
      2. Не было необходимости. Создать машину через web интерфейс было банально быстрее.

      • Аватар
        Дмитрий

        По поводу настройки сети - можно мак на новой виртулке прописать такой же как и на старой и перенастраивать не придётся

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.