您已经听说过Web2.0了,是么?很好,这就是“效用计算2.0”,它是网络引导、SSL、VNC和其他熟悉的概念和技术——所有这些技术都是在Linux?上使用的——它可以带来极大的投资回报。请了解加州大学是如何设置服务器场环境来为学生提供安全远程桌面应用程序服务的。
节省数千美元的资金。显著地提高系统可用性。增强安全性。简化维护操作。降低对单个源或昂贵组件的依赖性。简化许可证授权。
即使一个开发项目只实现了以上一种优点,我们也会非常高兴。而我们所说的“效用计算2.0”实现了以上所有优点。
将一组单独的普通技术集成到一起,就会获得巨大收益;单独使用时,任何技术都无法提供显著的优点。如果对不同项目使用完全不同但是有所重叠的技术组合,情况就会变得更加复杂。本文将阐述使用网络引导、低功耗计算、VNC和SSL在一个项目中实现技术集成的方法。
网络引导的大学计算实验室
加州大学 Merced分校(UCM)的工程学院维护了两个可坐60人的计算实验室,学生可以在这里完成作业。一个实验室拥有常用的Windows®XP桌面主机,但是在最近一次更新换代过程中,这个实验室更换成驱动24英寸Dell液晶显示器的ITXMini-BoxM200,分辨率设置为1280x1024。这些座位的成本每个只有1,138美元,甚至可以单独购买。表1对Mini-Box和传统桌面系统的成本进行了比较。
表1.基本的桌面成本
项目Mini-Box传统桌面CPU275美元1,100美元24英寸显示器747美元747美元鼠标、键盘36美元36美元1GB内存80美元180美元标准功耗15200
可以为实验室购买的默认工作站成本大约为两倍:2,063美元。另外,按照加州的主要电价计算,每月平均节省的大约100瓦电力可以节省大约10美元,或者每年大约可以节省100美元。如果考虑到实验室的空调设备所降低的电力负载,节省的资金甚至超过3倍。还可以用另一种方式看待该问题:CPU的节省使得24英寸的显示器成为可能。这些又瘦又宽的客户机很受用户欢迎。
另一方面,标准工作站的速度大约是小型Mini-Box的3倍。不过这并不是问题,因为实验室的计算机对其所承担的工作来说已经足够快了,这些计算机的主要任务有:基本报告准备、电子邮件、Web研究、学校的开发作业以及远程结果显示。
下面介绍这些主机在系统层面的运作方式。每个座位都设置为从一台引导服务器进行网络引导。所有机器基本相同,使用内置式PXE加载程序引导大约需要73秒就可以启动UbuntuLinux2.6。每个工作站在引导过程中将获取只读的使用NFS加载的工作磁盘空间。作为引导过程的一部分,UnionFS使用tmpfs来创建读写根文件系统。一旦用户登录之后(这又需要花费23秒的时间),他们就可以在/home/username中看到自己的主文件系统,这是到挂载点的链接。
登录、登出并浏览系统
一个座位完成引导之后,就会显示常见的登录提示符。不过getty并没有连接到/etc/passwd或LDAP上,而是连接到SSH上!每个座位所共享的/etc/inittab包括以下内容;
清单1.引导启动getty
1:2345:respawn:/sbin/rungetty-uroottty1/usr/local/sbin/UCM_login
/usr/local/sbin/UCM_login本身是一个300行左右的Python脚本,它:
加载screen中的所有登录信息,这样就可以进行远程调试
设置特定的超时、登录、终端驱动程序和相关的“日常管理”配置变量
与“状态服务器”进行交互,该服务器负责从总体上对实验室进行监视
打印欢迎和关于使用情况的消息
提示用户登录
最后一条不太常见。前面提到过,登录不是使用/etc/passwd甚至PAM进行身份验证的标准登录过程。相反,它具有一定的智能,可以处理以下帐号:
guest@localhost,这是座位本身的一个帐号。当然,对于大多数任务来说,简单地启动一个Web浏览器就足够了。该帐号并不要求提供密码,也不会接收持久存储。
UCMLDAP存储中的任何帐号,例如klaird
任何其他ssh帐号,它们可以位于任何具有网络连接的地方。这意味着校园访问者可以使用类似于someone@yale.edu的登录连接到自己常用的主目录。
这些实验室和工作站的设计使得可以非常安全甚至自然地提供这些登录方式,包括guest@localhost、使用特权帐号登录到sudo的能力、访问音频以及使用M200的其他所有能力。
校园范围的登录,例如klaird,实际上并不直接由LDAP进行解析,而是通过ssh发送到LAN上的一台专用机器,该机器本身清楚如何对LDAP的请求进行身份验证,然后自动创建对应的帐号。这简化了实验室座位的配置和对专用ssh-LDAP主机的维护。
允许(甚至鼓励)root用户登录并没有什么坏处,因为这里没有本地资源,所以每个座位都可以通过快速重启回复到默认状态。安全性(已经超出了本文的范围)限制了在每个座位上使用root权限的恶意用户可能造成的损害。
结果是学生可以在任何时候走进实验室,访问自己常用的$HOME目录。或者可以将实验室的座位看作一台安装了专用工程软件的单独机器。或者简单地认为实验室的座位是查看远程科学计算的高分辨率显示设备、团体项目的协作中心或者连接到Web的单独访问点。或者,如果需要只能在Windows上使用的应用程序,VNC通过提供两台高性能的WindowsXP机器,为需要该系统的人提供对足够的访问能力。
顺便说一下,请注意用于VNC的SSL如何充分利用这些其他元素。在前一篇文章“使用SSL保护VNC应用程序”中介绍过,可以通过Web浏览器安全地从远程查看基于X11的显示和其他内容。这项技术进一步降低了希望共享计算的学生或教授的学习难度或“活动量”,即使他们只使用一次URL或有限地使用URL。
优点
在上面列出的任何角色中,所有会话和显示都可以通过屏幕和VNC进行远程访问,这样就可以迅速地提供深层次的技术支持。在出现主机崩溃的少有情况下,或者更可能的一种情况是需要对系统进行扩展,只需几秒就可以找出另一台Mini-Box,并连接电源、键盘、显示器、鼠标和网络连接,然后启动它并准备好进行操作。这些优点非常明显,并且其成本很低,校园中的其他机构已经开始考虑使用M200。
这种瘦客户机计算变种的统一性和效用,使得人们不再过多地关注很少使用的优点。使用每个座位上提供的屏幕和VNC,技术支持变得非常简单,而且消除了物理上的耦合。维持运作只需少量辅助工作,很多时候甚至不必在实验室中展开这些辅助工作。