LinuxForum.Fans
Тема

Перегон образа виртуалки из VirtualBox в KVM

Автор: Cruiser78 24 сообщений 11468 просмотров
#296441

Привет всем!

Есть у меня несколько виртуальных машин. Исторически сложилось так, что они развились из под VirtualBox'а. Это предистория.
Теперь причина проведения работ: Среди этих виртуалок есть терминальный сервер на базе Fedora-14. Юзеры на нем испытывают жесткие тормоза при работе с сетевыми (а иных им и нет) дисками. Еле всё ползает. Когда машина пустая, то скорость доступа по самбе к ремутной шаре не превышает 8-9 мегабайт в секунду. Если там есть юзеров штук 7-8, то скорость падает вообще до 1.5-3 мегабайт. На гигабитной сетке. Никакие манипуляции с virtio не помогают. Только ухудшают ситуацию.
Решение простое: переводим виртуалки под KVM. Преобразуем vdi-файлы в img. И получаем, что та же самая (тормозная) машина, запущенная гостем на том же самом хосту, но в KVM, разгоняется на "холостом" ходу до 20 мегабайт по чтению и до 35-40 мегабайт по записи в самбе на virtio-сетевых драйверах. То есть - решение выбрано правильно, стоим на верном пути. Однако...

Теперь проблема: Среди нескольких виртуалок затесалась одна с офтопиком. Она нужна. И вот её ну никак не перегнать в работоспособный под KVM img. Отрабатывает только загрузчик, далее синий экран смерти на полсекунды и перезагрузка. Можно выбрать safe-mode, но и там то же самое.

Вопрос - возможно ли корректно перегнать образ VirtualBox c WindowsXP из VDI-формата в IMG и скормить его KVMу? Или это задача нерешаемая.
Устраивать пляски с бубном обеспечивая совместную работу VB и KVM мне как то не очень улыбается...

#296443

Хм, не знаю, возможно ли это вообще, но думаю, это будет не так-то просто. Проблема в том, что, насколько я понимаю, оофтопик "привязывает" себя к той конфигурации, на которой его устанавливали - как минимум, придется лезть в реестр и менять там все значения ключей, указывающих на жесткие диски, на правильные.
UPD: Собственно, из-за того, что меняется адресация неперемещаемых участков фаловой системы, и получается синий экран...

#296491
yars написал:
Хм, не знаю, возможно ли это вообще, но думаю, это будет не так-то просто.

Но акронис-то двигает образы винды???? К тому же - как я понимаю, при конвертировании VDI в IMG поменяется только формат, который понимает система виртуализации. А не гость. Гостю то долно всё остаться в прежнем виде. Или я заблуждаюсь...

#296500

Текст BSOD предлагается угадать телепатически? отключите атоперезагрузку при BSOD и покажите сообщения.

Перед переводом Windows ВМ вернуть стандартные драйверы ide (достаточно удалить контроллеры в диспетчере устройств, либо использовать sysprep), убрать гостевые дополнения VirtualBox-а, перевести, дать найти новое виртуальное железо. Скорее всего поможет, но не факт.
Проводить эксперименты на копии.

"yars" написал:
UPD: Собственно, из-за того, что меняется адресация неперемещаемых участков фаловой системы, и получается синий экран...
Либо миф, либо я не понял, о чём именно идёт речь.
#296510
"bormant" написал:
Либо миф, либо я не понял, о чём именно идёт речь.

Может, и миф, но некоторые файлы там сделаны неперемещаемыми - например, при дефрагментации это видно наглядно. Хотя, скорее всего, я тут неправ.

#296524
bormant написал:
Текст BSOD предлагается угадать телепатически? отключите атоперезагрузку при BSOD и покажите сообщения.

я совершенно не силен в этом. И буду очень благодарен, если наведете меня на то, как именно это сделать.
Я бы понял, что там надо делать, если бы сам мог прочитать эти синие экраны. Но они слишком быстро промаргивают.
А вот на этапе загрузки оси, когда есть выбор между safe-mode и обычной загрузкой есть сообщение, что конфигурация железа поменялась... Можно выбрать safe-mode, но все равно, даже после загрузки стандартных минимальных драйверов - синяя вспышка и перезагрузка.

#296527

WinXP, отключение перезагрузки при BSOD: на живой машине Win+Break, вкладка Дополнительно, в разделе "Загрузка и восстановление" жмём кнопку Параметры, снимаем флажок "Выполнять автоматическую перезагрузку".

Другой вариант (но не помню точно, есть ли он в Win XP): после сбоя и перезагрузки отображается меню, в котором в том числе есть пункт "Отключить автоматическую перезагрузку при отказе системы" -- как раз то, что надо.

#296571

Смотрите что нашёл. http://slashsda.blogspot.ru/2012/03/migrate-from-virtualbox-to-kvm.html
И там ссылка, на решение проблемы. Если я так понял. Бегло пробежался и Инглиш у меня не силён.
http://blogs.msdn.com/b/virtual_pc_guy/archive/2005/10/24/484461.aspx

З.Ы. Не зря я виртуалбокс не юзаю. Все таки он больше годится, на быстрый запуск любой ОС на посмотреть. Это конечно же имхо.

