服务器事项
在服务器部署中,通常需要附加命令来创建和设置数据库、表空间、表,等等。至于客户机,创建单个/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中国
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
从Linux上的SQL Server看微软未来计划
在微软的大部分历史中,Windows一直是其旗舰产品,该公司已经试图通过开发几乎专门为Windows开发的软件来防止客户采用竞争的操作系统。
-
微软对Linux不友好?SQL Server支持Linux怎么说
现在的微软与5年前的微软差别很大了,公司越来越靠近开源和开放,我们在微软的许多产品中都能看到这一点。
-
微软与时俱进:Linux 系统支持SQL Server
Linux上的SQL Server 并不是凭空出现的。数据库始于Unix系统,微软一直在努力降低产品对Windows系统的依赖性。