我们正在讨论是否在今年晚些时候将客户端 Hyper-V 或 VMWare Player Pro 添加到新的 Windows 10 桌面,并让我们的开发人员在本地桌面上的 Windows 7 VM 中运行他们的开发人员工具。出于安全原因,他们将没有本地工作站的管理员权限,这些工作站仅用于托管他们的 VM 和不需要管理员权限的办公室工作,例如电子邮件、Web、Microsoft Office 等。
开发人员将拥有虚拟机的管理员权限。虚拟机将位于隔离的网络 VLAN 和 AD 域中,无法访问 Internet,并且虚拟机与主机之间无法直接传输文件或访问网络。用户将在虚拟机内进行所有开发和测试。
我一直没能找到一个真正的虚拟机“播放器”,它在工作站上安装时只允许使用现有的虚拟机而不允许创建新的虚拟机。
除非用户在主机上拥有本地管理员权限或属于 Hyper-V 管理员组,否则客户端 Hyper-V 根本无法工作,这允许他们无限制地配置 VM 设置,这使得他们即使没有主机上的管理员权限也能轻松绕过限制。VMWare Player 不仅仅是一个播放器。它还允许创建新的 VM,即使没有管理员权限。
是否有任何替代的虚拟机软件允许在其本地工作站上使用现有的虚拟机,但不允许添加或重新配置虚拟机硬件?
如果无法做到这一点,我们如何在 Hyper-V 中构建一个高可用性虚拟服务器,以满足繁重软件开发、长时间查询和构建以及调试等所需的性能。许多开发人员同时运行 10 个或更多应用程序,并且在他们当前系统上有 16GB RAM。
因此,我猜我们需要 2 台非常强大的服务器,配备大量 RAM,以便同时运行 100 台高内存虚拟机和某种虚拟 SAN。它还需要磁盘空间和 I/O 来处理 100 台繁忙的工作站虚拟机。
如果有 100 台虚拟机,我们可以在 2 个成员的故障转移群集中每台运行 50 台。如果一台出现故障,另一台需要能够毫无问题地处理所有 100 台虚拟机的负载。我们还可以进行计划的实时迁移以进行维护,例如在主机上重新启动 Windows 更新。然后,我们需要 SCVMM 来管理它们并为用户分配私有云访问权限,以便他们可以访问虚拟机并在其软件测试虚拟机上创建/恢复检查点。
由于我们的资金有限,什么样的硬件设计才具有成本效益,可以实现这一点(服务器规格等),以及我们预计使用戴尔或惠普等制造商的硬件支付的大致价格范围是多少?
如果成本高得惊人,我们就会回到在工作站本地添加虚拟机的计划,并尝试找到限制用户创建未经授权的虚拟机的方法。
答案1
那反过来怎么样:
工作站位于安全的局域网中,互联网访问受到代理的限制,只能访问开发人员需要的多个白名单网站 - 例如 StackExchange :)。开发人员在工作站上拥有管理员权限。
对于所有其他需求,他们可以连接到虚拟机并获得(外部)电子邮件和可能的完全互联网访问权限,但不能访问与工作相关的数据。
这样,所需的虚拟机性能就会显著降低。虚拟机数量也可能减少。也许您可以根据需要动态分配虚拟机。
硬件要求很大程度上取决于所需的性能,但我个人会选择大约 10 个廉价节点,每个节点配备 8 核 CPU 和 32 GiB RAM 以及一个非常快的 SSD RAID - 并且维护相当自动化。这适用于 VM 不是主工作站而是辅助机器的情况。
IIUC,您关心的是代码和文档的安全性,并且您希望拥有一个不必(过多)信任开发人员的系统。
我有一个客户也做过类似的任务,只是任务是 CAD,而不是软件开发。很大程度上,这是一个社会问题,我们正试图用技术手段来解决。
如果不能持续便捷地访问与编程相关的网站和 StackExchange 家族,开发人员如何高效地工作?:)