#296574

"XliN" написал:
Смотрите что нашёл.
Если внимательно посмотреть на содержимое
1) MergeIDE.reg, станет ясно, что производится непосредственная замена драйверов контроллеров на стандартные.
2) MergeIDE.bat, станет ясно, что ему нужен будет диск с дистрибутивом (или исправный %SystemRoot%\Driver Cache\i386\driver.cab), поскольку оттуда достаются стандартные драйвера контроллеров:
expand>NUL "%ctdir%\driver.cab" -f:Atapi.sys "%SystemRoot%\System32\Drivers"
expand>NUL "%ctdir%\driver.cab" -f:Intelide.sys "%SystemRoot%\System32\Drivers"
expand>NUL "%ctdir%\driver.cab" -f:Pciide.sys "%SystemRoot%\System32\Drivers"
expand>NUL "%ctdir%\driver.cab" -f:Pciidex.sys "%SystemRoot%\System32\Drivers"

То есть, по сути своей, автоматизация рецепта из сообщения 4 Перегон образа виртуалки из VirtualBox в KVM
#296674

Слышал есть такая штука как virt-p2v. Сам не пробовал, не испытал но думаю стоит посмотреть может поможет.

#296689
"semperN" написал:
Слышал есть такая штука как virt-p2v. Сам не пробовал, не испытал но думаю стоит посмотреть может поможет.

Тут дело в самой винде. Она падает в синий экран, при смене оборудования. Конвертируется все нормально

#296744
"XliN" написал:
Тут дело в самой винде. Она падает в синий экран, при смене оборудования. Конвертируется все нормально

virt-v2v и virt-p2v подменяют драйверы во время конвертации. так как virt-v2v виртуалбокс не умеет, то брать надо virt-p2v

#296748

Ну, перегнал с MergeIDE винду под KVM-img. Заработало. И VirtIO-NIC, чуток побыстрее чем в VB.
Вот только есть пара малоприятных нюансов.
Оффтопик определил, что в системе появились некие PCI-девайсы (PCI-device и PCI-контноллер simple Communication), звуковая плата и VGA-совместимый монитор. Определил и захотел поставить под них драйвера. Обломайтис, не находит даже на фирменном диске... На последние девайсы мне положить с прибором, а вот на PCI - как то опасливо.
Далее, хочу сделать диск виндовый как Virtio (у меня винда виртуальная об двух дисках, так что особых проблем нет). Назначаю второй диск как Virtio, винда определяет его как RedHat VirtIO SCSI controller. Находит некие дрова на диске virtio-win-0.1.49, но обламываеться по ошибке 39. Говорит, что драйвер поврежден или отсутствует.
Хотелось бы завести VirtIO на диск, а то дюже медленно IDE-режим диска работает.

Можно ли вывернуться? Да, антивирусов никаких на этой машине нет. Все манипуляции по настройке делаю под локальным админом. Если что...

#296750
"Cruiser78" написал:
Оффтопик определил, что в системе появились некие PCI-девайсы (PCI-device и PCI-контноллер simple Communication), звуковая плата и VGA-совместимый монитор. Определил и захотел поставить под них драйвера. Обломайтис, не находит даже на фирменном диске... На последние девайсы мне положить с прибором, а вот на PCI - как то опасливо.

конкретный список, или скрин девайс манагера

"Cruiser78" написал:
Далее, хочу сделать диск виндовый как Virtio (у меня винда виртуальная об двух дисках, так что особых проблем нет). Назначаю второй диск как Virtio, винда определяет его как RedHat VirtIO SCSI controller. Находит некие дрова на диске virtio-win-0.1.49, но обламываеться по ошибке 39. Говорит, что драйвер поврежден или отсутствует.

а на новый диск срабатывает?

#296757
dyasny написал:

конкретный список, или скрин девайс манагера

В "Других устройствах" проблемные:
1. PCI Device;
2. PCI контроллер Simple Commutinations;
3. аудиоустройство на шине High Definition Audio (это я просто за ненадобностью отключу, сейчас там ich6 поставлено, а надо, как я понимаю включить ac97);
4. Видеоконтроллер (VGA-совместимый) - гостю дано видео VGA. Почему винда не находит стандартный видео-девайс непонятно...
Это все, за исключением п.1, появилось сразу после конвертации. п.1 появился, когда я попытался поставить вместо IDE virtio.

При установке драйверов Virtio SCSI происходит ошибка с сообщением, что драйвер не могут быть загружен, так как или поврежден или отсутствует (код 39).
Соответственно контролллер Red Hat Virtio SCSI тоже в ауте. Попытка поставить второй диск не в IDE-режим, а в SATA тоже провалилась.

dyasny написал:

а на новый диск срабатывает?

