我计划为自己构建一个基础设施并可能与其他人共享,其中包括一些我目前在自己的电脑上运行的服务器应用程序。
- git 服务器:GitBlit 在 Linux 上运行,所以没问题
- 敏捷/票务管理:kanboard 只需要一个网络服务器,在 Linux 下也可以工作
- 文件共享,这也是非常标准的,所以这里没有问题
- 构建服务器:Jenkins ci
然而,构建服务器主要需要构建 Windows 应用程序,我可以选择交叉编译或一些其他不涉及实际 Windows 安装的解决方法,但我想将其作为最后的选择。
我曾经考虑过 Mac 开发但后来放弃了,显然它需要一台真正的 Mac,这是最好的选择,因此在 Windows 的情况下我考虑同样的事情,获取合法副本并将其安装在带有 Linux 发行版的服务器上。
问题是,在租用的虚拟服务器上作为 VM 安装供个人使用(家庭版或专业版)的 Windows(7/8/10)的合法副本是否合法。
因此,情况是我租用了一个像这样的虚拟服务器:https://www.hetzner.de/en/hosting/produkte_vserver/cx20使用 Linux 发行版。
然后我将在服务器上安装 Virtual Box,并在 Virtual Box VM 上安装我的 Windows 副本。
我猜想 Windows Server 版本存在是有原因的,并且我想知道这种设置是否合法,考虑到安装在 VM 上的 Windows 将无法从外界访问,因为它只能作为 Jenkins 的从属服务器来执行需要 Windows 平台的工作。
答案1
是的,从法律上讲这是可行的。您需要注意,如果您获得了操作系统的 OEM 版本,您就不能(根据 EULA,并且忽略了这一点从未在法庭上受到质疑并且可能无法强制执行)将其移动到另一台服务器 - 这意味着如果您的提供商可能会更改底层硬件,则 OEM 版本是不合法的 - 这听起来很愚蠢!
我怎么知道的?最近我转来转去与微软和进口商沟通,试图为虚拟机获取 Windows 7 Pro 许可证。因为这是不可能的(除非你获得有限制的 OEM 版本,除非你从旧库存中在线购买 7 Pro 副本!)
答案2
如果您能找到允许您使用自己的许可证的服务提供商,那么可以,只要许可证当前未在其他 PC 上使用即可。不过,在您提到的场景中,不建议运行多层虚拟化。
如果 Linux 系统分配了一个公共 IP 地址,则需要将 Linux VM 到 Windows VM 的连接进行 NAT。如果有多个,则可以桥接,但任何人都不应该通过为工作站分配公共 IP 将其暴露到互联网上。
恕我直言,选择 Windows Server 可以省去很多麻烦。是的,它们确实贵一点,但效果好得多。
参考资料:我是 Microsoft 授权翻新商计划的成员,因此每天要处理 100 多个许可证。我还拥有 IT(网络管理)文凭。