在UNIX 和Linux平台上部署IBM DB2 产品(五)

日期: 2008-09-04 来源:TechTarget中国 英文

  服务器事项


  在服务器部署中,通常需要附加命令来创建和设置数据库、表空间、表,等等。至于客户机,创建单个/share/ddi/createdb. db2脚本即可简化部署脚本。


  并行服务器事项


  除了上述的服务器事项以外,在并行环境中,部署脚本必须可以按需更新.rhosts和 db2nodes.cfg 文件。


  使用db2_install部署安装


  虽然该方法绕开了响应文件创建步骤,但是它也错过了响应文件安装带来的所有方便之处。


  安装阶段相当简单:


  /share/rtcl/db2_install -p DB2.RTCL -n


  产品标识符对每一种产品来说都是唯一的:请参考产品文档,以获取更多关于db2_install 命令的信息,或者运行db2_install(无任何参数),以查看产品清单。


  如果需要其他语言支持,则部署脚本必须逐个安装。有关如何执行该操作的更多信息,请参见下面的“部署手动安装”一节。


  试运行阶段


  部署脚本现在还需要按需处理用户、实例和DAS的创建。创建用户是特定于操作系统的功能,应当参考操作系统指南。实例和DAS的创建将在“DB2 安装和配置补充说明”中讨论。


  有关其他安装后工作的信息,请参见上面“部署响应文件安装”一节中的相关小节。


  部署手动安装


  该方法的优势是,它是一种安装的最精确方法,同时也是一种准备和调试时间最密集型的方法。因为它还是最高级的安装,是专为了解操作系统封装格式的系统管理员提供的,所以本文将知识水平进行了假定。


  该部署脚本的第一阶段是拟定DB2代码本身。这是独立于系统之外的,因为DB2使用每一种操作系统所固有的安装工具。


  在 AIX上,DB2使用installp命令。


  在 Solaris上,DB2使用pkgadd命令。


  在 HP-UX上,DB2使用swinstall命令。


  在 Linux上,DB2使用rpm命令。


  在该情况下成功编写部署脚本的关键是:了解适用于您的操作系统的工具,了解哪一个软件包包含所需的DB2代码,了解安装的顺序。中级和高级shell脚本用户可以在安装介质的 db2/platform目录中的db2_install脚本中找到该信息。


例如,要在Linux上安装具有JDBC支持和French消息的精简Run-time客户机,请执行以下命令(为简洁起见调整命令行):


  rpm -ivh IBM_db2msen81 IBM_db2cliv81 IBM_db2msfr81 IBM_msFR81 IBM_cucs81 IBM_jdbc81 IBM_db2conv81 IBM_db2rtsg81


  rpm的顺序与db2_install脚本中的顺序相同。在某些系统中,顺序是很重要的;而在其他系统中,将所有的软件包放在一行中允许安装程序按需记录它们,以实现操作系统先决条件。


  为了确定您需要安装哪一些软件包,请查看同一目录中的ComponentList.htm文件,以获取有关描述的完整清单。


  手动安装脚本的第二阶段是试运行阶段。有关该阶段的更多信息,请参见上面的“使用 db2_install 部署安装”一节中的相关小节。


  部署DB2


  到目前为止,准备部署所需的所有操作都已经完成。因为前期成本原因,这些操作仅执行一次,而实际的部署可以快速地在数百或者数千台计算机上执行,而以后单独添加额外的计算机几乎不需要成本。


  您可以部署软件的软件环境有很多种。但是,不同于详细讲解如何使用具体部署软件,本文重点关注一般想法,允许您调整想法来适应部署 DB2 的软件和环境。


  部署的两种基本样式是push(放)和pull(拖)。


  在push(放)部署中,集中化位置启动与每台计算机的联系。这通常适用于需要在没有用户操作的情况下设置很多计算机的集中IT部门。然而,为了实现该操作,必须已经在每一台需要“pushed(放到)”的机器上安装和运行自动化的服务(例如rshd、sshd或其他部署软件),并且这些机器必须具有可用于IT部门的恰当的访问权限。


  在pull(拖)部署中,每一个安装DB2的位置启动自身与服务器的联系,以开始安装。通常,它是Web页面、电子邮件或者其他位置中的链接。这通常适用于需要安装DB2的计算机数量很少,或者没有提供自动化服务可用于支持 push(放)安装的情况。


  Push安装示例 







#! /bin/sh
  dst_computers=”wrkstnl wrkstn2 wrkstn3″ for comp in $dst_computers; do ssh -1 root $comp “mkdir /share;
  mount -t nfs -o ro fileserver:/bigshareddisk /share;
  /share/rtcl/deployment.sh;
  umount /share; rmdir /share” >> /var/log/deploy.$comp & done


  想法是将上述代码,或者与上述代码非常类似的代码存放在shell脚本中,例如 db2deployment.sh,您可以用来存放DB2安装。


  由于大多数操作已经由部署脚本完成,所以需要push安装脚本完成的操作很少。


  该示例假设,在其他情况下,ssh设置在所有工作站上,并且运行ssh的用户有权访问每一台工作站上的root。


  Pull安装示例 







#! /bin/sh (mkdir /share
  mount -t nfs -o ro fileserver:/bigshareddisk /share /share/rtcl/deployment.sh >> /share/logs/”hostname”.out umount /share; rmdir /share) >> /var/log/deploy.$$


  该脚本几乎与push示例中的脚本一样。同样,部署脚本执行大部分的操作。由于该原因,您仅需要设置环境,以便适当的用户可以以root身份运行脚本。


  结束语


  将DB2部署到数百、甚至数千台UNIX或者Linux客户机或者服务器中,并不比部署到单台客户机或者服务器中困难。利用一些计划和测试,大规模部署DB2就可以是一项常规管理任务。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