为多个用户共享一个 linux 桌面服务器:远程桌面还是虚拟化?

Ste*_*ler 5 virtualization ubuntu workgroup remote-desktop x11

我们是一家小型网络软件公司(约 10 人)。目前,每个开发人员都使用本地 apache 在他的本地机器(一些 Windows,一些 ubuntu)上工作。我们有一个用于共享文件和中央 SVN 存储库的 samba 共享。

我想在未来集中我们的基础设施,让每个人都在中央服务器上工作。有2个选项:

  • 虚拟化:每个人在中央胖服务器上都有一个自己的虚拟机。
    优点:快速设置,隔离用户,快速添加新盒子。
    缺点:因为每个用户都有自己的操作系统,对硬件有点饥渴。更新软件(新的 Eclipse 版本等)不会影响每个人,除非他们开始使用新的 vm,这会导致碎片化或再次失去工作时间。由于缺少安全更新和用户以 root 身份使用该框而导致的潜在安全问题。
  • 远程桌面:每个人都使用远程桌面连接到中央 ubuntu 服务器。选项是真正的 X 客户端、xrdp、VNC 等。
    优点:易于使用,中央数据存储,软件更新立即生效,中央控制容易。不需要那么多硬件。用户不是root。SVN 存储库可能是本地的,这意味着加速。
    缺点:用户不是孤立的(团队内部潜在的安全问题),apache 重启等影响到每个人。

这两种解决方案都需要一个快速的网络和一个胖服务器。目前,我倾向于使用 xrdp 作为远程桌面访问。你有什么经验?一种方法比另一种方法有什么缺点吗?我错过的选项?有没有人成功虚拟化软件开发团队?

sym*_*ean 0

为每个人提供自己的虚拟机的方法在内存方面远低于共享系统的效率 - 但它确实使人们更容易同时运行不同的 Apache 配置。管理可扩展性也更简单 - 您可以根据需要将虚拟机迁移到新硬件上。虽然您可能不会期望突然雇用更多员工,但这两种方法都意味着您无法轻松地对应用程序进行性能可扩展性测试(因此能够将用户迁移到专用计算机上几天听起来就像是好主意)。

有一些很棒的工具可用于管理“集群”——其中大部分适用于维护多台桌面计算机——因为您已经在运行 Ubuntu,Canonical 的 Landscape是一个显而易见的选择。但是,如果是我,我会采用标准构建,然后将虚拟机外部的用户主目录移动到 NFS 共享上。还有一些针对 /etc/sudoers 的狡猾计划,以便用户可以在他们的“自己的”计算机上获得 root 访问权限。