LINUX.ORG.RU
решено ФорумAdmin

Вопросы по виртуалкам. Запуск нескольких виртуалок. Задержки в звуке. Меняющийся FPS.


0

1

1) Несколько qemu-kvm или virtualbox-ов с аппаратной виртуализацией одновременно запустить нереально? Две машиныодновременно в VirtualBox запускаются (или это реально одна, просто разделяющая «виртуализационные задачи»?). При попытке запустить qemu-kvm при запущенном VirtualBox появляется это:

failed to initialize KVM: Device or resource busy
No accelerator found!

2) qemu-kvm со звуком ac97/hda даёт задержки воспроизведения звука в 100...200 ms - ощутимо. В VirtualBox - также. Обе виртуалки воспроизводят через ALSA (default). Лечится?

3) В qemu-kvm и в VirtualBox количество кадров в секунду становится разным в зависимости от того, двигаю я мышью или нет. Ну где-то между 15 и 30 fps. Заметно например на воспроизведении ютуба внутри виртуалки или при работе приложения, равномерно плавно двигающего картинку по экрану. Начинаешь двигать мышью - всё плавно, убираешь руки с руля - заметно понижение fps. Не слайдшоу, но заметно.

10) Дайте почитать статью для чайников о том, как на низком уровне сделано VT-x. Знаю про регистры cr, про GDT, IDT и ассемблер. Хочется понять, почему qemu-kvm может не хотеть работать одновременно с VirtualBox.

Перемещено tazhate из talks

★☆

Последнее исправление: kiverattes (всего исправлений: 3)

Запускаю более 1 виртуалки в virtualbox с аппаратной виртуализацией без проблем

dexpl ★★★★★
()

обычный qemu, запускаю 3 (три) штуки в 1 (одном) ящике. Полет нормальный (по буквам: Зухра, Айша, Евлампия, Биргит, Иоланта, Сара, Ъ)

Lee_Noox ★★★
()
Ответ на: комментарий от Lee_Noox

А проц у вас какой? У меня Core i5 2500K, VT-x в биосе точно включен (если выключить kvm модуль даже загружаться не хочет).

kiverattes ★☆
() автор топика
Ответ на: комментарий от Lee_Noox

А «обычный qemu» означает, что без аппаратной виртуализации? Если да, то так и у меня запустится...

kiverattes ★☆
() автор топика

это вроде всегда так было - просто один модуль ядра под себя ресурсы нужные для аппаратной виртуализации резервирует и другим модулям не отдает их, юзай или то или другое.

maloi ★★★★★
()
Ответ на: комментарий от maloi

Вот интересно почитать о том, как это «внизу» происходит. Что это за такие ресурсы, которые можно захватить и никому не давать.

kiverattes ★☆
() автор топика

более одного гипервизора или монитора виртуальных машин с поддержкой железа ты пока не запустишь

Lordwind ★★★★★
()

Невозможно. Либо несколько qemu-kvm либо несколько virtualbox.

Reset ★★★★★
()

Дайте почитать статью для чайников о том, как на низком уровне сделано VT-x.

Не для чайников эта тема. Если действительно хочется разобраться, читайте документацию. В вашем случае скорее всего kvm обламывается вот тут:

