摘 要:本文介绍了基于Web的Solaris操作系统环境自动化安装工具的架构,采用的技术以及核心技术的具体实现。针对特定场合大量,频繁的服务器安装要求,采用此工具能极大地减轻系统管理员的工作量,同时缩短Sun服务器操作系统安装的时间,能够极大地提高服务器的安装效率。
关键词:Solaris安装;Apache;CGI;Jumpstart
一 、前言
在一些特定环境,例如一些大型软件开发公司的机房内,维护有大量的Sun服务器。针对软件开发测试的需要,系统管理员要经常为这些Sun服务器重新安装Solaris操作系统并配置所需环境。以往用光盘安装的方法费时费力,效率低下。
本人作为系统管理员,管理维护单位上百台的Sun服务器。经常需要为开发测试人员重装Solaris。为了提高工作效率,本人特开发了一套基于Web的Solaris环境自动化安装工具。这套工具,结合Sun公司的jumpstart技术,使客户勿需通过系统管理员,自己通过浏览器自助地进行Solaris的安装,方便快捷。
二、 Solaris环境安装自动化工具的整体架构设计
本自动化工具基于Web,采用CGI技术,客户端通过浏览器,使用基于HTML的页面提供给用户自助进行Solaris安装版本的选择,提交后通过表单(Form)发送给Web服务器。Web服务器于是调用相应CGI脚本运行代替系统管理员完成相关的配置工作。Web服务器与Jumpstart服务器安装配置在同一台Sun SPARC服务器硬件上,在Jumpstart服务器端使用Perl脚本语言编写配置Jumpstart的CGI脚本程序。
三、各功能模块的具体实现
1.Sun SPARC服务器的安装与配置
用Solaris的CD-ROM手工安装一台Sun SPARC服务器.
2.Jumpstart服务器的安装与配置
按照Solaris的安装文档在Sun SPARC服务器上配置Jumpstart服务器。具体内容请参见SUN公司提供的Solaris的安装文档,这里不再赘述。
3.Web服务器的配置
Solaris本身提供Apache Web server。请参阅Apache的配置文档进行基本配置,保证在客户端的浏览器上能显示基本的web页面。这里不再赘述。
4.客户端网页的设计
我们可以使用如FrontPage等Web页面设计工作编写客户端HTML文件。
客户端HTML文件主要涉及表单(Form)的设计,其中有两个必选字段,一个是安装服务器名,一个是Solaris版本。这两个字段可以用列表框,事先把所有要安装Solaris的服务器名及Solaris版本号都写进去,这样客户只需用鼠标点两下,即可选定要安装的的服务器名及Solaris版本号。进一步,根据安装的类型,即是全新安装还是升级安装,可增加两个单选按钮来进行选择。另外,为了增加安全性,可以增加密码字段来完成授权用户的验证。
表单中的client表示要安装Solaris的服务器的主机名,即hostname。表单中的buildnum表示要安装的Solaris的版本。例如,zcyds450就是其中一台服务器的主机名,而8703表示Solaris的版本为Solaris 8 7/03。表单中的insttyp表示选择Solaris的安装方式,即全新安装还是升级安装。
5.服务器端CGI脚本的设计
服务器端CGI脚本用来接收客户端的输入信息,并根据所要求的安装Solaris的服务器名和要安装的Solaris版本调用相应命令行程序来配置Jumpstart服务器。下面就脚本程序clntchg..pl其中的核心部分进行讲解:
以上脚本用来解析从客户端传来的参数,并通过环境变量来存储这些参数,其中环境变量$hostname表示要安装Solaris的服务器主机名;$buildnum表示要安装的Solaris的版本;$insttyp表示Solaris的安装类型,即全新安装还是升级安装;$passwd表示客户端输入的密码。
以上子程序用于打开存储服务器与Solaris版本对应关系的数据文件clntinfo,并将数据读入关联数组clntdb中。
以上子程序用于打开存储服务器与Solaris安装类型对应关系的数据文件clnttyp,并将数据读入关联数组clnttyp中。
以上子程序用于打开存储Solaris版本类型与相应版本Solaris的安装文件在jumpstart服务器上存储相对路经的对应关系的数据文件clntmap,并将数据读入关联数组clnt_map中。注意:clntmap文件在有新的Solaris版本加入到jumpstart服务器时需手工进行添加,可直接用vi编辑添加。
以上子程序开始在后台配置jumpstart服务器。如果安装类型变量insttyp为new,主机名变量hostname选择为zcyds450,Solaris版本变量buildnum选择为8703。其中wcyds3d9是jumpstart 服务器的主机名,也就是和Web服务器是同一台物理机器。替换完环境变量后,如下:
system(""/opt/sudo/bin/sudo /export/ install8_7_03/Solaris_*/Tools/add_install_client -p wcyds3d9:/jumpstart/solaris9/cue_tmp/zcyds450 -c wcyds3d9:/jumpstart/solaris9/configs zcyds450 sun4u>> logs/cltchg.log 2>&1"");
关于add_install_client的详细用法请参见SUN公司提供的Solaris安装文档,这里不再赘述。
四、Solaris操作系统的安装
如图1,用户通过Web页面选择要安装的主机名和Solaris版本后,点击Modify按钮后,通过在Jumpstart服务器端执行clntchg..pl脚本,调用系统命令add_install_client以完成Jumpstart客户端的配置。然后在要安装Solaris的服务器的Console(控制台)下进入OK模式,输入命令:boot net – install 然后回车,即自动开始选定版本的Solaris的安装。
五、结论
通过使用以上基于Web的Solaris环境自动化安装工具软件,我们可以极大提高工作效率。这套工具软件非常易于使用,用户只需通过浏览器,轻点鼠标几次,即可完成Jumpstart服务器的配置。并且支持多个用户同时进行配置,支持多台服务器同时安装。越是需要Solaris频繁安装升级的环境,越是能显示出这套工具软件的威力。
参考文献:
Apache HTTP Server Documentation Project; Dynamic Content with CGI; http://httpd.apache.org/docs/1.3/howto/cgi.html