Железяки:
1. Asus Crossair iv Formula AM3+
2. AMD FX 9590
3. Radeon RX 580 red devil 8 GB (на проброс)
4. Nvidia GT240 для хостовой системы.
5. Монитор с HDMI и аудиовыходом.
Решил не устанавливать Proxmox, куда мне такая махина на одну виртуалку, если даже буду запускать тестовые виртуалки, удобней написать себе несколько шаблонных команд virt-install и virsh в текстовый документ и копипастить их в терминал в случае необходимости. Поставил себе virt-manager, с которым собственно создал, запустил и настроил.
И так:
Перечитав ответ Дениса вдохновился, изучил его статью и понял, что проксмос мне не нужен, статья хорошая, но это чутка не та формулировка моей задачи. У меня дома файлопомойка, на которой я периодически запускаю виртуалки, там нет ничего, ни графического интерфейса, ни проксмоса, там как писал выше я справляюсь только утилитами virt-install и оболочкой virsh, решил делать немного по своему но по чужому шаблону.
И так, я всегда устанавливаю чистые системы, установил Debian только с ssh, подключился с бука и начал настройку:
apt install kde-plasma-desktop qemu-kvm virt-manager
Далее руководствуясь статьей https://habr.com/ru/post/211909/, выполнил подготовку системы:
Все нижеследующее касается моей системы.
root@debian:~# dmesg | grep AMD-Vi
[ 2.478282] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 2.478283] AMD-Vi: Interrupt remapping enabled
[ 2.478422] AMD-Vi: Lazy IO/TLB flushing enabled
я рад за результат.
Включаем модули в ядре.
root@debian:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
После перезагрузки должно получиться:
dmesg | grep pci-stub
[ 7.254134] pci-stub: add 1002:67DF sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 7.254158] pci-stub 0000:02:00.0: claimed by stub
[ 7.254175] pci-stub: add 1002:AAF0 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 7.254241] pci-stub 0000:02:00.1: claimed by stub
Создаем скрипт для подключения устройства к VFIO-PCI.
root@debian:~# cat /usr/bin/vfio-bind
#!/bin/bash
sudo modprobe vfio-pci
for dev in "$@"; do
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
device=$(cat /sys/bus/pci/devices/$dev/device)
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
fi
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
done
Далее я внес свои правки, не люблю писать скрипты в rc.local, пока так, потом может переделаю:
root@debian:~# cat /usr/bin/vfio-bind-start
#!/bin/bash
/usr/bin/vfio-bind 0000:02:00.0 0000:02:00.1
А этот скрипт внес в крон:
@reboot /usr/bin/vfio-bind-start
Даем права на исполнение обоим скриптам.
А теперь переходим настройке проброса и установке системы в virt-manager тут все по статье https://habr.com/ru/post/183468/ и по картинкам.
После установки системы, я обновился, доставил дрова на видеокарту, после перезагрузки получил топор на логотипе загрузки системы, переключил гипервизр в полный экран, что-бы нормально работала мышка и с дрожащими руками переключился на второй выход монитора.
Все прекрасно, никаких error 43.
По поводу ошибки 43, в интернете наткнулся на такое сообщение:
Немного про ошибку 43 - если кратко фирма нвидия -жмоты, на консьюмер сериях видеокарт драйвер определяет что он запущен в вирт машине и принудительно выключается(не устраивает - покупайте GRID)
Как хорошо что я не фанат оборудования "от лукавого", потом обязательно заменю тестовую nvidia на radeon.
Если честно, процесс приготовления виртуализации для Франкенштейна у меня занял меньше времени, чем установка винды, ее обновление и установка игр для проверки.
батлнет пока не стал устанавливать и что-то выкачивать в нем, буду ставить 8.1. Но с Crysis 3 на предложенных настройках, с одним винтом на хоста и гостя в самом начале на корабле фрапс выдал 47 fps. После вывода виртуалки на отдельный ssd можно уже начать тестировать любимый wow.
Не стал ничего оформлять, я думаю кому станет нужно, смогут отделить код и мой текст друг от друга глазом.
В общем все реально и все работает оказывается, во всяком случае оправдало мои ожидания.
Из оставшихся проблем:
1. решить проблему со звуком, так как с пол пинка звук не пробрсился.
2. Все же лучше иметь два комплекта клава\мышь, так как в гипервизоре часто крыса выходит за границы рабочей области ВМ, но я думаю купить какой нибудь переключатель с алиэкспресс, или кскостылить самому будет практичней и интересней.
Фото выкладывать не стану) телефон ну пипец как не очень хорошо снимает.
Спасибо на прекрасный, развернутый ответ. Нашел лишнюю видеокарту для тестов, сегодня или завтра начну черновую сборку. Отпишу как будут результаты.
Мое железо:
1. Asus Crossair iv Formula AM3+
2. AMD FX 9590
3. Radeon RX 580 red devil 8 GB (на проброс)
4. Nvidia GT240 для хостовой системы.
За колабору слыхал, но волнует его функционал. Dmitry Tallmange, можете дать какую-то объективную оценку колаборе? Стоит ли переводить облако на их редакторы с онлиофиса? Как в сравнении, если можете сравнить с onlyoffice, по функционалу?
Сервер>Маршрутизатор>NATпровайдера>Вшнешка
По этой причине нужно цепляться к с VPS.
Кстати еще есть проблема автоматического поднятия vpn, через pon vpn соединение поднимается гно висит то закрытия, то есть не уходит в фон, занимает терминал. Логично пробую прописать в interface:
auto ppp0
iface ppp0 inet ppp
provider vpn
После чего service networking reload и получаю: ifup: failed to bring up ppp0
Если пытаюсь поднять отдельно через ifup он зараза поднимается, но как в случае с pon vpn не уходит в фон.
Мог предположить что ppp0 не поднимается при перезапуске сети из-за DHCP, но мы используем статику! Если есть мысли, по данном поводу, позднее могу кинуть /etc/network/interfaces
Ну во первых мое личное отвращение к данному продукту(apache), он толстый, медленный и ломкий на ддос. Раз вы говорите за VPS значит у вас есть доступ к параметрам системы, и я просто рекомендую вам переосмыслить конфигарацию системы в целях безопасности о которой вы беспокоитесь. Просто описал более продуктивный подход.
Спасибо, попробую. Хотел бы еще узнать как все же повторно с нуля запустить установку FreePBX через ./install_amp или установка данного пакета решает проблему с подключением(первая строка ошибки)?
Хостовая Debian 10
Гостевая Windows 7 Po
Железяки:
1. Asus Crossair iv Formula AM3+
2. AMD FX 9590
3. Radeon RX 580 red devil 8 GB (на проброс)
4. Nvidia GT240 для хостовой системы.
5. Монитор с HDMI и аудиовыходом.
Воспользовался статьями:
https://habr.com/ru/post/183468/
https://habr.com/ru/post/211909/
https://habr.com/ru/post/437598/
https://wiki.debian.org/VGAPassthrough
Многое повторяется, но из всех 4 ссылок можно вкурить тонкости и необъясненные моменты какой-то отдельной взятой статьи.
Решил не устанавливать Proxmox, куда мне такая махина на одну виртуалку, если даже буду запускать тестовые виртуалки, удобней написать себе несколько шаблонных команд virt-install и virsh в текстовый документ и копипастить их в терминал в случае необходимости. Поставил себе virt-manager, с которым собственно создал, запустил и настроил.
И так:
Перечитав ответ Дениса вдохновился, изучил его статью и понял, что проксмос мне не нужен, статья хорошая, но это чутка не та формулировка моей задачи. У меня дома файлопомойка, на которой я периодически запускаю виртуалки, там нет ничего, ни графического интерфейса, ни проксмоса, там как писал выше я справляюсь только утилитами virt-install и оболочкой virsh, решил делать немного по своему но по чужому шаблону.
И так, я всегда устанавливаю чистые системы, установил Debian только с ssh, подключился с бука и начал настройку:
apt install kde-plasma-desktop qemu-kvm virt-manager
Далее руководствуясь статьей https://habr.com/ru/post/211909/, выполнил подготовку системы:
Все нижеследующее касается моей системы.
root@debian:~# dmesg | grep AMD-Vi
[ 2.478282] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 2.478283] AMD-Vi: Interrupt remapping enabled
[ 2.478422] AMD-Vi: Lazy IO/TLB flushing enabled
я рад за результат.
Включаем модули в ядре.
root@debian:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
firewire-sbp2
lp
rtc
pci_stub
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_amd
sudo update-initramfs -u
Отключаем пробрасываемые устройств
lspci -nn | grep RX
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] [1002:67df] (rev e7)
02:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] [1002:aaf0]
root@debian:~# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci-stub.ids=1002:67df,1002:aaf0"
sudo update-grub
После перезагрузки должно получиться:
dmesg | grep pci-stub
[ 7.254134] pci-stub: add 1002:67DF sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 7.254158] pci-stub 0000:02:00.0: claimed by stub
[ 7.254175] pci-stub: add 1002:AAF0 sub=FFFFFFFF:FFFFFFFF cls=00000000/00000000
[ 7.254241] pci-stub 0000:02:00.1: claimed by stub
Создаем скрипт для подключения устройства к VFIO-PCI.
root@debian:~# cat /usr/bin/vfio-bind
#!/bin/bash
sudo modprobe vfio-pci
for dev in "$@"; do
vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
device=$(cat /sys/bus/pci/devices/$dev/device)
if [ -e /sys/bus/pci/devices/$dev/driver ]; then
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
fi
echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id
done
Далее я внес свои правки, не люблю писать скрипты в rc.local, пока так, потом может переделаю:
root@debian:~# cat /usr/bin/vfio-bind-start
#!/bin/bash
/usr/bin/vfio-bind 0000:02:00.0 0000:02:00.1
А этот скрипт внес в крон:
@reboot /usr/bin/vfio-bind-start
Даем права на исполнение обоим скриптам.
А теперь переходим настройке проброса и установке системы в virt-manager тут все по статье https://habr.com/ru/post/183468/ и по картинкам.
После установки системы, я обновился, доставил дрова на видеокарту, после перезагрузки получил топор на логотипе загрузки системы, переключил гипервизр в полный экран, что-бы нормально работала мышка и с дрожащими руками переключился на второй выход монитора.
Все прекрасно, никаких error 43.
По поводу ошибки 43, в интернете наткнулся на такое сообщение:
Немного про ошибку 43 - если кратко фирма нвидия -жмоты, на консьюмер сериях видеокарт драйвер определяет что он запущен в вирт машине и принудительно выключается(не устраивает - покупайте GRID)
Как хорошо что я не фанат оборудования "от лукавого", потом обязательно заменю тестовую nvidia на radeon.
Если честно, процесс приготовления виртуализации для Франкенштейна у меня занял меньше времени, чем установка винды, ее обновление и установка игр для проверки.
батлнет пока не стал устанавливать и что-то выкачивать в нем, буду ставить 8.1. Но с Crysis 3 на предложенных настройках, с одним винтом на хоста и гостя в самом начале на корабле фрапс выдал 47 fps. После вывода виртуалки на отдельный ssd можно уже начать тестировать любимый wow.
Не стал ничего оформлять, я думаю кому станет нужно, смогут отделить код и мой текст друг от друга глазом.
В общем все реально и все работает оказывается, во всяком случае оправдало мои ожидания.
Из оставшихся проблем:
1. решить проблему со звуком, так как с пол пинка звук не пробрсился.
2. Все же лучше иметь два комплекта клава\мышь, так как в гипервизоре часто крыса выходит за границы рабочей области ВМ, но я думаю купить какой нибудь переключатель с алиэкспресс, или кскостылить самому будет практичней и интересней.
Фото выкладывать не стану) телефон ну пипец как не очень хорошо снимает.
Еще раз спасибо за личный опыт Денису)