А какая разница? Как я понимаю, важно иметь некий свободный диск, который должен зацепиться через VirtIO SCSI. А новый он (неформатированный), или с данными - какая разница, если сам драйвер в систему грузиться не хочет...
==================
- Изменил аудио (мне не нужное) на ac97. Подхватилось. но мне оно не нужно. Отключу.
- Нашел в сети virtio драйвера от 2008го года, п.2 опознался как VirtIO-serial-Driver. Мне тоже оно не очень и нужно.
- Не подхватывется VGA, фиг с ним, и PCI-device. Что висит на нём - без понятия. Ну и VirtIO SCSCI тоже не оживает...
------------------------------------
Оживил шаманством VirtioSCSI. Ожидал большего. Скоростью работы на Virtio-диске хвасться не хочется. На IDE диске - чуть медленее 3 мегабайт в секунду большой файл пишется, на Virtio - гонять файло чуть быстрее, 3.2 мегабайта... Не айс. Но тормозит запись. Если читаю с диска и пишу в сеть - то тогда разгоняюсь до 15-18 мегабайт в секунду (на пустой, юзера ушли уже, гигабитной сети). Чтение из сети на диск - 4.5 мегабайта в секунду.

#296765

Было у меня такое. Дрова на отказ отказывались ставиться и заменять идэешный диск на виртио. Я вышел из этого путем скармливания их при устаеовке винды.
Попробуй так. Сделай пустой, новый диск как виртио. Грузани винду и установи драйвер. Можно попробовать самому поставить. Через добавлеиня оборудования.

#296778

древний драйвер не корректно работает с новыми хостами (федора 12+ / RHEL6+)

вообще, драйверы для ХР, имхо, были выброшены и никогда не поддерживались, так как ХР сама уже не поддерживается

#296796

Если не трудно Cruiser78 жду от вас отзывов на сколько в KVM шустреет работает с жёстким диском по сравнению с VB. Просто у вас как бы система и от красно шапочных вот и интересно.

В debian всё таки в пользу VB.

По поводу данных драйверов, удалите данные устройства и попробуйте в конфигурационом файле подправить предоставление устройств. Просто на скок я понял то данные об устройстве перешли с конфигурации VB и поэтому KVM о них просто не известно.

#296801
dyasny написал:
древний драйвер не корректно работает с новыми хостами (федора 12+ / RHEL6+)

вообще, драйверы для ХР, имхо, были выброшены и никогда не поддерживались, так как ХР сама уже не поддерживается

Дык я разве против? Вот только есть у нас в эксплуатации одна прикладная база данных. Сами догадываетсь какая. И в той базе корректно можно работать только в том случае, если у всех юзерей XP, максимум. Кодовая станица, однако... Без определенного шаманства - работу на разных осях с этой базой не совместить. Ну и более верхние оси - их покупать надо. А комплект ихпей был когда-то куплен и всё под ним прекрасно работает. Не трожь технику, она и не подведет...
-------------
Подумал - я могу (лицензионно чисто) поставить в витуалку и Windows 2000 Small Business Server... Мне этого сервера (по функционалу) выше крыши...
=======
А вообще-то неправильное решение поддержку XP в виртуалках выбросить. XP очень популярна. И именно в реальном секторе.
У меня есть еще еще несколько компьютеров, где 2000-ная винда живет. Компы работают, свою функцию выполняют. Нафига менять? Оно, что, будет эффективнее под 7-кой работать? Вот сломается комп - буду думать чем заменить. А ставить на страрый комп ту же 7-ку - фукака, даже пробовать не стану.

#296804
XliN написал:
Было у меня такое. Дрова на отказ отказывались ставиться и заменять идэешный диск на виртио. Я вышел из этого путем скармливания их при устаеовке винды.
Попробуй так. Сделай пустой, новый диск как виртио. Грузани винду и установи драйвер. Можно попробовать самому поставить. Через добавлеиня оборудования.

Нет, всё проще. Ниже мои догадки, но они основаны на том, что я видел на экране.
Итак, покувыркавшись с автоматической установкой драйверов под Virtio-диск, решил ставить драйвера в максимально ручном режиме. Для чего скопировал содержимое "CD" virtio-win в отдельный каталог, раз, и выбросил из набора дров всё, что по моему мнению никак к XP не относится. Далее - анализ содержимого каталогов "а чтоже там лежит?". Был найден каталог, где лежало нечто (пишу по памяти) с названием virtioscsi. Натравил установщик драйверов на этот каталог. Немного подумав установщик сказал, что ему не хватает файла, внимание!!! D:\win7\virt_чегототам.sys. И с какой такой радости XP ищет семёрочные драйвера??? Нашел место, где лежат драйвера от XP, установщик их взял, сказал, что в системе установлено более новое ПО (видимо от семерки, которое и не работало)... После моего приказа ставить поверх более старую версию - поставил и результат налице. VirtioDisk поднялся. То есть - тривиальная ошибка установщика. Ставит драйвер от иной оси.

Но, на обычном винте, Virtio у меня чудес производительности не проявил. Я не сильно знаю, как тестировать производительность, смотрю это дело копированием большого файла в фаре или в mc, хватает... Так если на хосту имею дисковую скорость порядка 45-50 мегабайт в секунду, то в виртуалке в KVM диски работают на порядок медленнее (при настройках по умолчанию), копирование внутри диска дает примерно 3-3.5 мегабайта. Можно посмотреть, как оно поведет себя на SSD.

Войдите или зарегистрируйтесь, чтобы ответить.