Ответы пользователя по тегу KVM
  • Тест Гилёва (далее ТГ). Виртуализация vs bare-metal?

    @LuchS-lynx
    инженер-ПТО
    Пользуюсь для виртуализации Proxmox'ом (Debian Linux + KVM). Основные "потери" в моем случае это:
    - с одной стороны эмуляционные виртуальных ядер, с другой, если пробрасывать host CPU ты все равно пробрасываешь не все ядра, что-то надо оставить хосту и/или другим виртуалкам. Для игр на своем i7-8700k я пробрасываю host CPU 8 потоков из 12, таким образом, по сути, в виртуалке у меня не i7-8700k, а скорее "условный i7-7700k", перемаркированный в диспетчере задач как i7-8700k, если сравнивать с нативным железом.

    - Вторые потери это софтовый проброс HDD/SSD (а-ля sata1: volume=/dev/disk/by-id/ata-WDC_........ или подключение виртуального жесткого диска, который лежит на физическом), если максимальные скорости идут практически без просадок, то скорости чтения/записи средних и мелких блоков у меня просаживаются очень сильно, тут выход только пробрасывать внешний дисковый контроллер/RAID-контроллер с подключенными к ниму живыми HDD/SSD для установки системы/данных напрямую, правда останется вопрос по PCI-Express линиям на процессоре....

    Вот моя установка, см. ролик:
    https://www.youtube.com/watch?v=wjlmWHJiEug
    «4:29 - тест виртуального жесткого диска» - это виртуальный HDD гостевой Винды, который лежит на системном SSD Kingston A400 2.5" 480Gb SATA III TLC SA400S37/480G
    «5:10 - тест проброшенного в ВМ физического жесткого диска» - это проброшенный софтово HDD WD Red 4Tb WDC WD40EFRX
    в обоих случаях идет дикая просадка по скорости чтения/записи для средних и малых блоков, при относительно нормальных скоростях чтения/записи больших блоков.

    При этом в другой ВМ с физически проброшенным RAID-контроллером LSI SAS 9211-8i c 4-мя HDD WD Red 4Tb WDC WD40EFRX такого не наблюдается и там скорости такие-же, как и в нативной системе с виндой (правда в моем случае из-за недостатка линий PCI-Express на моей плате ВК в первом слоту не выдает все что ей полагается.

    PS. драйвера все обновлял для виртуалки? Ядро линукса свежее? Как себя ведет тот же mysql на нативном железе под Arch Linux? На какой машине работаешь? У меня machine: q35
    Ответ написан
    8 комментариев
  • Насколько эффективна виртуализация для игр?

    @LuchS-lynx
    инженер-ПТО
    Если железо мощное, то падение производительности небольшое. Я сейчас работаю на ВМ на хостововой машине. Для игр и работы в тяжелых приложениях хватает, но это топовая конфигурация сокета. Собственно свой опыт по настройке proxmox с пробросом видеокарты я описывал здесь:
    https://m.habr.com/ru/post/437598/

    Несколько замечаний:
    1. Виртуальный жесткий на запись медленнее реального в несколько раз. Часть ресурсов придется оставить хосту, а значит на эту часть ВМ будет медленнее чем нативный ПК без виртуализации.
    2. Для успешного проброса необходимо что бы железо поддерживало iommu и полный набор соответствующих виртуализационных технологий от АМД/Интел и должен выполняться тест на них(в статье есть описание как сделать тест)
    Иными словами не любая материнская плата и процессор подойдут для этого дела.
    3. Настройки, драйверу ВК надо подсунуть любое левое id оборудования, вместо винтуального, иначе получите на игровых видеокартах ошибку 43 и ничего не заработает.
    4. Работа осуществляется на отдельном мониторе или на одном и том же, но на разных видеовходах, т.е. потребуется переключаться
    5. Я еще не тестировал 6й proxmox, но в старых версиях при пробросе устройства из группы в ВМ остальные отваливаются для хоста. В моем случае интегрированная звуковая карта и lan находятся в одной группе устройств и при пробросе звука падает сеть. Вылечил физическим пробросим usb контроллера с покупкой внешней звуковой карты. На обычном пробросе как устройство отвратно работал микрофон и были наводки

    если будет нужно реальные фото/видео работающей системы обращайся)
    Ответ написан
    3 комментария
  • Можно ли использовать оригинальные драйвера Nvidia при запуске виндов через KVM?

    @LuchS-lynx
    инженер-ПТО
    Будет, но на пути к этому множество "Если", в основном все упирается в железо. Необходима одновременная поддержка и материнской платой и камнем (для Интел платформы) VT-d, VT-x + Above 4G Decoding + вторая видеокарта (интегрированная пойдет) + 1-2 монитора (в зависимости от количества портов видеовыхода, что бы отдать слабую карту под хост, а игровую для виртуалки). Для АМД там немного свои параметры. При этом нет гарантий что получится без проблем и с первого раза. Ищите похожие конфиги в сети на которых получилось. Определить глубину проблем поможет маленький нюанс, который возможно обходится программно, но я решил что поменять мать будет проще, т.к. предыдущая от Gigabyte этому требованию не соответствовала:
    1) Run the "dmesg | grep ecap" command.

    2) On the IOMMU lines, the hexadecimal value after "ecap" indicates whether interrupt remapping is supported. If the last character of this value is an 8, 9, a, b, c, d, e, or an f, interrupt remapping is supported. For example, "ecap 1000" indicates there is no interrupt remapping support. "ecap 10207f" indicates interrupt remapping support, as the last character is an "f".

    Interrupt remapping will only be enabled if every IOMMU supports it.


    В принципе для проброса хвалят матери от ASRock, они, как правило, имеют необходимые параметры в БИОС, вообще ДО покупки надо смотреть что из этого материнка умеет и какие пункты есть в меню БИОС. Затем, в принципе, есть гайды. У мя получилось прокинуть GTX1070 без проблем, хотя бывает что многих изводит ошибка 43, это драйвер NVIDIA мешает корректно работать видеокарте в виртуалке, что бы покупали проф. решения за многие сотни тысяч рублей. На первый взгляд работает норм, лагов и зависаний нет, но есть свои нюансы, например тот факт что виртуальную машину проще выключить ненароком... для некоторого типа оборудования это может быть вредным. Это надо учитывать. И опять же хост - это Linux в том или ином его виде (хотя встречал мнение что такой проброс делать проще на BSD)

    Резюмируя, если Вы готовы тратить свое время и морочиться с апгрейдом/заменой железа на ПК - то да! В принципе это работает и этого можно добиться. Если хочется чего-то работающего из коробки, работающего по принципу включил и забыл, то стоит потратить свое время на что-то другое.
    Ответ написан
    Комментировать