赵丙秀,张 尧
(1.武汉软件工程职业学院信息学院,湖北 武汉 430205;2.中国电力工程顾问集团中南电力设计院有限公司)
互联网技术的发展及4G、5G 的出现,互联网宽带越来越快,各大企业如HP、Dell 等公司开始使用企业无盘技术来管理员工的计算机,以保证信息安全。网吧或企业通过成立运维公司来实现资源的低成本和易管理。随着云机房、云主机的概念兴起,各大运营商结合自己的路由合作伙伴如碧海银河、顺网等公司,推出了适合各大企业和高校的云机房,让资源达到最优配置。
所谓云机房[1],就是利用小型机作为路由,将运营商的10Gbps的城域网带宽分配给一台台云主机,通过PXE 等技术,实现每个终端的零维护、零管理。不管是企业还是网吧、高校,甚至个人,都可以根据自己的实际办公需要,临时向云机房运营商申请一台云主机,按照一台100 元左右的价格打包设备维护、使用、配置、带宽等费用,让企业和网吧的设备支出大大降低,也无需单独的计算机部门来维护。
云主机现在流行的方案有三种,根据占用带宽的多少,分为无盘PXE(Preboot Execution Environment,远程引导技术)云主机、主机盒子云主机、虚拟办公电脑云主机。
现在主流移动电信的云机房方案就是无盘PXE云主机方案。通过城域网的10Gps 光纤,将机房和企业、网吧、高校的无盘主机联系起来,用PXE 无盘引导技术,将云机房的主机硬盘内容引导到每个终端[2]。良好的磁盘回写技术和内存缓存技术,使得每个终端引导时最大流量26MBps,一般使用流量在10-20KBps,一个10Gbps 的机房,足够带动3000-8000 个终端。企业效益明显,使用毫无卡顿。除了磁盘之外,一切运算还是在本地运行,只不过操作系统的镜像可以复用,管理简单,个人磁盘存储数据方便。这是现阶段最完美的方案。
其弱点是,每个用户必须还是要有一台完整的主机,主机成本较高无法分摊,加上各种主机配置千变万化,为了适配各种主机,就需要做不同的镜像,大大浪费了资源,且维护成本大为增加。为了克服这些缺点,这种方案的主机PNP(Plug-and-Play,即插即用)自适应硬件的技术就必不可少了。
PXE云主机的技术难点在于设备的PNP。其关键在于取得设备的硬件ID 之后,通过云端比对硬件ID和兼容ID,从而找到Windows 驱动并安装。如果不涉及无盘技术,这不难办到。Windows Update、驱动精灵、驱动人生、360 驱动大师、鲁大师和万能驱动助理等工具都是根据这个原理,找到计算机上还没有驱动的硬件ID,然后根据云端的海量驱动库,找到对应的硬件ID适配的驱动,然后安装,从而解决驱动难题。
无盘系统有点不一样,因为没有磁盘,因此无法直接保存驱动,通过超级或者镜像回写方式,又会产生镜像和机型绑定,导致镜像配置过多,启动复杂。现在市面上的无盘如网维大师、云更新、方格子、信佑等,均不支持单镜像多配置,易乐游虽然支持,但是问题很多,效率不高,实际使用也不多。
现在的计算机声显网全部集成到主板,主板的主流音频芯片只有两三家厂商提供,可以通过安装一定数量的厂商驱动即可实现市面绝大多数主板兼容,故PNP的关键在于网卡和显卡。由于无盘系统极端依赖于网卡,下面以网卡PNP 为例,来说明如何在云机房中实现终端设备的PNP自适应。
首先主板PXE 引导模块通过Mac 地址找到Dhcp服务器获取IP[3],然后在通过Tftp 来获取引导文件。引导之后,通过镜像内置的寻找软件通过SetupAPi来获取网卡的硬件ID,如PCIVEN_8086&DEV_10EA&SUBSYS_215317AA&REV_06,分别为VEN 供应商、DEV 设备ID、SUBSYS 子系统等关键信息,版本号可以忽略,将VEN、DEV、SUBSYS 的值合并,并取Hash。通过镜像内置的寻找软件和无盘服务器通信,无盘服务器获取到这个Hash值后,跟自己本地的驱动库进行比对。如果有,就将镜像中间的系统配置目录下的SYSTEM 注册表文件备份出来,然后通过挂载注册表文件的方式将驱动写入服务。无盘引导的时候然后通过无盘服务器备份的IP和设备ID对照表,传输对应的注册表文件覆盖,即可实现网卡的PNP。
硬件ID 的获取是通过SetupApi 中间的SetupDi-GetDeviceRegistryProperty函数获取,如下所示:
驱动程序本质也是一个Windows 服务程序,因此可以采取类似注册表注册服务的形式来安装。下面以Intel(R) PRO/1000 为例生成注册表配置文件,然后通过外挂配置文件方式,将驱动写入SYSTEM 文件即可,注册表示例文件如下:
本文结合在云机房搭建中获得的经验,认为PXE无盘技术能在现有的带宽下完美地实现计算机的远程维护与配置,大大节省企业动态增减计算机的费用,降低维护难度。该方案不失为现在的主流云机房方案。但是我们也要看到,由于用户端还是需要配置一个计算机,计算机硬件没有集中管理,硬件损坏难免,因此硬件维护的费用并没有降低。随着国家互联网的发展,带宽需求越来越不是问题的时候,主机盒子甚至虚拟主机将是未来云机房发展的主要方向。