73

Как я запилил виртуализацию

Всем привет! Вот обещанный пост по KVM+pci-e passthrough + steamlink.

Итак, начнем. Дома у меня уже лет так 10 живет сервер, живет себе, раздает интернет, качает торрнеты, файлопомойка на нем, еще по мелочи что-то. Сделано все было на Gentoo, ну и так до сих пор на ней. Менялось железо (основной упор на mini-itx + тихие кулеры).


Остальное железо дома - это айпад, рабочий ноутбук на дебиане, айфон, андроид телефон,  андроид(minix neo +KODI) для телевизора, пара одноплатных пк (pi3 + odroid c2) и достаточно приличный ПК с виндой(честно приобретенной, если что) для игор. В какой то момент я с семьей переехал и стало понятно, что придется пожертвовать размерами моего рабочего стола и места для нормального пк не будет, увы. и я стал посматривать на всякие вещи для ускоренной графики на тонких клиентах.

Сразуже мне попался вариант на VirtualGL+ tigerVNC, но не проканало, поскольку пришлось бы использовать решения на wine и прочий playonlinux, который работает не очень, во всяком случае у меня на не запустился Origin.

Следущее решение которое я нашел - Steamlink, если кратко -то это вроде бы решение с ARM камнем и ffmpeg с короткими буферами. для моих задач подошел отлично, но куда же девать сам ПК? так я и пришел к идее запихнуть винду в KVM виртуалку и дать ей видеокарту. Стимлинк я притащил с ибея, через посредников, обошелся он мне в 5500р, в том году еще не продавался официально, сейчас уже да, но цены в наших магазинах -неадекват.

Сразу скажу, что такое требует некоего специфичного железа, т.е. мать и проц должны быть интел и уметь vt-d/vt-x и желательно NVIDIA. Про АМД - вроде как тоже можно, но все неоднозначно, ну и был изначально набор именно Intel+Nvidia.

Как я запилил виртуализацию

Сейчас конфиг такой:

mobo: asus P8Q77–M2

i7 3770

16gb ram

2x2tb wd

intel 240ssd+bestbuy 240ssd

seagate 500gb

3tb wd green,

Корпус termaltake core v21(влезает 3 диска по 3.5 и 3 диска по 2.5 и он mATX, есть крепеж для СВО)

видюха gigabyte 650ti(тоже поменяю, когда-нибудь на 1060, эхх)

Охлаждение - смесь из noctua +scythe

сетевушка вторая на пси–е. апц упс, точка доступа для вайфая RT–N66U.

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

Как все устроено:

гипервизор proxmox 4.4+ пара патчей с их форума (девелоперская репа)

стартует с 500 гигового винта (потом будет поменян на что то, вернее весь этот зоопарк из ссд поменяю на большой ссд), грузится проксмокс, внутри 2 машины:

1. гента(та самая, которая была), 2физ ядра, 4 гигапамяти, 240 ссд, виртио, mdraid1–2x2tb+luks, 3tb wd backup, машина ничего не делает там особо такого, ну пара проектов по работе, коммунигейт, заббикс, овпн, самба, трансмишшн, seafile, plex, бекапится через bareos, еще пара вещей по мелочи типа раздавания инторнетов. работает в kvm (пока поленился все это перетаскивать в lxc)

2. вин10, 5 ядер, 10 гб оперативки, ссд на 240, kvm, vfio pcie–passhrough, tianocore ovmf uefi bios (без него не заводился проброс видюхи, ну и вин10 же).

ну вин10 стартует, по ац вайфаю стимлинк к ней целяется и можно погонять, например, в stellaris. но по вайфаю есть лаг, так что гораздо лучше проводом. Внутри Стимлинка есть VirtualHere и всякие юсб девайсы типа моего старинного razer imperator и прочих вебкамер успешно попадают в вин машину. Так же мать умеет в AMT+ tty на физ порту, если я совсем что то упорю(АМТ работает с процами БЕЗ литеры К, обратите внимание)

3. Еще есть LXC контейнер для всякого баловства.

Почему не сделал гипервизор из генты?

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

Как собирать и что почитать

1. Вики проксмокса

2. Архиполезный ресурс по vfio  -http://vfio.блогспот__ru

3. Ошибка 43 и как с этим жить

4. Как победить отвал звука по HDMI в госте (это если вы хотите например телевизор физически подрубить) - -http://vfio.блогспот__ru/2014/09/vfio-interrupts-and-how-to-coax-windows.html

(блогспот нелья, увы)

Собирать ставить просто:

