版权归原作者所有,如有侵权,请联系我们

[科普中国]-虚拟装置

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

概述

虚拟装置(virtual appliance)是在操作系统上预先安装好应用程序的“应用程序+操作系统”套装软件。虚拟装置的优点在于既然软件已安装到操作系统上,那么所有的配置设置,都可以由软件商预先进行,软件商甚至可以把操作系统内非必要的组件移除,以优化系统,无须用户自行调校,便可取得最佳效果。也就是说,这里的操作系统,是适用于应用程序的特殊操作系统。把虚拟装置安装到虚拟机上,就可直接使用应用程序,不再需要经历各种专业复杂的安装配置以及调试过程。

创建虚拟装置的原则是完全封装。虚拟装置要求所有的组件运行在一个虚拟层上,在制作虚拟装置前,需要对这些组件做好配置,使它们能正确运行并且性能达到最优。由于虚拟装置是针对某个具体应用的解决方案,所以用户没有必要拥有虚拟装置中操作系统的管理员权限,甚至在某些应用中,用户完全没有必要访问虚拟装置内部。当然,最好的方式是,在虚拟装置中配置一个“浏览器/服务器”模式的界面,用户通过浏览器的方式登录使用,以这样的方式来达到限制用户对虚拟装置访问的目的。1

创建步骤优化操作系统创建一个虚拟装置和创建一个物理装置所遵循的原则基本相同,但是虚拟装置没有事先安装在任何物理硬件上,所以在创建虚拟装置时,需要在创建过程中一步一步优化和缩减大小。物理装置开发商喜欢安装一个“胖”操作系统,因为他们往往有一个很充足的存储空问,但是虚拟装置则不同,它们必须变小,以便能够在网络上上传和下载。

在这里,“够用就好”(just enough OS)是虚拟装置中操作系统定制的基本出发点。“够用就好”的思想最早来源于模块化的操作系统如Linux,但是,目前也有工具可以把微软的操作系统修剪到一个just enough OS。一个比较极端的例子是BEA的Liquid VM,BEA公司的虚拟装置把BEA J—Rockit Java虚拟机部署在一个很“薄”的层上,该层把Java虚拟机产生的低级系统调用直接翻译成VMware虚拟机可以执行的指令。这样一来,Java虚拟机不再像在以往的操作系统上受到重重限制了。

虚拟装置不需要的服务和端口必须剔除和关闭。比如,如果虚拟装置不需要向文件系统中写入数据,那么有必要关闭FTP服务和相应端口。当然,你还是需要打开Web端口,以便虚拟装置的用户通过Web的方式来修改虚拟装置的一些配置信息。

初始化设置一旦虚拟装置安装上以后,用户应该尽量不去修改它的配置。于是,初始化设置变得非常重要,而且开发人员必须能够让用户在初始化的时候设置某些配置,比如设置虚拟装置的IP或者虚拟装置支持DHCP,并且在配置时给出Web管理界面的URL(http/https+IP地址+端口)。

有了Web控制台或者命令行控制台后,用户就可以执行一部分对虚拟装置的管理操作了。对于开发人员来说,初始化虚拟装置时,需要支持以下配置:建立用户名和密码,以及管理员用户(虚拟装置的管理员,并非操作系统的管理员),设定网络配置信息,使用DHCP或者使用静态IP并且为虚拟装置设定主机名,设定SNMP配置信息,设定虚拟装置上各种服务的日志级别以及日志rotation策略,生成一个用于生成SSL证书的SSL证书请求,上传一个SSL证书来保证虚拟装置的通信安全,同步系统日期时间,出厂设置等。

添加标准组件虽然不同的虚拟装置可能会需要不同的组件,但是以下组件基本上是每个虚拟装置都需要的。这些“标准”组件以后可能会被写作一个“虚拟装置框架”中,方便开发人员建立虚拟装置,这些组件有:

(1)一个“够用就好”的操作系统

同优化操作系统所述的够用就好(just enough)的操作系统。

(2)命令行控制台

最好提供一个单独开发的命令行界面,可以自己制定一些参数或者语法。它的基本功能有:设置/显示网络配置,设置SSL,监控进程,管理用户,生命周期管理。

(3)Web管理控制台

即使开发人员提供了功能强大的命令行控制台来管理虚拟装置,但是用户更倾向使用图形化的Web控制台。Web控制台需要具备的基本功能有:包括命令行控制台的主要功能、日志管理、NTP(网络时间服务)。此外还有解决方案配置信息:虚拟装置提供某类解决方案,会涉及一些自定义的控制选项,使用Web控制台的方式让用户填写这些信息,可以使配置流程更加清晰。

虚拟机设置一个虚拟装置是创建在一个虚拟机内部的,于是根据虚拟装置上的具体应用来配置虚拟机也是一个必要步骤。由于大部分虚拟装置提供的是服务器端服务,所以很多虚拟硬件是不会使用到的,如软盘、CD、USB等,所以最好将这些虚拟硬件移出虚拟机。

打包和发布当创建完成一个虚拟装置并且测试通过后,就可以将它打包供用户下载了。先准备一个空文件夹,将虚拟机的虚拟硬盘和配置文件,以及readme等说明文件放入,压缩成.zip或者.tar文件即可。

至此,经过“优化操作系统”、“初始化设置”、“添加‘标准’组件”、“虚拟机设置”、“打包和发布”一系列步骤,一个虚拟装置被创建并可以被用户下载使用了。1