Предыдущие статьи «Как из домашнего ПК средствами виртуализации сохранить игровую систему» и Проброс видеокарты в ноутбуке. Laptop GPU Passthrough породили множество откликов и значительный интерес к теме виртуализации. Благодаря Вашим вопросам и сообщениям на Хабрахабре и Тостере возникло понимание, что тему необходимо расширить и дополнить, а потому приглашаю всех Вас под кат, что бы обсудить нюансы этой темы, и разобрать типовые ошибки, проблемы и пути их решения для всех тех, кому это интересно с практической точки зрения ;)
1. Актуализация статьи о настройке проброса ВК в ВМ на десктопе от 27 января 2019
Здесь нужно сказать следующее:
1.1 т.к. статья была написана когда актуальная версия ProxMox была 5-я, а на текущий момент уже 7-я, то в настройки вкрался ньюанс, а именно: начиная с 6-й версии ProxMox'а для случаев когда юзер для ВМ использует БИОС UEFI, а иначе ВК не пробросить в ВМ, необходимо при конфигурировании оборудования гостевой виртуальной машины добавлять EFI диск, который занимает 4.19Мб и хранит информацию о настройка виртуального БИОСа.
Остальные настройки и положения из той статьи актуальны по сей день без изменений.
1.2 Так выглядит пример настроенной системы, на которой я уже живу 3 года без переустановки,
(снято на тапок, освещение тоже не очень, видео годится только в качестве иллюстрации)
2. Актуализация статьи о настройке проброса ВК в ВМ на ноутбуке от 6 сентября 2021
Здесь нужно сказать следующее:
2.1 О MUXless и MUXed организациях подключения дисплея к видеокартам. Дело в том что я не совсем верно, как правильно меня поправили в комментариях к моей статье, выразился. Т.е. проброс ВК в ВМ возможен во всех случаях (MUXless и MUXed), со своими нюансами естественно, при условии если железо поддерживает соответствующие технологии:
2.2 Второе замечание из комментариев к статье: Лучше в кач-ве контроллера пользовать virtio scsi single, но тогда при установке системы потребуется вторым диском DVD подключать диск с драйверами и подсовывать драйвера во время установки, либо сперва установить в гостевой ВМ Windows на IDE/SATA виртуального диска, установить в системе драйвера и в файле настроек изменить подключение виртуального диска на SCSI
2.3 Так выглядит пример настроенной системы на ноутбуке
(снято на тапок, освещение тоже не очень, видео годится только в качестве иллюстрации)
Некоторые нюансы по настройкам железа
3.1 Проброс в ВМ клавиатуры/мыши (порт PS/2) или клавиатуры ноутбука (подключенной шлейфом к мат.плате) (не usb устройства):
сперва вводим команду в консоли (при необходимости прав добавляя sudo)
## dmesg | grep input
Ищем в листинге текста запись навроде
…
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
…
Запоминаем цифру 2 в конце, она может быть и другой. Потом в файл настроек ВМ в строку добавляем/правим:
args: -object 'input-linux,id=kbd,evdev=/dev/input/event2,grab_all=on,repeat=on'
вставляя 2 в конец evdev=/dev/input/event2
Для мыши/тачпада — аналогично.
3.2 Что касается USB устройств там все проще, устройства прокидываются прямо из веб формы по ID или же целиком можно прокинуть порт. Однако есть нюанс — если Вы по каким-либо причинам не можете как и я прокинуть аудиоустройство в ВМ, то проброс порта/устройства через USB решает эту проблему, но звук может начать отваливаться через некоторое время работы, шипеть/гудеть и прочие… прочее, в то же время на нативной системе все будет замечательно. В этом случае необходимо пробрасывать не порт/устройство, а сам контроллер USB как PCIe устройство по методу указанному в статье о пробросе ВК в ВМ, только без доп.настроек конфигов системы. И все резко наладится. Но в то же время через хост после запуска ВМ с такими настройками пробросить другие устройства с этого контроллера больше не получится.
Дополнительно с 6й версии ProxMox было добавлено виртуальное аудио-устройство
которое будет работать только в том случае, если Вы будете админить ВМ через SPICE, т.е. через WEB-интерфейс или специальный клиент SPICE в системе, навроде RDP. Кроме того сам звуковой контроллер убран из lspci выдачи в консоли так что если нужен звук — заводим или PCI-E звуковоую карту или PCI-E USB контроллер с внешней USB звуковой картой. Возможно в будующем эта проблема будет решена. Да, звук будет работать нормально при пробросе USB звуковой карты как порта с девайсом, но микрофон при этом работать не будет. Нормальная работа микрофона без наводок возможна только с полным пробросом контроллера, при этом звук будет тихим.
3.3 Жесткие диски можно пробрасывать как через проброс контроллера как PCIe устройство по методу указанному в статье (не рекомендую пробрасывать контроллер интегрированный в материнскую плату, только подключенные к PCIe), в этом случае диски выпадают для хоста и управление ими полностью на себя берет гостевая ВМ, либо напрямую:
заходим в
## cd /dev/disk/by-id
через dir смотрим листинг…
копируем строки вида ata-WDC_WD40EFRX-68WT0N6_WD-WCC4E1АС9SХ9, в которой прописан интерфейс подключения, марка и номер серии жесткого диска. Затем открываем Файл конфигурации ВМ и пишем:
sata1: volume=/dev/disk/by-id/ata-WDC_WD40EFRX-68WT0N6_WD-WCC4E1АС9SХ9
и все работает, при этом учитывайте, что sata0-sata5, т.е. для одной ВМ число подключаемых таким образом дисков, включая виртуальных, не может превышать 6шт. В гостевой системе такие диски имеют урезанный QEMU SMART. который каждый раз при старте ВМ обнуляется и совершенно не информативен. SMART таких жестких дисков можно мониторить через WEB-интерфейс ProxMox'а или другими методами хоста на Linux:
4. Некоторые замечания по настройке Debian Linux и установке Софта
Все что будет написано дальше — спорно, т.к. автор еще только учится и разбирается в новой для себя ОС Linux. В тех случаях если написанное не является верным — прошу наставить на путь истинный. Спасибо.
4.1 Linux при настройке локального времени почему-то считает что время установленное в BIOS это время по Гринвичу (GMT+0), в соответствии с локализацией к этому времени добавляются еще свой родной часовой пояс, MSK (GMT+3) в случае автора. В то время как Windows время из BIOS считает местным, в зависимости от настроек часового пояса в системе юзера. Таким образом, если Linux стоит дуал-бутом в Windows и Linux, местное время в двух ОС принимает разницу в 3 часа. Немного неудобно.
4.2 Локализация.
4.2.1 При выборе настроек региона в KDE необходимо выбирать те, которые написаны кириллицей «Россия — русский (ru_RU)». Если выбирать «Russia (ba_RU)», «Russia (cv_RU)», «Russia (myv_RU)», то это русскоязычные настройки для республиканских народов РФ, в частности Чувашей и других. Я ничего не имею против, но я потерял прилично времени прежде чем разобрался почему у меня проблемы с кодировкой. Хотя возможно это именно то что Вы искали.
4.2.2 Для того что бы переключаться с английской расскладки на русскую и обратно необходимо добавить русскую раскладку. Для этого в настройках жмем кнопку Add, после чего выбираем русскую раскладку, переключение между раскладками настраивается тут же в блоке «Shortcuts for switching layout» -> «Main shortcuts». Дополнительно можно настроить нюансы переключений между языками.
Маленький нюанс. В Windows при смене языка и если нужно сразу вводить текст с заглавной буквы я просто жму Ctrl+Shift, затем отпускаю клавишу Ctrl и, удерживая Shift, последующие символы вводятся заглавными буквами. Здесь это не так, после переключения, если не нажимать Shift повторно, а продолжать удерживать, то вводимые буквы набираются в нижнем регистре. Немного бесит, если честно, если Вы знаете как решить данную проблему или обхитрить систему — прошу дать знать. Спасибо.
4.2.3 Для того что бы выставить приоритет на хосте для WiFi перед LAN необходимо использовать метрики. Возможно я перемудрил, но зато работает:
## nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp7s0f1
iface enp7s0f1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.11.200/24
gateway 192.168.11.1
bridge-ports enp7s0f1
bridge-stp off
bridge-fd 0
metric -100
auto wlp0s20f3
metric 100
4.3 Установка привычного или аналогичного софта в Linux.
4.3.1 Установка браузера Vivaldi. Не смотря на то что многое в линуксе решается через консоль, хочется перед глазами иметь софт, по крайней первое время, максимально похожий на тот чем пользуешься в Windows. В данном случае проблемы начинаются сразу. Установка Vivaldi из deb-пакета не прокатила, пришлось подключать репозиторий:
APT (Debian, Ubuntu, Mint…)
Import the public key (to allow for verification of the APT repository)–triple-click to select the entire line
wget -qO- https://repo.vivaldi.com/archive/linux_signing_key.pub | sudo apt-key add -
Add the repository
sudo add-apt-repository 'deb https://repo.vivaldi.com/archive/deb/ stable main'
Install Vivaldi
sudo apt update && sudo apt install vivaldi-stable
help.vivaldi.com/desktop/install-update/manual-setup-vivaldi-linux-repositories
4.3.2 Установка Discord из deb-пакета не прокатила, пришлось искать пути решения, которые были найдены в ролике на YouTube
4.3.3 Несколько слов об софте для которого пришлось искать аналоги:
а. софт на который я нашел аналоги к которым можно привыкнуть:
- Total/Windows Commander — Double Commander как самый продвинутый из всех авриантов, но есть и порт FAR manager for linux.
- MS Office — Libra Office/WPS Office здесь сразу стоит принять что VBA макросы полноценно не заведутся нигде, если нужны макросы, то придется осваивать JS и другие языки, собственно макросовая тема под Линуксом сильно уступает в кол-ве контента для VBA. При этом так же нужно быть готовым к тому что офисные файлы будут отображаться с возможным искажением или даже потерями строк, по сравнению с открытием тех же файлов на Windows в MS Office. Что бы что-то посмотреть сойдет, то что бы работать и быть уверенным в том что на любом конфиге на любом офисном софте один и тот же файл откроется одинакого… к сожалению нет. Здесь я только вижу путь проектировщика — после любых правок проекта выводи все листы на печать в файл PDF-формата. Зато печататься у всех будет одинаково.
- Paint — KolourPaint/Krita — для простых манипуляций с графическими файлами.
б. софт на который я пока что не нашел для себя удобных аналогов:
- WinRaR — RAR под Линукс существует и его даже можно скачать, но это приложение для консоли. Возможно можно будет заколхозить с Double Commander'ом, но пока не дошли руки.
- Notepad++ — шикарный текстовый редактор, аналог которого сложно найти под Линукс. Говорят есть версия flatpak, но как ставить такой софт я еще не разобрался.
- ACDSee/FastStone — программа для просмотра изображений и простенького их редактирования. Под Линуксом портированных версий не имеют.
5. Ноутбук, температуры и профили для карлсонов
Собственно эта тема ищется сложнее всего, как и софт по данной тематике. Собственно ее можно разбить на 2 части:
5.1 Мониторинг температур. Здесь выручает консоль, т.к. есть даже статья на данную тематику, но дьявол кроется в деталях. После установки и настройки lm-sensors какие-никакие датчики температур начинают работать и опознаваться системой, можно даже Psensor поставить или мониторить из-под консоли, или поставить и настроить Conky. которая опять же настраивается даже не через консоль, а конфигурационный текстовый файл…
И вот мы решили мониторить температуру:
И возникают одни вопросы, что такое сенсоры: temp1, Sensor 1, Sensor 2? Где тут температуры дискретной ВК и общей на ЦП!?
fancontrol у меня не установился… т.е. управлять карлсонами деже из командной строки не могу и стоит надеяться только на пресеты БИОСа… после удобного control center 3.0 это фиаско, и одна из двух вещей которые сдерживают окончательный переход с Windows на Linux…
5.2 Андервольтинг/Даунвольтинг — управление множителем и питанием процессора.
То ли тема не популярна под Линукс, то ли мне нужно пройти пару семестров о поиске в google, аналогов IntelXTU/TrottleStop под линукс днем с огнём не сыщешь…
5.3 Данный пункт относится к ноутбукам Clevo.
Несмотря на то, что сам ОЕМ производитель данные ноутбуки никогда сам не сертифицировал для Линукс и не выпускал для них драйверов под Линукс и софт, тем не менее некоторые ноутбуки, в т.ч. и игровые, продаются двумя фирмами с предустановленными Линукс Дистрибутивами. Это System76 и Tuxedo.
Ссылка на библиотеку для ControlCenter и софт Tuxedo:
packages.ubuntu.com/groovy/amd64/libappindicator3-1/download
www.tuxedocomputers.com/en/Infos/Help-and-Support/Instructions.tuxedo
deb.tuxedocomputers.com/ubuntu/pool/main/t
github.com/tuxedocomputers
Ссылка на софт System76:
support.system76.com/articles/system76-software
github.com/system76
System76 пилит софт только под Arch и Fedora Linux, Tuxedo делает софт еще и под Ubuntu, но судя по всему 100% совместимости нет. fancontrol от Tuxedo в Debian ставится отказывается, в то время как tuxedo-control-center встал со скрипом… видимо в данном случае совместимость софта между Ubuntu и Debian не полноценная, а может быть я чего-то не знаю/не учел.
P.S.
Несмотря на то что графические интерфейсы Linux в последнее время здорово продвинулись и обгоняют Windows проблемы с софтом и настройками все еще присутствуют. На текущий момент настроить проброс ВК в ВМ, ИМХО, проще чем подчинить параметры питания и скорость вращения профилей куллера в ноутбуке…
Новый день принесет новый опыт. Всем добра, берегите себя и своих близких, а так же Ваши гаджеты.
Комментарии (25)
monane
17.10.2021 19:41Спасибо за полезную информацию. Надо будет попробовать. Пока вынужден сидеть на win 10, так как софт на котором хотят заказчики это win, а костылями не запустить. VB тоже такое себе решение, оказывается есть без зубодробительных танцев решение.
upd не люблю менять то что написал но сначала не обратил внимание поэтому добавлю:4.1 Linux при настройке локального времени почему-то считает что время установленное в BIOS это время по Гринвичу (GMT+0), в соответствии с локализацией к этому времени добавляются еще свой родной часовой пояс, MSK (GMT+3) в случае автора.
Это решаемо losst.ru/sbivaetsya-vremya-v-ubuntu-i-windows
edo1h
17.10.2021 23:474.1 Linux при настройке локального времени почему-то считает что время установленное в BIOS это время по Гринвичу (GMT+0), в соответствии с локализацией к этому времени добавляются еще свой родной часовой пояс, MSK (GMT+3) в случае автора. В то время как Windows время из BIOS считает местным, в зависимости от настроек часового пояса в системе юзера. Таким образом, если Linux стоит дуал-бутом в Windows и Linux, местное время в двух ОС принимает разницу в 3 часа. Немного неудобно.
скорее наоборот windows почему-то по умолчанию хранит время не в utc.
получается чтобы узнать какое время хранится в rtc, нам нужно где-то хранить стороннюю информацию: в каком часовом поясе мы находимся и был ли произведён переход на летнее/зимнее время.
например, в случае использования нескольких ос на одном компьютере мы получаем проблему с синхронизацией этой информации между ними.И возникают одни вопросы, что такое сенсоры: temp1, Sensor 1, Sensor 2?
увы, датчики не унифицированы, нужно смотреть для вашей материнской платы (может быть кто-то выложил в гугле, или можно путём экспериментов с виндовым софтом или bios выяснить что где).
хотя на самом деле эта информация практически бесполезна.Где тут температуры дискретной ВК
не подскажу, у меня как-то везде интегрированное видео.
возможно, их тут вообще нет )посмотрите вывод консольного sensors, там понятнее какое значение к чему относится
и общей на ЦП!?
«Package id 0»
fancontrol у меня не установился
не установился или не получилось управлять оборотами кулеров? если второе, то, как я понимаю, это нормально для ноутбуков (
хотя могу ошибаться, у сейчас на руках только один нотбук с linux, оборотами там управляет bios, всё просто работает, не было даже повода разбираться.
то же самое с настольным компьютером: fancontrol работает, но схема из bios меня полностью устраивает, поэтому fancontrol удалил, зачем мне дополнительная потенциальная точка отказа.fancontrol от Tuxedo в Debian ставится отказывается, в то время как tuxedo-control-center встал со скрипом… видимо в данном случае совместимость софта между Ubuntu и Debian не полноценная, а может быть я чего-то не знаю/не учел
смешивать пакеты из разных дистрибутивов (и даже из разных релизов одного дистрибутива) очень не рекомендуется.
а на вашем скриншоте видно, что вы пытаетесь установить одиночный deb-пакет, а он зависит от другого (а тот, возможно, от другого и т. п.).
если уж очень хочется попробовать, нужно прописать репозиторий в/etc/apt/sources.d
, тогда apt install сам сможет установить пакеты по зависимостям. но это на ваш страх и риск, гарантий, что всё пройдёт гладко дать не могу.
akhkmed
18.10.2021 00:47Спасибо за статью.
Когда по заказу пытался сделать DAW на виртуалке, посоветовался с опытным админом. Он сказал, что одного проброса мало, надо у хоста отгрызть часть ядер процессора на этапе загрузки и отдать их гостю полностью. Иначе хорошего тайминга не получить.
Но если всё железо отдавать гостю в монопольное владение, то может её загружать прямо на железе? Тогда я так и сделал. Вы не рассматривали вариант без виртуализации?
LuchS-lynx Автор
18.10.2021 01:31Работа в виртуальной машине имеет как свои плюсы, так и свои минусы, например виртуалку проще бэкапить и разворачивать, можно настраивать под разные задачи и прятать ее. С другой стороны ее работа требует определенного железа, обычно виртуалке не выделяется 100% ресурсов, пусть минимальные, но есть потери на виртуализацию, порядка 2-5%. Виртуализация это инструмент.
Лично для меня это способ, с одной стороны, перейти на Линкус максимально просто и безболезненно, но при этом для работы пользоваться софтом Windows, с другой стороны это дополнительная безопасность данных. У этого есть своя цена, озвученная выше, я считаю что меня она устраивает.
akhkmed
28.10.2021 23:22Согласен с вами, потеря ресурсов почти всегда минимальная. Но отзывчивость (latency) системы сильно страдает. Кстати, в вашем способе прокидывания дисков на виртуалку сильно падает скорость? Когда проверял на qemu, то хорошие результаты почти без потерь iops получил только с hostdev type='scsi'. Но в последних версиях он считается не самым быстрым.
LuchS-lynx Автор
29.10.2021 00:52В этом видео есть тесты скорости дисков
https://m.youtube.com/watch?v=wjlmWHJiEug
В первом случае это тест скорости чтения/записи в виртуальный SATA диск, который базируется на 2.5" SATA SSD Kingston 480Gb, второй тест это тест 3.5" SATA HDD WD Red 4Tb проброшенного в виртуалку напрямую, но без контроллера sata1: volume=/dev/disk/by-id/ata-WDC_WD40EFRX-68WT0N6_WD-WCC4E1АС9SХ9
Просадки есть, главным образом по чтению/записи рандомных блоков. Линейная скорость почти не просела
Меня результаты полностью устраивают, потому что для казуального гейминга, работы с видеоредактором и работы в офисе более чем хватает, на глаз я не вижу разницы.
Nnnnoooo
18.10.2021 03:59GPU Passthrough хорошо работает почти для всех видеокарт, кроме последних iGPU интела (Intel Iris XE например).
Единственный гипервизор где работает проброс этих карт — это ACRN, но это это еще тот BDSM и глюкодром.Так что последние NUC-и не советую брать, если интересует хоть какое-то использование интел графики в виртуальном окружении. Сам попал на это — лучше бы купил решение на амд. У интела обычно все лучше в плане дров для встройки под линуксом, но с последними они что-то накосячили и kvm/qemu с ними не работает нормально (вернее нужен специальный патченный видеобиос которого конечно же нет в наличии)
oller
20.10.2021 20:33Плохо работает на amd платформах десктопных, требуются обновления bios, кучу шаманств с параметрами загрузчика и после этого переодические проблемы разного характера.
Также плохо работает на старых интелах, где нет поддержки в процессоре и с старыми bios
Nnnnoooo
20.10.2021 22:49Также плохо работает на старых интелах, где нет поддержки в процессоре и с старыми bios
Ну это на ооочень старых интелах.
Плохо работает на amd платформах десктопных, требуются обновления bios, кучу шаманств с параметрами загрузчика и после этого переодические проблемы разного характера.
Но оно хотя бы работает. Т.е. если нужен Single GPU Passthrough и какой либо из новых процов, то тут только амд, т.к. повторюсь, что на 11-м поколении интела и выше пока что это не возможно (и бубен не поможет). И еще раз повторюсь что это есть в ACRN-е от интела, но продукт уж очень специфический и довольно таки глючный (хоть и очень интересный по фичам — например из коробки есть поддержка прямого вывода виртуальной GVT-g карты на hdmi и т.д.). И все бубны при настройке виртуалок и графики на амд, просто цветочки по сравнению с установкой и настройкой ACRN-а
Fox_exe
18.10.2021 09:08начиная с 6-й версии ProxMox'а для случаев когда юзер для ВМ использует БИОС UEFI, а иначе ВК не пробросить в ВМ
Отлично всё работает на любом BIOS'е. Просто требуются разные шаманские обряды, чтобы оно заработало.
Хотя лично у меня всё работает с SeaBIOS, а вот OVMF (UEFI) работает только один раз - после включения сервера. Если выключить VM - она больше не стартует (100% загрузки выделенных ядер проца и никакой реакции).
А ещё понадобилось оставить виртуальную видеокарту (vga: default). Хотя во всех мануалах рекомендуется её отключать (vga: none), чтобы не мешалась.
dimkinkot
06.11.2021 00:49Вопрос для понимания, пока на стадии изучения и тестирования (могу немного путать теплое с мягким))):
В чем принципиальное отличие в виртуализации и организации массивов и ФС, кроме графической оболочки:
Proxmox от Debian + |KVM + IOMMU| + |LXC| + |RaidZ + ZFS|
Unraid от Debian + |KVM + IOMMU| + |Docker| + |Snapraid + XFS + BTRFS|
OMV от Debian + |KVM| + |Docker| + |Mdraid + ext4 + RaidZ + ZFS|
Понятно что функционал бегло по основному (для меня сейчас), хочется понять что принципиально нового, удобного, полезного в выборе данных оболочек против Linux с установленными и настроенными модулями вручную?
Поясню почему задаю вопрос - и Proxmox, и Unraid, и OMV как мне показалось, задают некие ограничения создателями, будь то выбор файловой системы или типа массива, либо выбор контейнеризации, понятно что на хост разрешают "добавить", но красными буквами "не рекомендуют!".
Кто хочет кидайте тапки, но вот начал выбирать систему (FreeBSD не рассматривал), принципы реализации, и получается что в каждом варианте ИМХО есть четко выраженные взгляды создателей оболочек, систем (называйте как угодно), и приходится подстраиваться, либо править то, что не рекомендует создатель и при обновлении модулей оболочки что-то да имеет большую вероятность "полететь". В каждой из этих систем так или иначе для тонкой настройки приходится лазить под капот, дак не проще ли сразу под капот засунуть все что требуется без шилдика?
Например я хочу использовать |KVM + IOMMU| + |Docker|+ |LXC|+ |Mdraid + Snapraid + ext4| + Оболочку для мониторинга и быстрой корректировки как у OMV, но не OMV, но оболочка дело привычки ей как раз можно пренебречь и поставить тот же Webmin или Cockpit, хотя и тот и другой как две противоположности мне не зашли, лучше вообще без оболочки и пользоваться окружением через VNC если припрет "пощелкать" по визуальному интерфейсу + добавить приблуду для мониторинга по типу Grafana.
Верно ли я понял, что чего-то принципиально революционного отличающегося от чистого Linux Debian, Ubuntu, и прочих + нужные приложения и модули, в подобных оболочках нет?
Хочется услышать мнение опытных практиков. Спасибо.
P.S. Из всех троих больше импонирует OMV, но в нем заметил иные ограничения создателем - привязка настроек графической оболочки к конфигам, т.е. то что есть в оболочке приоритетнее ручной правки конфига, что тоже не устраивает, и не уверен в возможности использования IOMMU.
khajiit
06.11.2021 11:56+1Все три это разного рода оболочки поверх дебиана. При этом прокс использует доработанное ядро от красношапки и свежий qemu.
OMV этот трогал очень давно, а вот Docker это такая дико самостоятельная штука, которая не просто активно живет своей жизнью и требует регулярных приседаний вокруг чистки хранилища образов, а еще и прячет все поднятое в нем активно меняет настройки сети хоста. Первое не всегда нужно, второе не всегда желательно.
ZFS очень крутая штука, если вам важна логическая целостность данных, эффективный кэш (он у нее свой, arc), дедупликация при записи (ест много памяти), блочные устройства (zvol), легковесные снепшоты и при этом дифференциальная синхронизация — берите и не сомневайтесь.Из полезного прокс умеет пересылку разницы между снепшотами (replication) и автоматическое поднятие сервиса на другой ноде (HA). По остальным — щупать не доводилось.
dartraiden
А есть какая-то возможность организовать всё это при следующих условиях:
— монитор лишь один (с 2 входами и возможностью переключения между ними в настройках монитора)
— видеокарта без портов (т.е. она работает чисто как 3D-ускоритель, передавая картинку на встроенную графику по PCI-E)
таким образом, сетап соответствует схеме
"
LuchS-lynx Автор
Чисто теоретически есть, но сразу говорю, что я не пробовал данную методику, а описанная мной все же требует или видеопорт, подключенный напрямую к ВК, или прямой вывод дискретки на дисплей ноутбука:
https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
Есть еще один вариант, это проброс интегрированной ВК в ВМ, судя по всему работает почти на любом ЦП от Интел, начиная с 4го поколения, но конкретно под ProxMox'ом работает медленно, есть вопросы по выводу изображения на дисплей. Гуглится по gvt-d
Fox_exe
Встройку можно и целиком пробрасывать, как и отдельную видяху. И вывод на монитор будет работать без особых проблем. Даже звук по HDMI можно передавать, если ещё и встроенный звук пробросить.
А GVTd-D - это именно виртуальные ускорители графики, которых можно сделать несколько штук и пробросить в несколько виртуалок.
Но вывод на физический дисплей невозможен по определению.
LuchS-lynx Автор
Я глубоко не копал, но пробросить встройку как отдельную ВК в ВМ у меня не получилось с наскока. Чисто теоретически в этом случае изображение пойдет, для ноутбука, не на внешний дисплей, а на дисплей ноутбука, что сделает работу комфортной. Конечно мыслится что если физически прокинуть ядра ЦП + встройку + дискретку, то получим на выходе тот же ноутбук, но в виртуалке... Но практически пока что у меня не получилось.
Возможно это будет следующая тема для моей новой статьи.
Fox_exe
Не совсем понимаю, зачем вообще это на ноуте?
А ещё если на ноуте есть дискретное видео, то в схеме "Muxed" дискретное видео не сможет выводить картинку на экран, хотя и будет доступно в хост-системе (т.к. мультиплексор управляется встроенной видяхой, а она недоступна хосту при пробросе в виртуалку)
Лично я этой темой заморачивался т.к. у меня неттоп, который и роутер и файлопомойка и куча чего ещё чисто серверного. И я решил, до кучи, сделать из него ещё и медиацентр (Kodi, Steam, RetroArch и т.д.) причем с виндой в отдельной виртуалке с возможностью подключать физическую клаву/мыш/геймпад
LuchS-lynx Автор
Виртуализация несет как плюсы, так и минусы. Лично для меня главное это удобства резервирования и безопасности.
на чем реализовывали? каким гайдом пользовались для настройки?
Fox_exe
Резервирование? Так это другими способами делается (Кажется у Акрониса была тулза, позволяющая делать снэпшоты диска и откатываться на них, если потребуется. Онаже позволяла вообще не сохранять изменения на диске при перезагрузке компа)
Безопасность? Вот тут не понял. Виртуалка от физического компа ничем не отличается. Если её хакнули - хакнут и всё остальное, т.к. оно всё в одной сети находится (Если только роутером всё не разграничено).
Медиацентр собирал сам по кусочкам из подручных средств. В основе - KODI. Из него уже запускается всё остальное, через плагины.
Конфиг самой виртуалки с виндой и проброшенной встроенной видяхой
В "args" идут два параметра:
cpu - дефолтная строка запуска плюс host, aes и hypervisor. Последнее требуется для работы Bluestacks и некоторых других софтин, которые отказываются работать на виртуальном железе.
vfio-pci - собственно, проброс самой видеокарты. Тут важно "addr=0x2". Как я понял - драйвера на встроенную графику Intel гвоздями прибиты к этому адресу и если видяха не там - ничего работать не будет.
"hostpci0: 0000:00:1f.3" - это звуковуха. Работает только один раз. Если выключить виртуалку, то при следующем её включении звук "потеряется". Помогает только перезагрузка всего сервера (хоста).
Ps: До чего же неудобный и кривой редактор текста на хабре... жуть...
LuchS-lynx Автор
Как по мне бэкап виртуалок удобнее и проще. Не нужно перезагружаться например, для отката. Я могу разворачивать несколько копий из бэкапа на одном и том же диске и ставить их параллельно. Акронис такое не позволит без танцев с бубном.
На Хосте Линукс, если настроить сеть для ВМ без доступа в интернет, то сохранность данных на виртуалке резко повышается, а всяких вирусов под линукс сильно меньше чем под винду.
Гипервизор себя ничем не выдает внешне, с учетом того что Линукс для большинства пользователей темный лес, то даже при попадении ноутбука в чужие руки, например хозяин ушел на обед, а вагончик ПТО оказался открытым с техникой для технадзора, то вытащить оттуда инфу он не сможет. Даже если вынет диск физически.
Хост предполагаю оставить для работы с тырнетом - Youtube + новости + почта. Тут все решается паролями.
Интересно. Нужно будет пробовать.
у вас получилось изолировать устройство? У меня на домашнем ПК не вышло, в итоге вылетает вся группа, а в ней LAN... и привет сеть и тырнет.
Fox_exe
Вроде того. Proxmox позволяет частичный проброс, даже если в группе несколько устройств.
Моя IOMMU группа со звуковухой
Не знаю, как, но SMBus, ISA, MemControl не прокинулись в виртуалку. Только звук. Остальное осталось в хосте и, вродь как, работает.
Ps: Сетевухи у меня все в отдельных группах (6 штук!)
Если диск не шифрованный - достать данные ниразу не проблема.
Можно даже саму виртуалку запустить и зайти в неё.
В остальных случаях - Linux + CryptoFS или другим шифрованием. LVM или ZFS в качестве файлосистемы с поддержкой снепшотов.
И VirtualBox с виндой, если очень надо.
LuchS-lynx Автор
для их проброса в ВМ нужно принудительно прописывать, для хоста они тоже отваливаются, после старта ВМ с проброшенной звуковой картой введите на хосте lspci
специалисту да это возможно, или good user'у, но у меня на участке народ не такой продвинутый что бы разобраться что на хосте с Линуксом крутится виртуалка и все данные в ней. Особенно если еще и Линукс затюнить под винду. Хотя на счет этого я еще не определился. За условные 10-30мин они не разберутся, мне этого достаточно. А если требуется отсутствовать дольше, то я всегда уношу с собой ноутбук в спец рюкзаке.
Nnnnoooo
Nnnnoooo
Работать будет, но будет очень небольшой лаг, связанный с копированием памяти из дискретной GPU в встройку — именно этим и занимается Looking Glass.