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

来源:it168 作者:it168
  

  在数十、数百或者数千台基于 UNIX 和 Linux 平台的客户机和服务器上部署 IBM_ DB2 产品,包括 IBM DB2 Universal Database (DB2 UDB) 和 DB2 Connect,这看起来似乎是一件令人望而生畏的任务。

  本文讲述了如何跨多台机器在 UNIX 和 Linux 平台上快速、轻松和一致地部署 DB2 产品。本说明书可用于安装客户机、服务器、并行服务器和 FixPak。

  本文主要讨论 UNIX 和 Linux 平台上的 DB2 Version 8 产品家族。本说明书与前一版本类似,并且在未来版中也会继续保持类似特点。

  为了简单起见,文中的例子使用 Bourne shell 语法。其他 shell 用户将需要作适当的调整。

  DB2 产品

  支持 UNIX 和 Linux 的 DB2 家族有 15 种以上的 Version 8 产品,需要根据平台来选择产品,因此,如果对 DB2 产品线不熟悉,选择正确的产品将会是一项颇具挑战性的任务。为了帮助您确定在计算机操作环境中安装哪一种 DB2 产品,我们提供了以下产品概览。

  本概览不是为了详细描述每一种产品的许可条款,而是旨在综述每一种产品的特性和使用场景。此外,本概览并未涉及所有的 DB2 产品,而只是根据 PMR、新闻组帖子以及与 IBM 客户的沟通,讨论那些在功能上最容易产生混淆的产品。

  注意,并非所有产品都适用于所有平台。

  DB2 客户机

  有四种 DB2 客户机产品,分别具有不同级别的功能性。

  DB2 Run-time Client 是适用于那些只需要 DB2 客户机支持应用程序与远程 DB2 服务器通信,而不需要管理任何服务器的计算机。因此没有提供任何图形工具。但是,任何使用 DB2 UDB 或者 DB2 Connect 的应用程序都应当可以通过该产品运行。总的来说,该产品对于大多数应用程序来说是必需的,无论应用程序是第三方提供的还是内部开发的。

  DB2 Administration Client 是专为 DB2 管理员设计的。它具有 DB2 Run-time Client 的全部功能,并增加了所有的图形化工具。注意,DB2 Administration Client 的精简安装在功能上等同于 DB2 Run-time Client 的精简安装。

  DB2 Application Development Client 是专为编写软件来使用 DB2 产品,或者编译针对 DB2 API 软件的开发人员设计的。它具有 DB2 Administration Client 的所有功能,并增加了可用于应用程序开发的附加图新工具。

  DB2 Connect Personal Edition 是一个经过许可的客户机,它具有 DB2 Application Development Client 的所有功能,并增加了连接主机数据库(例如 DB2 for MVSTM)的功能。

  因为每一个客户机都包含在其之前的客户机的全部功能,所以您几乎不需要在一台机器上安装多个客户机。多客户机通常仅在更改计算机角色时才安装。例如,发生在用户提出访问主机数据库的新需求,从而需要迁移到 DB2 Connect Personal Edition 中时。在这些情况下,您可以通过在旧客户机之上简单地安装新客户机,并重新运行所有 FixPak 来执行升级。

  DB2 服务器

  

  DB2 服务器的扩展方式与客户机一样。所有的 DB2 服务器都是经过许可的。

  DB2 UDB Personal Edition 是一款严格的台式机产品,因为它不允许远程客户机的连接。它在某种程度上类似于 DB2 Application Development Client,同时添加了仅允许本地客户机访问本地数据库的功能。

  DB2 UDB Express Editions 是专为具有少数客户机的中小企业设计的。它们具有 DB2 UDB Personal Edition 的全部功能,而且允许远程连通性。

  DB2 UDB Workgroup Server Editions 是专为大规模服务器设计的。它们具有 DB2 UDB Express 的全部功能,而且具有更加广泛的许可。

  DB2 Connect Enterprise Editions 是专为客户机连接主机数据库(例如 DB2 for MVS)的三层选通(three-tier gating)而设计的。它们具有 DB2 Connect Personal Edition 的全部功能,并增加了网关功能。

  DB2 UDB Enterprise Server Edition 是专为大型和超大型数据库而设计的。如果不考虑数据库分区特性(DPF),则它在功能上等同于 DB2 UDB Workgroup Edition 和 DB2 Connect Enterprise Edition 的组合。利用 DPF,Enterprise Server Edition 还允许多台机器作为单个无共享集群(single shared-nothing cluster)共同运行,利用多台机器模拟单一数据库服务器。

  因为每一台服务器具有所有客户机的全部功能,包括图形工具和应用程序开发工具,所以没有理由再在一台已经安装服务器的计算机上安装客户机。这显著地简化了 DB2 产品的部署。

  开发人员版本

  DB2 开发人员版本仅在许可方面与上述产品不同。但是,有迹象表明,确保在开发环境中的大规模部署中包含该产品引起不少混乱。

  DB2 UDB Personal Developer' s Edtion 是 DB2 UDB Personal Edition 面向小型开发团队的有限许可版本。它包含有限许可的 DB2 UDB Personal Edition 和 DB2 Application Development Client,允许单个开发人员针对本地服务器编写、编译和测试代码。虽然它还允许开发使用远程数据库,但是远程数据库产品不包含在该软件包中。由于 DB2 API 隐藏了一些细节(如数据库的实际位置),在 DB2 UDB Personal Edition 中的开发与在任何 DB2 UDB 服务器(如 DB2 UDB Enterprise Server Edition)中的开发一样。

  DB2 UDB Universal Developer's Edition 是一种全功能的、一站式的开发产品,面向大型开发团队。它包含几乎全部的 DB2 for Linux、UNIX 和 Windows 产品,包括一些本文中没有涉及到的产品。因为它包含所有平台的全部服务器产品,所以它可以用于开发多平台,或者开发不受 DB2 UDB Personal Developer's Edition 支持的平台。

  因为除了其许可条款之外,Developer's Edition 产品与先前产品一样,所以不必在现有产品之上安装这些产品,反之亦然。

  部署概览

  在 UNIX 和 Linux上执行 DB2 产品部署的步骤如下:

  1. 创建代码服务器

  2. 计划部署

  2.1 可选,创建一份响应文件,以自动化配置。

  3. 创建一份部署脚本

  4. 在所有机器上运行部署脚本

  创建代码服务器

  创建代码服务器的目的是加速部署进程。事实上,把 CD 从一个系统转移到另一个系统并不是在合理利用管理员的时间,甚至将 CD 安装在一台机器中,然后通过网络文件系统(例如 NFS、DFS、AFS 等等)安装,将减缓所有的部署,因为后者需要不断的跳跃,以响应网络请求。

  相反,通过将 CD 复制到硬盘中,我们可以充分利用大多数物理文件系统驱动程序提供的缩短的查找时间和增大的缓冲区。

  此外,在 DB2 Version 8 中,一些产品在其 CD 中是以压缩形式针对某些平台提供的。对于这些产品来说,我们必须复制到本地磁盘,然后解压缩和释放文件,因为我们无法简单地从 CD 直接共享镜像文件。

  根据您所拥有的产品和平台,您可能可以直接复制文件,否则您必须解压缩镜像文件。如果您可以复制镜像文件,我们建议以 root 权限使用以下命令:

  # (cd /cdrom; tar cf - *) | (cd /bigshareddisk; tar xf -)

  使用磁带存档文件的基本意图在于并不是所有的平台都具有可以保持符号链接(symbolic link 或 symlink)的 cp 命令。相反,任何可以保持符号链接、所有权和权限的等同命令也同样适用。

  如果您有一份预压缩的镜像文件,则需要使用的命令是:

  #(cd/cdrom;zcat*.tar.Z)|(cd/bigshareddisk;tar xf-)

  相反,在 Linux 上,磁带存档文件可以使用 Z 选项来实现上述命令:

  #cd /bigshareddisk; tar xzf/cdrom/*.tar.Z

  注意,在这一点上建议不要使用 Microsoft® Windows® 文件服务器。Windows 文件服务器将丢失文件权限,而且将不能处理名称与自身不同的文件,这种情况在 DB2 for Solaris 和 DB2 for Linux 产品中都存在。

  下一步骤是通过网络文件系统导出 /bigshareddisk。具体操作步骤超出了本文所讨论的范围。注意,尽管无法将 DB2 本身安装到 NFS 分区中,但是可以通过 NFS 安装 DB2。

  计划部署

  DB2 for UNIX and Linux 可以使用多种方式进行非交互式的安装。选择哪一种方法取决于您的偏好。所有的方式都可以交替使用。即,您可以使用一种方式执行安装,以后在同一台机器上执行的另一安装则可以使用另一种方式。选择一种方法并不代表您需要永远使用该方法。

  对于 FixPaks 来说,仅有一种方式可用。

  极力推荐,在任何部署之前,您应该在一台测试机器上测试安装,以检验部署在每一台机器上会生成什么。此外,甚至在测试部署之前,极力推荐在设计非交互式 DB2 部署之前至少使用一次图形安装程序。图形安装程序可以帮助您理解非交互式安装模式中的条款和关键词。FixPaks 没有任何图形安装程序。

  响应文件安装

  推荐的方法是响应文件安装。该方式涉及到创建一份响应文件(将在本文后面讲述),然后针对响应文件运行 db2setup。推荐使用该方法是因为它可以提供很多优势:

  • 预先的响应文件语法检查意味着,如果 db2setup 接受了响应文件,则它很可能可以运行。

  • 它允许您选择与图形安装程序一样或者更好的粒度来安装。

  • 它允许您配置图形安装程序配置的所有内容,而不需要知道其中发生的情况。

  • 它允许您与安装同步设置数据库管理程序配置 (dbm cfg) 和 DB2 配置文件注册表参数。

  • 可以完全解释所有的输出和日志文件。

  db2_install

  您可以使用的另一种方法是 db2_install 脚本。它是一种瘦型粗粒度的包装程序,仅仅调用底层操作系统安装程序(AIX®、Solaris、HP-UX 和 Linux 操作系统上的 installp、pkgadd、swinstall 或 rpm)安装整个产品。与响应文件的安装相比,这种方法有以下局限性:

  • 粗粒度安装意味着在安装时无法选择所有备选组件。

  • 其中不包括语言选择。您必须使用另一种方法来安装英语之外的语言。

  • 其中不包括 DB2 Administration Server (DAS) 的配置或者实例。

  但是,它不需要设置任何响应文件。

  操作系统安装程序

  这种方法涉及到调用可以直接应用于平台的操作系统安装程序。有关执行此方法的更多信息,请参见操作系统文档和相关主页。与响应文件安装相比,该方法具有以下局限性:

  • 您必须按照正确的顺序手动安装组件。

  • 组件名称通常不像响应文件标识符那样可读取或者直观。

  • 其中不包含任何 DAS 配置或者实例。

  与使用 db2_install 相比,该方式具有以下不同点:

  • 更加灵活,因为您仅安装了所需的组件。

  • 您可以安装英语之外的语言。

  • 需要更多设置时间,因为您必须选择需要安装的组件。

  FixPak 安装

  FixPak 安装通常是非交互式的,因此常常用于大规模部署。

  创建响应文件

  创建响应文件是一个可选但推荐采用的步骤。响应文件可以显著地简化安装脚本。响应文件不可以用于 FixPak 安装。

  响应文件可能会因为目标环境不同而显著不同。本文主要针对三种环境:客户机、单机服务器(例如,除了 Enterprise Server Edition with DPF 以外的任何服务器)和并行服务器(例如,Enterprise Server Edition with DPF)。

  对于按照上述三种环境的组合部署的机器来说(例如安装了 Relational Connect for DB2 Data Sources 的数据库服务器,同时还必须作为另一个数据库的客户机),可以将这些环境组合在一起。但是,为了简单起见,本文不讨论这些组合。

  响应文件

  创建响应文件的最简单方式是使用 db2setup 图形界面。通过启动 db2setup,然后保存响应文件,您可以以图形方式选择需要安装的组件。然后,您可以通过从 CD 中提供的示例响应文件中复制附加条目来调整响应文件。

  创建响应文件的另一种方式是从 CD 中复制示例响应文件,然后修改该示例响应文件。示例存放在 db2/pto/samples 目录中,plat 是平台标识符。例如,db2/linux/samples/db2rtcl.rsp 是 DB2 for Linux CD 中面向 Linux 的 Run-time Client 示例响应文件。

  尽管极力推荐在部署之前首先在一台机器上进行测试,但是响应文件非常易于使用。

  关于响应文件需要知道的第一件事是任何以 * 或者 # 字符开始的行都将作为注释忽略。

  *Thisisa comment.

  任何行的末端包含 ** 或者 ## 序列的行也都将作为注释被忽略。

  PROD = ENTERPRISE_SERVER_EDITION ** This is a comment.

  所有的数据均以 KEYWORD=VALUE 格式显示。在以上示例中,关键词是 PROD,而 PROD 关键词的给定值是ENTERPRISE_SERVER_EDITION。

  每一个关键词被看作是一个标记。即,该关键词保留不翻译。大多数值也都是标记。例如,在以下的行中

  INSTALLJTYPE=TYPICAL

  关键词和值都是标记,因此不应当被看作英文单词。响应文件安装程序可以识别这些标记,它所识别的标记都是一样的,不考虑其语言。

  未注释的示例响应文件中的条目被看作是强制性的,必须填写才能进行安装。

  最后,很多关键词直接映射到您在图形安装期间可能会遇到的问题中,因此掌握图形安装可以帮助理解响应文件。

  PROD

  PROD 关键词指定需要安装的产品。每一份示例响应文件都已经预填入该关键词。不需要对其进行任何改动。

  INSTALL_TYPE

  该关键词指定所需安装的类型:精简、典型、自定义。如果选择典型,则还可以选择所有典型选项。如果选择自定义,则可以选择需要安装的所有组件。如果选择精简,则所有这些可选环节都将被忽略。

  TYPICAL_OPTION

  如果已经选择安装类型为 TYPICAL(典型),则您可以选择其他的典型选项集。例如,如果您需要典型安装具有 Data Warehouse 选项的 Enterprise Server Edition,您可以在此作出选择。只需去掉不需要在部署中安装的每一个选项前的星号即可。如果安装类型不是 TYPICAL,则忽略该关键词。

  COMP

  如果已经选择安装类型为 CUSTOM(自定义),则可以通过从所需组件中去掉注释字符来选择其他组件。对比来说,Linux 和 UNIX 响应文件通过说明使用典型安装和每一个典型选项会选择哪一些组件来区分组件。如果安装类型不是 CUSTOM,则忽略该关键词。

  LANG

  如果您需要使用英语以外的语言,请选择该关键词。不同于图形安装程序的是,如果当前语言不是英语,则响应文件安装程序不会自动选择当前语言。此处的语言标记和具有 -i 选项的安装程序使用的那些标记一样。

  SELECT_INSTALLED_LANGS

  如果设置为 YES(是),将自动选择 DB2 已经安装的所有语言。这非常适用于在同一个系统中安装第二种产品,同时想使所有新功能保持原有的语言设置。

  ENCODING

  如果没有选择任何编码方法,则自动安装全部编码方法。对每种语言来说,不同的编码方法都适用。如果不需要全部的编码方法,您可以选择所需的子集。注意,ISO 或者 EUC 编码方法需要作为某些语言的反编编码方法(fall-back encoding)。

  LIC_AGREEMENT

  该参数向响应文件安装程序表明您已经读取并同意在 DB2 介质上所包含的许可。您可以在 db2/\iceme/locale.encoding 目录中找到该许可。默认值是 DECLINE(拒绝)。您必须将其更改为 ACCEPT(接受)才能继续安装。

  实例创建设置

  这些设置可用于创建作为安装一部分的实例。您可以通过使用多个 INSTANCE 名称,在一次安装中创建多个实例。例如,您可以创建 INSTANCE=instancel 和 INSTANCE=instance2。对每一个实例来说,您需要利用 instance1和 instance2前缀创建所需设置的剩余部分。

  大多数这些设置要么是数据库管理程序配置设置,要么是 DB2 配置文件注册表设置(所有这些可配置的设置都应当包含在响应文件中)。

  其他设置允许您创建新用户,包括密码。如果选择利用响应文件创建新用户,则建议使用正确的文件系统安全性,确保在执行安装的每一台机器上仅 root 可以读取响应文件,因为密码存放在纯文本中。相反,您可能希望在使用响应文件之前,首先创建用户帐户,并设置密码。

  实例用于存储 DB2 配置。这包括服务器的本地数据库和客户机及服务器的远程数据库。

  如果是从前一版本中迁移实例,则不需要创建新实例。DB2 需要一个实例来执行所有操作,无论是托管本地数据库还是连接到远程数据库。

  不同于将所有的设置存放在响应文件中,一种替代方案是使用 db2cf exp 命令将配置从现有实例中导出。在这种情况下,您可以按需在测试机器上精确配置主实例(包括性能调优和编目远程节点与数据库,但是不包括本地数据库),然后使用命令

  “db2cfexp <fiiename> template”导出配置。在部署期间,您需要使用 db2cfimp 导入指定文件中存储的模板。例如,“db2cf exp db2inst.exp template”可以创建一份描述当前实例的名为 db2inst.exp 的文件。

  管理服务器设置

  这些设置可以用于创建 DAS。如果在示例响应文件的某一节中已经说明,某些产品允许使用管理服务器,则这些产品必须具有管理服务器。如果在目标机器上一台管理服务器也没有,则必须使用该节来创建管理服务器。与 DAS 关联的用户必须不同于任何实例使用的用户。

  如果是该版本的首次安装,您仅需要创建新的 DAS。例如,如果您已经安装 Workgroup Server Edition,并且需要升级到 Enterprise Server Edition,则前次安装中的现有 DAS 足以胜任。在这种情况下,您可以注释 Administration Server 设置。

  客户机部署事项

  由于客户机安装的主要目的是与远程服务器通信,从正在运行中的客户机导出客户机配置文件可以简化部署,因为这样可以使编辑节点和数据库目录的工作更加轻松。

  单服务器部署事项

  响应文件安装无法创建本地数据库。这些数据库需要作为部署脚本的一部分创建。

  并行服务器部署事项

  并行环境中的服务器实例仅需要在一台计算机上创建实例。通常是安装的第一台计算机进行,并且在该计算机的本地磁盘上创建。该计算机被称作“instance owning computer”。集群中其他的计算机不必有任何创建的实例。这些计算机被称作“node(节点)”。

  正如您所见,此处部署了两种不同类型的安装。第一种,创建了实例的计算机,需要安装 DB2 Enterprise Server Edition 和创建本地实例的响应文件。第二种,对每一个节点来说,需要安装 DB2 Enterprise Server Edition,同时没有创建任何实例的响应文件。第二份响应文件可以简单的从头创建:删除响应文件中有关实例的所有部分,或者,换句话说,仅保留涉及产品、安装类型、组件、语言或者许可的关键词。

  创建这些响应文件的另一种方式是使用图形安装程序来安装具有实例的节点。在图形安装期间,有一个选项可以保存响应文件,以供所有的节点使用。如果您正在部署单个集群,这通常可以使操作更加简单。

  并行环境中的响应文件安装无法为节点之间的 rsh 访问设置 .rhosts 文件,也不可以设置 db2nodes.cfg 文件。

  创建部署脚本

  该 脚本通常在 shell 脚本中编写,但是任何语言都可以使用,包括 Perl、JavaTM 或者 C。这可以被简单的看作是包装程序处理 DB2 安装过程中不处理的安装和配置 DB2 的那些方面。脚本就是在目标机器上运行并作为部署过程一部分调用的文件。

  第一步是决定需要执行什么。如果已经创建了完整的响应文件,该步骤就非常简单,否则,该步骤就会相当复杂,尤其是在您没有使用响应文件来执行安装时候。

  在所有的示例中,我们假设 / share 是远程文件系统,在需要部署的所有机器上都安装为 / share。如果没有任何共享文件系统可用,则在远程安装文件系统,或者编写脚本来自动安装和卸除文件系统都是可能的。(如何固定一个文件系统已经超出了本文讨论的范围。)

  文件系统可以是 NFS、AFS、DFS 或任何一种非本地文件系统。建议唯独不要使用 Samba 文件系统,原因在上面的“创建代码服务器”一节中已经给出。

  DB2 Run-time Client 将用作示例产品,但是其步骤与所有产品的步骤相同。

  部署响应文件安装

  这是最简单的情况。由于产品定义、组件选择和实例设置几乎已经由响应文件完全封装,很多工作可以通过简单的调用响应文件来完成:

  /share/rtcl/db2setup-r/share/rtcl/db2rtcl.rsp

  在此,我们已经将自定义的响应文件存放在产品的 /share/rtcl 目录中。

  安装后工作

  由于 Run-time Client 的正常使用还包含远程服务器和数据库的目录编辑,我们还可以自动化执行目录编辑。我们可以使用 db2cfimp(如果我们使用 db2cfexp 按照上述操作来导出它们)来自动完成操作,也可以手动编辑目录。例如,利用已经创建的实例 db2instl 来使用 db2cfimp:

  su - db2instl -c ". sqllib/db2profile;

  db2cfimp /share/rtcl/db2inst.exp"

  利用同一个已经创建的实例手动编辑目录:

  su - db2instl -c ". sqllib/db2profile;

  db2 catalog tcpip node ..."

  在第二种情况下,最好将目录编辑命令存放在另一份文件中,然后允许 DB2 命令行处理程序读取该文件:

  su - db2instl -c ".sqllib/db2profile;

  db2 –tvf /share/rtcl/catalog.db2"

  另外一份文件可以执行设置 DB2 所需的其他操作。例如,

  catalog tcpip node server remoteserverhostname;

  catalog databasesampleatnodeserver;

  updatedbm cfg usingjdk_path/opt/lBMJava2-141;

  服务器事项

  在服务器部署中,通常需要附加命令来创建和设置数据库、表空间、表,等等。至于客户机,创建单个 /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 就可以是一项常规管理任务。

  商标

  AIX、DB2、DB2 Connect、DB2 Universal Database、IBM 和 MVS 是国际商业机器公司在美国及其他国家的注册商标。

  Microsoft 和 Windows 是 Microsoft Corporation 在美国及其他国家的注册商标。

  UNIX 是 Open Group 在美国及其他国家的注册商标。

  Linux 是 Linus Torvalds 在美国及其他国家的商标。

  其他公司、产品和服务名称可能是其他公司的商标或服务标志。

  © Copyright International Business Machines Corporation, 2004. 保留所有权利。


时间:2008-03-06 21:16 来源:it168 作者:it168 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量