我想在我的 Windows PC 上托管 Linux 服务器。我的场景的具体条件如下:
- 必须仍运行 Windows(即,不是双启动 Linux)
- 必须有 GPU 访问权限
- 必须能够从网络进行 ssh 连接
我该如何实现这一点?以下是我考虑过的一些解决方案,但由于缺乏 GPU 访问权限或将 ssh 端口暴露给网络,因此尚未取得太大成功:
- 适用于 Linux 2 的 Windows 子系统 (WSL2)
- Linux 虚拟机
- Linux 容器(Docker 或 Podman)
任何针对解决方案或外部资源的具体指导也值得赞赏。
答案1
分离你的开发环境
我认为最好的选择是您可以构建、销毁、重建您的开发环境,而无需通过双启动使您的主要 Win PC 脱机,或者更糟的是,通过您为支持 Windows 上的虚拟化所做的更改损坏安装。注意:您希望在客户机中发生的许多事情都需要更改,包括使用自定义参数/模块启动(例如 GPU 直通、桥接网络)。并非一切都会好起来 :-)
将一些旧 PC 硬件重新用作单独的开发环境。例如,基于 Linux 的裸机虚拟机管理程序可以在最低 2GB 的 RAM 上运行,再加上客户机所需的内存,因此以前无用的硬件突然变得非常有用。
为了简单起见并节省成本,我建议您以便宜的价格开始尝试。您可以询问 20 个人并得到 20 种意见,其中许多人可能也同意我的观点。只是提供一条可遵循的路径。我的建议基于我的经验和我对您的宇宙的有限洞察力以及我对您面临的巨大学习曲线的感觉,包括“oops”和 f#d4**#!!!,还有一些“我希望我支持这一点...”
虚拟机管理程序
安装免费Proxmox 虚拟环境(Proxmox VE/PVE):
https://www.proxmox.com/en/proxmox-ve
PVE 指南: https://pve.proxmox.com/pve-docs/
PVE 操作方法: https://pve.proxmox.com/wiki/Category:HOWTO
安装 Linux Guest: https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
希望有帮助!
GPU 直通
从固定直通,到中介直通,到简单的设备模拟。
根据 GPU 的类型和代数,您的方法会有所不同,互联网上充斥着人们试图使其在他们的用例中发挥作用的眼泪。我使用的是中介直通(英特尔的 GVT-g),我的板载 GPU(i915)本身支持该技术。
ArchLinux 对 GVT-g 有一篇很棒的文章:https://wiki.archlinux.org/title/Intel_GVT-g
答案2
只有虚拟机才能满足所有条件。
直接访问 GPU 的情况是最困难的,称为 GPU 直通,这是较新版本的 VirtualBox 和较新版本的 Windows 上的 Hyper-V 中的一项功能。您将需要两个 GPU,一个用于主机。
参考:
答案3
在 Windows 上托管 Linux 服务器
1 和 3 是专用设备,而不是通用虚拟器。
我建议使用专业的虚拟化应用程序:VMware Workstation Pro 或 Hyper-V。我拥有这两款应用程序(两台不同的计算机),我更喜欢 VMware,因为它具有整体灵活性和易用性。
您可以创建一个服务器操作系统作为虚拟机并使用桥接网络进行设置,然后就可以像常规服务器一样访问它。
您的条件基本可以满足,除了 GPU,GPU 将由 VMware 硬件提供。这对于服务器操作系统来说应该足够了。
如果您拥有 Windows 11 Pro、最新的 Hyper-v 和具有多个 GPU 的台式计算机,那么 Hyper-V 可能适合您的需求。