Ответы пользователя по тегу QEMU
  • Как включить интернет только у виртуалки?

    hint000
    @hint000
    у админа три руки
    Самое простое - использовать мостовое подключение
    Правильно, мостовое подключение является необходимым условием (если не изобретать сумасшедшие схемы). Но сам способ ограничения зависит от конкретных целей (от кого или чего хотите защититься, это важно) и имеющихся средств (например, доступности/недоступности сетевой инфраструктуры за пределами хоста и т.д.). Вспоминать и описывать все возможные варианты лень, не хочется тратить столько времени. Так что уточняйте.

    Насчёт настройки сети QEMU через мост:
    Как подключить виртуальную машину qemu к основной сети?
    и в целом https://www.google.com/search?q=qemu+bridge+networking
    Ответ написан
    Комментировать
  • Возможно ли прокинуть SATA контроллер находящийся в одной IOMMU группе с устройствами на материнской плате?

    hint000
    @hint000
    у админа три руки
    Здесь пишут про патч ядра:
    https://www.reddit.com/r/kvm/comments/kxx4p5/stora...
    Please ensure all devices within the iommu_group are bound to their vfio bus driver.

    You have to pass every device in the group through at once, which isn't going to work for you. The only way to avoid that is to enable the ACS Override kernel patch to split up the group (by pretending the devices can be safely isolated from each other, even though they can't be)

    А вообще неудачная мысль прокидывать SATA-контроллер в виртуальную машину. Так не делают. Прокидывайте диск.
    Ответ написан
    6 комментариев
  • Как подключить к интернету виртуальную машину в Linux?

    hint000
    @hint000
    у админа три руки
    У вас из сильно устаревших инструкций. Такой синтаксис (-net) уже не следует использовать. Нужно примерно так:
    -netdev user,id=FooBar-099999 -device virtio-net-pci,netdev=FooBar-099999
    (здесь "FooBar-099999" - это произвольный идентификатор). Т.е. опция -net user заменена на -netdev user, а опция -net nic заменена на универсальную опцию -device (которая в qemu относится не только к сети, но и к любым виртуальным устройствам).
    Но вы точно хотите в режиме -netdev user (-net user)? На каждый чих руками пробрасывать порт и делать холодный перезапуск виртуальной машины?
    Лучше сразу привыкать настраивать полноценную сеть через бридж. Со стороны qemu это выглядит примерно так:
    -netdev bridge,id=Foo-09,br=virbr0 -device virtio-net-pci,netdev=Foo-09,mac=52:54:00:00:99:99
    ...но требует предварительного поднятия бриджа на хосте, либо прописыванием в конфиг сети, либо командами из пакета bridge-utils. Здесь virbr0 - это имя предварительно созданного бриджа.
    Ответ написан
    3 комментария
  • Почему фризится ВМ (windows server 2016) на qemu/kvm (libvirtd)?

    hint000
    @hint000
    у админа три руки
    как задебажить средсвами хоста
    Настроить VNC для этой виртуалки на уровне KVM. Это не задействует ресурсы виртуалки, только ресурсы хоста. И нужно заранее залогиниться через этот VNC и открыть диспетчер задач и т.п., чтобы во время фриза только смотреть в окно VNC.
    Ответ написан
    2 комментария
  • Как выяснить какой процесс вешает наглухо ВМ Server 2016 на qemu/kvm?

    hint000
    @hint000
    у админа три руки
    htop в такие моменты на хосте показывает все ядра этой ВМ загружены на 100%.
    Ещё в такие моменты на хосте iotop посмотрите. Не исключено, что процессор занят IO wait.
    Ответ написан
    4 комментария
  • Qemu как правильно запускать vm?

    hint000
    @hint000
    у админа три руки
    Вместо -nographic попробуйте -vnc :33 (соответственно, консоль через vnc будет доступна на порту 5933\tcp)
    Ответ написан
    Комментировать
  • Как объединить виртуальный бридж Docker и QEMU?

    hint000
    @hint000
    у админа три руки
    По идее так должно работать:
    $ echo allow docker0 > /etc/qemu/bridge.conf
    Так qemu узнаёт, в какой бридж добавлять виртуальные интерфейсы.
    Ответ написан
    1 комментарий
  • Как подключить виртуальную машину qemu к основной сети?

    hint000
    @hint000
    у админа три руки
    https://www.google.com/search?q=qemu+kvm+bridge+ne...
    если кратко:
    1. поставить пакет bridge-utils
    2. прописать бридж в настройки сети на хосте, добавить сетевой адаптер в бридж; зависит от способа настройки сети - через netplan или по старинке через /etc/network/interfaces или как-то ещё
    2.1. теперь основным сетевым интерфейсом на хосте будет бридж, так что если есть какие-то правила iptables и т.п. не тривиальные настройки, то это надо учитывать
    3. создать /etc/qemu/bridge.conf и добавить туда строку allow имя_бриджа

    По сути, мы врукопашную настроили то, что называется виртуальным коммутатором в Hyper-V или в VMware.
    На этом подготовительные действия закончены, остаётся подключить виртуальную машину к бриджу.

    qemu-system-x86_64 -hda /путь_к_диску.qcow -m 1512 -vga qxl -netdev bridge,id=имя_виртуального_адаптера,br=имя_бриджа -device virtio-net-pci,netdev=имя_виртуального_адаптера,mac=52:54:00:12:34:56


    MAC для виртуалки можете назначить произвольный, но первая его половина 52:54:00: специально зарезервирована для qemu\kvm.
    имя_виртуального_адаптера произвольное.
    имя_бриджа совпадает с тем, какое вы прописали в настройках в начале.
    Ответ написан
  • Как загрузить bin файл во второй сектор img образа?

    hint000
    @hint000
    у админа три руки
    dd if=boot.bin of=os.img seek=1 conv=nocreat,notrunc
    Ответ написан
  • Как настроить двунаправленный буфер обмена QEMU?

    hint000
    @hint000
    у админа три руки
    Возможно, вы не точно понимаете, на каком уровне и через какое место :) работает буфер обмена. Проще будет понять, если вы представите виртуальную машину как отдельный компьютер, стоящий рядом, и соединённый сетью (через свитч). Для размышления: должен ли работать буфер обмена между разными компьютерами? Например, между вашим компьютером и компьютером вашего начальника? ;)
    Буфер обмена может (но не обязан) работать при удалённом доступе. Если (это поддерживается протоколом) & (поддерживается клиентской частью) & (поддерживается серверной частью). Например, через RDP. Уже для VNC приходится поднапрячься и погуглить: https://www.google.com/search?q=vnc+буфер+обмена
    Но в вопросе вы ничего не пишете ни про RDP, ни про VNC.
    А так - никак. :) Потому что виртуалка - это отдельный компьютер.

    P.S. есть такой вариант: https://www.ekzorchik.ru/2019/02/shared-buffer-for...
    но это не меняет сути, т.к. SPICE - это ещё один протокол для удалённого доступа.
    Ответ написан
    8 комментариев
  • QEMU как ускорить?

    hint000
    @hint000
    у админа три руки
    invalid accelerator kvm
    И не может работать в macOS.
    KVM только для Linux.

    https://ru.wikipedia.org/wiki/MacOS
    В macOS используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD.

    https://ru.wikipedia.org/wiki/KVM
    KVM (Kernel-based Virtual Machine) — программное решение, обеспечивающее виртуализацию в среде Linux...
    Программное обеспечение KVM состоит из загружаемого модуля ядра (называемого kvm.ko), предоставляющего базовый сервис виртуализации,..
    Ответ написан
    Комментировать