База знаний

www. IT-Mehanika .ru --  журнал доброго админа

Миграция из VirtualBox в Proxmox (KVM). Шпаргалка.

Стоит задача - мигрировать виртуалку из VB в Proxmox, в его KVMную часть. Proxmox достаточно удобен в работе, но есть ряд подводных камней, зная которые работать станет легче. Итак по порядку:

Первым делом необходимо зайти на VB и посмотреть какой диск использовался для хранения. Если динамический, то надо сделать его копию в статический vdi (я использую этот формат). Это можно сделать либо в графической морде VB, либо в командной строке:

 

VBoxManage clonehd dynamic.vdi static.vdi --format VDI --variant Fixed

 

Пункт 2. Подцепить новый диск, назовем его static.vdi, вместо динамического и удалить в Windows все VB Addonsы.

Пункт 3. Отцепить образ и скопировать по ssh на машину с proxmox, к примеру в домашнюю папку . На этом работа со старым сервером завершена.

Пункт 4. Для успешной работы Windows необходимо иметь в наличии дрова для KVM. Поэтому цепляемся по ssh к серверу proxmox. Переходим в хранилище local и заливаем туда iso образ с virtio драйверами:

cd /var/lib/vz/template/iso

wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-74.iso

Пункт 5. Создадим хранилище для нашей машины. На каждую машину лучше создавать свое хранилище. Иначе при резервировании Proxmox будет бекапить образы всех машин. Хранилище по умолчанию у proxmox - local и находится в /var/lib/vz/ . Создадим хранилище monstr_storage для нашей машины. В веб-морде выбираем корень Datacenter (в русском интерфейсе Датацентр) → закладка Хранилище → Добавить → далее заполняем :

ID: monstr_storage

Директория: /var/lib/vz/monstr_storage/

Содержимое: выбрать все (просто кликайте мышкой по выпавшему списку).

У нас должно появиться в дереве хранилище monstr_storage.

Пункт 6. Создать машину (в правом углу кнопка Создать VM) с параметрами:

Имя: monstr

OS: нужная нам винда (в моем случае 2008)

CD/DVD: Хранилище local, образ virtio-win-0.1-74.iso

Жесткий диск: IDE (именно IDE !!!!) , Хранилище monstr_storage, размер больше static.vdi.

CPU: определитесь сами по загрузке и свободным ресурсам :), тип qcow2.

Память: рекомендую использовать Automatically allocate memory within this range и указать там от 1024 (или что вам надо) до 4096 (предположительный максимум). Это сэкономит ресурсы системы.

Пункт 7. Перейти в терминале в хранилище :

cd /var/lib/vz/monstr_storage/images/<ID Nomer(к примеру 101) >/

и там выполнить

ls

Покажется файл с образом для машины - vm-101-disk-1.qcow2 . 101 — это номер вашей машины, а 1 это номер диска. Его и надо подменить на наш файл. Для этого ВНИМАТЕЛЬНО ЗАПОМИНАЕМ (ЗАПИСЫВАЕМ, ВЫСЕКАЕМ НА СКАЛЕ и т. д.) имя файла. Далее удаляем его и на его место конвертим наш vdi файлик.

-

rm vm-101-disk-1.qcow2

qemu-img convert -f vdi static.vdi -O qcow2 vm-101-disk-1.qcow2

-

Далее перекур, кофе-брейк или что вы любите. Это не быстро.

Пункт 8. После конвертации машина готова к запуску. Есть варианты сразу имплантировать драйвера VirtIO, путем запуска с образа Hiren's boot cd. Коллега Никита Менькович, aka librarian очень хорошо это описал в своей статье «Перенос виртуальной машины из Virtualbox в KVM». Я обхожусь без этого.
Открываем консоль и запускаем. Во время первого запуска машинка возмутившись адаптируется к новым девайсам. Именно по этому для первого старта нужен IDE !!!

Пункт 9. Адаптируем машину к KVM. Завершаем работу винды. Создаем 2й диск размера 2гига типа VIRTIO. Для этого достаточно выбрать в дереве нашу машину — monstr, перейти на вкладку Оборудование и нажать Добавить.

Пунт 10. Запускаем машну. На вопросы где взять драйвера указываем на CD с папкой версии винды. У меня Win7 для 2008. Если диск виден в управлении носителями — все ОК. Добиваем дрова сетевухи и прочее. Помните, что ИП-адрес если у вас был статический — уплывет. Верните его на новой сетевухе. А старую найдите в списке устройств (скрытые устройства) и удалите.

Пункт 11. Гасим машину и проделываем виртуозную операцию по переходу с IDE на VIRTIO. Удаляем 2й диск. Для этого встав на маленький диск в Оборудовании нажимаем кнопку удалить. Диск просто так не удалится — он обретет статус «Неиспользуемый диск». Встаем на него и еще раз жмем Удалить. Все, диска нет.

-- Теперь надо перевести основной диск в «Неиспользуемый диск». Встать на основной диск и нажать удалить. НЕ УДАЛЯЙТЕ ЕГО ЕЩЕ РАЗ !!!!!!

-- Дважды кликаем по «Неиспользуемый диск» и выбираем тип VIRTIO номер 0. Он получил обратно статус «Жесткий диск».

-- Переходим на закладку Опции. Щелкаем по «приоритет загрузки». Ставим первым virtio0

Пункт 12. Запускаем машину.

Вроде все. Если чего забыл простите... :)

Комментарии   

0 #5 Administrator 17.10.2014 10:21
Цитирую Павел:
Цитата:
rm vm-101-disk-1.qcow2
qemu-img convert -f ~/vdi static.vdi -O qcow2 vm-101-disk-1.qcow2


А нет ли опечатки вот здесь "~/vdi"?
Должно же быть просто "vdi"
Действительно.. . Вылезло из названия файла, когда копировал. Наверное глаза слипались... ))))
Спасибо, что заметили!
0 #4 Павел 16.10.2014 16:29
Цитата:
rm vm-101-disk-1.qcow2
qemu-img convert -f ~/vdi static.vdi -O qcow2 vm-101-disk-1.qcow2
А нет ли опечатки вот здесь "~/vdi"?
Должно же быть просто "vdi"
0 #3 Aleksey 07.04.2014 23:11
Цитирую mrbublik:
там есть еще ряд тонкостей, которые могут вылезти. Симптом - синий экран смерти ? или зависон с черным экраном?
Алексей, буду рад вам помочь. Пишите на мыло, стучитесь в скайп, звоните на телефон.
Все контакты на сайте есть.

Странно но яндекс возвращает письмо.
Виртуалка зависает на черном экране
0 #2 mrbublik 07.04.2014 21:55
там есть еще ряд тонкостей, которые могут вылезти. Симптом - синий экран смерти ? или зависон с черным экраном?
Алексей, буду рад вам помочь. Пишите на мыло, стучитесь в скайп, звоните на телефон.
Все контакты на сайте есть.
+1 #1 Aleksey 07.04.2014 16:41
Все сделал по инструкции машина не стартонула

You have no rights to post comments