static int hardware_enable(void *garbage)
{
    int cpu = raw_smp_processor_id();
    u64 phys_addr = __pa(per_cpu(vmxarea, cpu));
    u64 old, test_bits;

    if (read_cr4() & X86_CR4_VMXE)
        return -EBUSY;
Relan ★★★★★
()
Ответ на: комментарий от maloi

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

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

какая эта? два гипервизора на одном хосте (не один внутри другого) это вложенная виртуализация?

аналогично сейчас один гипервизор внутри другого не может работать

может, только не на убогом x86

maloi ★★★★★
()
Ответ на: комментарий от Lee_Noox

Ну например некоторые вирусы определяют что запущены под виртуалкой и хитро прячутся... а ваще вложенная виртуализация это путь к безопасной системе без вирусов и руткитов без необходимости держать защитное ПО или наглухо заколачивать настройки ОС

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

может вы таки начнете думать, прежде чем спрашивать? чем виртуализация на x86 отличается от x86_64?

для домашнего сегмента конечно нет, для энтерпрайза у IBM уже лет 30 как вложенная виртуализация работает.

maloi ★★★★★
()

Ну вестимо, что ВМЕСТЕ KVM и VB работать не будут, только по очереди.

DALDON ★★★★★
()
Ответ на: комментарий от Lordwind

два РАЗНЫХ гипервизора нельзя запустить

Значит, когда я запускаю несколько виртуалок из под одного VirtualBox - это один гипервизор, который тащит несколько виртуалок?

А сама ХОСТ-ОС не является гипервизором? Получается одновременно может работать одна «хост-ОС» и один гипервизор?

Вопрос на тему работы нескольких виртуалок под одним гипервизором (например VirtualBox ). Если я выделяю каждой виртуалке по 1 ядру при 4-ядерном железе, то есть ли какие-то издержки чисто на уровне реализации гипервизора - я имею ввиду некую «однопоточность» гипервизора, не позволяющую виртуалком работать реально параллельно. Например блокировка обращения к каким-то общим на все 4 ядра ресурсам процессора, связанным с аппаратной виртуализацией? Бред несу, но яснее вопроса нет (-;

kiverattes ★☆
() автор топика
Ответ на: комментарий от Lordwind

То есть наверное самый правильный путь - это применение Xen? А стоит ли мне взять процессор с поддержкой VT-d, чтобы пробросить в виртуалку целую отдельную звуковую карту или видеокарту для избежания тормозов графики или задержек звука, или я запарюсь подбирать мать и прочее оборудование, а стоить это будет как новая лада калина? )

kiverattes ★☆
() автор топика
Ответ на: комментарий от maloi

у IBM уже лет 30 как вложенная виртуализация работает

А в Омане до сих пор квартиры молодоженам выдают. Я рад за них за всех.

Lordwind ★★★★★
()
Ответ на: комментарий от kiverattes

Значит, когда я запускаю несколько виртуалок из под одного VirtualBox - это один гипервизор, который тащит несколько виртуалок?

Да

А сама ХОСТ-ОС не является гипервизором? Получается одновременно может работать одна «хост-ОС» и один гипервизор?

Нет, гипервизор это и есть грубо говоря ОС для виртуализации. Суть в том, что пока ресурсы аппаратной виртуализации может использовать кто-то один.

...я имею ввиду некую «однопоточность» гипервизора, не позволяющую виртуалком работать реально параллельно...

Есть еще память и диск. Например у меня VMware WS косячит с памятью некоторых приложений на хост-системе и в гостевой, типа и там и там запущен ФФ, начинаются лютые тормоза и ФФ на хосте виснет намертво. Чтобы разделить грамотно виртуалки, надо им выдать по отдельному физическому диску, ну а памяти максимум что на компе можно сообразить.

Lordwind ★★★★★
()
Ответ на: комментарий от kiverattes

Про видео это отдельная песня, поищи по VT-d, тут часто обсасывают эту тему. Лично я забил. Фотошопов нет, игрушки неинтересны.

Lordwind ★★★★★
()

Насчёт (1): несколько qemu-kvm или несколько virtualbox машин могут работать одновременно, но не смесь qemu-kvm + virtualbox.

+ Интересно: http://www.netangels.ru/support/overview/xen-vs-kvm/

p.s. Сам использую qemu-kvm (win7 64).

p.s.2. Запустил параллельно 2 виртуалки qemu-kvm одной и той же командной строкой, т.к. с одним и тем же файлом диска :) Потом «выключил компьютер» последовательно в двух виндах. Последующий запуск этой системы спровоцировал проверку целостности ФС, но в конце-концов никто не умер :)

kiverattes ★☆
() автор топика
Ответ на: комментарий от maloi

аналогично сейчас один гипервизор внутри другого не может работать

может, только не на убогом x86

kvm и VMware поддерживают вложенную аппаратную виртуализацию. Сюрприз?

Relan ★★★★★
()
Ответ на: комментарий от Relan

что, внутри kvm можно запустить вмварь/другой гипервизор?

то что внутри kvm можно запускать kvm я в курсе.

maloi ★★★★★
()
Ответ на: комментарий от Relan

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

maloi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.