我在一家公共图书馆工作,我们有大约 20 台 Windows 7 电脑可供公众使用。目前他们使用 Deepfreeze 来维护操作系统的基本状态,以便用户不会弄乱一切。我们使用 Clonezilla 将系统准备的映像部署到电脑上。(目前我们没有使用 Clonezilla 服务器 - 我们手动完成每台电脑。)
问题是,如果主映像更新(软件更新等),则需要逐台管理每台计算机。 (我想我们缺乏如何使用 Clonezilla 服务器通过广播进行部署的知识,以及 Sysprep 脚本来自动化后期映像设置。)
我想研究虚拟化,以便让事情变得更容易(也包括硬件更改等)。抱歉,我对可用的内容或术语不是特别熟悉。我目前正在研究 VMWare vSphere Hypervisor。
我想象一个像这样工作的设置:
PC 运行某种最小操作系统,其唯一目的是加载虚拟机。(这是 vSphere Hypervisor 吗?)
VM 映像文件存储在 PC 本地。上面提到的最小操作系统会定期检查某个服务器,看是否有可用的更新映像,如果有,它会 rsync 或复制映像文件。
VM 以固定状态存储。用户所做的更改在注销/重启后不会保存。VM 总是在重启时恢复到原始状态。
需要某种自动化,以便每台 PC 上的 Win7 客户操作系统都有自己的静态 IP 和主机名。PC_01、PC_02 等。我天真地想象 PC 上存储着一些包含此信息的文本文件,并且可以编写脚本来使用这个主机名/IP 配置 Win7 VM。
那么,回到问题:
那么,当我说“最小操作系统”时,vSphere Hypervisor 实际上是我正在寻找的产品类型吗?还是我的用词有误,它是其他 VMWare 产品?(例如,VMWare Player 与某种 Linux 结合作为主机操作系统。)
vSphere Hypervisor 能否满足我上面描述的场景?有没有更好的方法,既能满足我们的需求?(虽然我们不想要远程桌面客户端/服务器模型。)
如何实现步骤 4 中描述的自动化?每个 Win7 客户操作系统都需要具有特定的唯一主机名和静态 IP 地址。
我希望这不是一个“推荐产品”类型的问题,但我想这在学校、图书馆、网吧等地方很常见,所以我想得到一些建议,人们是否已经成功地将虚拟化用于这种事情,以及他们做了什么。
答案1
大多数时候,当人们谈论桌面虚拟化时,他们谈论的是 vmware view/VDI 之类的东西,其中所有 Windows 映像都在本地服务器上运行,并通过 LAN 显示在客户端上。维基百科称之为“集中式虚拟桌面”。
您正在寻找的是另一种形式的桌面虚拟化,其中裸机虚拟机管理程序在每台 PC 上运行,并运行单个客户操作系统,即您想要虚拟化的桌面操作系统。维基百科文章将其称为“远程同步虚拟桌面”。
在这种情况下,VMWare ESXi 无法充当虚拟机管理程序,因为它没有图形或声音驱动程序。因此,虽然它可以跑步Windows 映像作为虚拟机,它不能展示Windows 图像(它期望通过网络由客户端显示它)。
看起来 citrix 有一款产品符合您的要求,客户端。我怀疑你买不起。
有几种方法可以以较低的成本实现这一目标。
你可以使用自己的类似 XenClient 的解决方案Linux/Xen(我还没有仔细研究过)或者Linux/kvm。您可能对 Windows/HyperV 执行同样的事情,但我认为 HyperV 需要 Windows 服务器许可证。
另一个选择是安装 Windows 或 Linux 作为基础操作系统,然后运行类型 2 虚拟机管理程序比如 VMware 工作站,虚拟电脑、Virtualbox 或原生 Linux/Windows 下的 Parallels。然后在类型 2 虚拟机管理程序下以全屏模式运行您的客户端操作系统。类型 2 虚拟机管理程序有几种 Windows 选项,如果您不了解 Linux,这些选项可能更适合您。
上述类型 1 和类型 2 虚拟机管理程序之间的区别可能不是很重要,从您的角度来看,配置可能类似。
请注意,大多数虚拟机管理程序需要硬件虚拟化支持在您的 CPU 中;旧版本的 vmware 桌面没有,但看起来当前版本有。
最后再说一句。您说您的网络无法处理 VDI 流量 - 您可能错了。如果互联网连接速度很慢,那几乎肯定是由于您的上游互联网连接(电缆调制解调器、dsl、t1 等)造成的。您的本地以太网比该连接快得多。即使有打印和其他本地流量,它也很可能能够处理本地 VDI 流量。
您将无法处理通过互联网连接接入的“托管”虚拟化桌面(再次重申,维基百科的定义)。