берем проксмокс свежий (там скорее всего поправлен тот косяк что вызывал ошибку 43, если нет - курим форумы.

Читаем вики, там подробно все как настраивать.

Обязательно tianocore uefi,

конфиг для виртуалки вот тут мой

bios: ovmf

boot: c

bootdisk: virtio0

cores: 2

hostpci0: 01:00,pcie=1,x-vga=on

ide0: iso1:iso/virtio-win-0.1.112.iso,media=cdrom,size=55592K

machine: q35

memory: 4096

name: win1

net0: e1000=32:33:62:38:63:35,bridge=vmbr0

numa: 0

ostype: win8

scsihw: virtio-scsi-pci

smbios1: uuid=6b380506-55b3-4c7e-a4cb-caacded045fe

sockets: 1

usb0: host=3-1

usb1: host=1-4

virtio0: /dev/disk/by-id/my-ssd-serial


Внимание на то, что нельзя вставлять QXL видеокарту (это приведет к ошибке 43), и пробросу целиком диска через /dev/disk/by-id , без нее - плохо почему-то перезагружается гость, уж не знаю почему, Все остальное - бриджи, проброс юсб -стандартное.

Немного про ошибку 43 - если кратко фирма нвидия -жмоты, на консьюмер сериях видеокарт драйвер определяет что он запущен в вирт машине и принудительно выключается(не устраивает - покупайте GRID), суть манипуляций - прячем hv-vendor-id и шерсть становится густой и шелковистой (не навсех версиях либвирта оно норм работает, читайте маны и ченджлоги).

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

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

Была идея еще заюзать intel HD для Коди - но увы, нет. vGPU (т.е. разделение ресурсов гпу для гостей) только на свежих поколениях. вроде как QEMU 2.7 уже можно.


По времени все вместе заняло где то 3 мес с покупкой железок, сама установка-настройка-пляска с бубном - пару недель неспешного ковыряния по вечерам.

В планах таки перейти на moonlight+odroid c2, может к весне.

Надеюсь, это будет кому-то полезным. Спрашивайте вопросы.

GNU/Linux

1.2K поста15.6K подписчиков

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
6
Автор поста оценил этот комментарий

Мне кажется первым пунктом должно идти ЗАЧЕМ это нужно.

На профильном сайте может и не нужно, а на пикабу это обязательно.

раскрыть ветку (13)
1
Автор поста оценил этот комментарий

Потому что так как на картинке. По факту да, слишком много НО и сложностей.

Хотя меня посещали похожие идеи (но по причине шумности), компьютер на балкон, тонкий клиент в комнате. Но пока выходит идея собрать бесшумный компьютер (без кулеров и hdd), с приличной видюхой, которая в простое умеет отключать кулеры, кажется более приемлимой.

Иллюстрация к комментарию
раскрыть ветку (9)
1
Автор поста оценил этот комментарий

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

На счет балкона - не советую, пониженные температуры так же вредны, снижается емкость конденсаторов, и повышается сопротивление резисторов (поправьте если напутал). Думаю вы понимаете чем это грозит.

Мой лвл пока что - попытки задружится с remote fx и адекватный тк на распербери 3
Увы успеха не достиг пока, ибо не со всеми видяхами remote fx дружит, а из распербери так себе ТК выходит.

Жутко интересно сколько по факту тянет юзверей видеокарта невидия тесла. На оф сайте есть инфа но чет я не верю в столь малые числа от столь дорогой видяхи.

И да, мой удел - серверная венда ибо считаю её удобнее консоли линукса. В прочем это не означает что я считаю что линукс хрень, отнюдь. В узких задачах линуксу пока нет равных.

раскрыть ветку (8)
0
Автор поста оценил этот комментарий
пельтье - дорогой, кмк. если собирать реально безвентиляторный то тоже небюджетно и не сильно мощный проц и видео будет. например, бп seasonic fanless на 520вт по нынешним ценам - 12к что ли. если мелкую платформу собирать - то сами грамотные корпуса дорогие и будет mini itx, со своими ограничениями. реально тихо и производительно норм корпус + безвентиляторный бп + решения от noctua. но тоже разорительно, увы.
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

На счет корпусов соглашусь. Хотя если кому интересно добавлю пару хороших производителей. Однако лично я хочу собрать свой корпус, благо есть и сварочный аппарат и лазерный фрезер.
Вопрос цены конечно даааа, но я не спешу. К слову мой комп стоит где то 120-140к рублей :3 чисто системник.

раскрыть ветку (5)
0
Автор поста оценил этот комментарий
за 150 я себе сааб куплю или квадрокоптер с фпв
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

зачем вам сааб?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
старая любовь.
0
Автор поста оценил этот комментарий
прошлый сервер был в Cooler Master Elite 130, там 4 диска влезает, обычный atx бп и полноразмерная видеокарта. оч грамотный был.
0
Автор поста оценил этот комментарий
ну то что на картинке - около 100 получилось, с учетом б.у.
0
Автор поста оценил этот комментарий
На счет балкона - не советую, пониженные температуры так же вредны, снижается емкость конденсаторов, и повышается сопротивление резисторов (поправьте если напутал). Думаю вы понимаете чем это грозит.

У меня кулер с элементом пельтье. Конечно немного это добавляет производительности, но решением не является.


Меня в этом плане посещает мысля с безвентеляторным вариантом на каскадном охлаждении через пельтье.

С балконом (а он всё же остекленный) можно придумать вариант чтобы зимой он не был заморожен, а летом нормально охлаждался.


А так, как упомянули ниже, проц с tdp ~45вт, большая башня охлаждения, и вынос всех шумящих вещей куда подальше. Надеюсь когда нибудь я всё же это сделаю, затрат очень много, увы


И да, мой удел - серверная венда ибо считаю её удобнее консоли линукса. В прочем это не означает что я считаю что линукс хрень, отнюдь. В узких задачах линуксу пока нет равных.

Не знаю, как мы внезапно пришли к этой теме, но замечу что не такие уж и узкие задачи.

0
Автор поста оценил этот комментарий

Эх ты, как ты смел, такое написать.

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

Во славу сотоне, конечно же.

Ну я написал в посте про нехватку места да и вообще занять себя чем то.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества