Я хотел бы разместить сервер Linux на моем ПК с Windows. Условия, характерные для моего сценария:
- Необходимо по-прежнему использовать Windows (т.е. не двойную загрузку Linux)
- Необходимо иметь доступ к графическому процессору
- Должен быть доступен по SSH из сети
Как мне это сделать? Ниже приведены некоторые решения, которые я рассматривал, но пока не добился большого успеха, либо из-за отсутствия доступа к GPU, либо из-за того, что порты ssh были открыты для сети:
- Подсистема Windows для Linux 2 (WSL2)
- Linux-виртуальная машина
- Контейнер Linux (Docker или Podman)
Мы также приветствуем любые конкретные рекомендации по решению проблемы или внешние ресурсы.
решение1
Отделите свою среду разработки
Я думаю, что лучшим вариантом будет тот, где вы можете создавать, уничтожать, перестраивать свою среду разработки, не переводя свой основной ПК с Windows в автономный режим, либо через двойную загрузку, либо, что еще хуже, не повреждая установку из-за изменений, которые вы вносите для поддержки виртуализации поверх Windows. Примечание: многие вещи, которые вы хотите реализовать в своих гостях, потребуют изменений, включая загрузку с пользовательскими параметрами/модулями (например, сквозной доступ к GPU, мостовая сеть). Не все заканчивается хорошо :-)
Перепрофилируйте часть старого оборудования ПК в отдельную среду разработки. Например, гипервизор на основе Linux bare metal может работать всего на 2 ГБ ОЗУ, плюс то, что нужно вашим гостям, так что то, что раньше было бесполезным оборудованием, внезапно становится очень полезным.
Для простоты и экономии, это моя рекомендация, чтобы вы начали пробовать свои ноги по дешевке. Вы можете спросить 20 человек и получить 20 мнений, и многие из них могут быть приемлемыми для меня. Просто предлагаю путь, по которому нужно идти. Мой совет основан на моем опыте и моем ограниченном понимании вашей вселенной и моем ощущении большой кривой обучения, которая вам предстоит с "ой" и f#d4**#!!!, а также некоторыми "надеюсь, я это подтвердил..."
Гипервизор
Установите БЕСПЛАТНОВиртуальная среда Proxmox(Проксмокс VE/PVE):
https://www.proxmox.com/en/proxmox-ve
Руководства по PVE: https://pve.proxmox.com/pve-docs/
Инструкции по PVE: https://pve.proxmox.com/wiki/Категория:HOWTO
Установите гостевую ОС Linux: https://pve.proxmox.com/wiki/Qemu/Виртуальные_Машины_KVM
Надеюсь, это поможет!
Сквозной доступ к графическому процессору
От фиксированной передачи к опосредованной передаче и простой эмуляции устройства.
В зависимости от типа(ов) GPU и поколения ваш подход будет отличаться, и Интернет полон слез от людей, пытающихся заставить его работать в их сценарии использования. Я использую опосредованный проход (GVT-g от Intel), который изначально поддерживается моим встроенным GPU (i915).
ArchLinux отлично описывает GVT-g:https://wiki.archlinux.org/title/Intel_GVT-g
решение2
Только виртуальная машина может выполнить все условия.
Условие прямого доступа к GPU является самым сложным, называется GPU passthrough, это функция в новых версиях VirtualBox и Hyper-V в новых версиях Windows. Вам понадобится два GPU, один для хоста.
Использованная литература:
решение3
Хостинг Linux-сервера на Windows
1 и 3 — это устройства специального назначения, а не виртуализаторы общего назначения.
Я предлагаю профессиональное приложение для виртуализации: VMware Workstation Pro или Hyper-V. У меня есть оба (два разных компьютера), и я предпочитаю VMware за его общую гибкость и простоту использования.
Вы можете создать серверную ОС как виртуальную машину и настроить ее с помощью мостового соединения, после чего вы сможете получить к ней доступ как к обычному серверу.
Ваши условия в принципе могут быть выполнены, за исключением GPU, который будет предоставлен VMware Hardware. Этого должно быть достаточно для серверной ОС.
Если у вас Windows 11 Pro, новейшая версия Hyper-v и настольные компьютеры с несколькими графическими процессорами, то Hyper-V может вам подойти.