当前位置:香港六合彩2019年全年资料 > 取配置节名 >

节点安装和 GPFS 集群配置

  developerWorks 中国 正在向 IBM Developer 过渡。 我们将为您呈现一个全新的界面和更新的主题领域,并一如既往地提供您希望获得的精彩内容。

  本文是系列文章中的第 4 部分,也是最后一部分。该系列文章涵盖了安装和设置一个大型 Linux 计算机集群的全部内容。有关如何从多个独立的硬件和软件创建一个可运行的 Linux(R) 集群的资源很多,本系列力求把这些公共领域里的资源中的最新信息集中起来以供您参考。本系列文章无意为您提供有关如何设计一个新的大型 Linux 集群的基础知识;要获得一般性的架构方面的知识,请参考本文中提到的相关参考资料和 Redbooks。

  本系列是针对系统架构师和系统工程师使用 IBM eServer Cluster 1350 框架(关于该框架的更多信息,请参见参考资料)计划和实现 Linux 集群而设计的。其中的一部分内容可能会与集群管理员的日常集群操作有关。本文的每个章节都针对相同的示例安装。

  本系列的第 1 部分详细阐述了设置集群硬件的操作指导。第 2 部分带您亲历了硬件配置的后续步骤:安装软件,这其中会用到 IBM systems 管理软件、Cluster Systems Management (CSM) 和节点安装。

  第 3 部分和本文(介绍集群存储后端)全面介绍了存储的硬件配置以及 IBM 共享文件系统 GPFS(General Parallel File System)的安装和配置。第 3 部分详细讨论了存储系统的架构、硬件准备以及存储区域网络(Storage Area Network,SAN)的设置。本文是系列文章的第 4 部分,也是最后一部分,提供了有关特定于此示例集群存储后端的 CSM 的详细信息,尤其是如何执行存储系统的节点安装以及 GPFS 的集群配置。

  本节详细介绍了与示例集群的存储后端相关的集群服务器管理(CSM)细节。内容包括在每个节点上安装 GPFS 代码,以及为存储节点配置 Qlogic 适配器。请注意这种配置并不一定需要使用 CSM 执行;也可以手工完成。本文中的例子使用 CSM 几乎实现了新服务器安装的自动化,包括存储服务器。

  在阅读本节之前,先阅读一下本系列第 1 部分中有关总体集群架构的章节将会很有益处。阅读第 3 部分中有关存储架构的章节将会获益良多。理解整个架构可以使您更好的利用本文中的信息。

  按照正确的顺序进行安装是解决后面介绍的 ROM 溢出问题所必须的,因为该配置中使用的 xSeries 346 系统没有使用 RAID 7K 卡。请按照以下顺序完成这些步骤:

  GPFS 需要 GPFS 集群中的所有节点都能够使用根用户 ID 访问其他节点,而不需要提供密码。GPFS 使用这个中间节点的访问允许 GPFS 集群中的任何节点在其他节点上运行相关命令。例如,此处就使用了安全 shell(ssh)来提供这种访问能力,不过您也可以使用远程 shell(rsh)。为此,请创建一个集群范围内的密钥和相关配置文件,然后按照下面的步骤使用 CSM 分发这些文件:

  对于本例来说,我们定义了两个主要的 CSM 组在配置 GPFS 过程中使用,如下所示。

  这两个组在安装过程中用来确保执行存储节点角色的服务器可以接收特定的二进制文件和配置文件,这在下面会详细进行介绍。注意本节没有介绍 CSM 所执行的详细安装步骤。有关对这个过程的介绍,请参看本系列文章的第 1 部分和第 2 部分。

  本文中的配置修改都是在 pre-reboot 和 CFM 文件传输阶段进行的。

  GPFS 需要每个集群成员都安装一个基本的 GPFS RPM 集。样例安装所使用的 GPFS 版本是 2.3.0-3。这些 RPM 的安装是一个两阶段的过程:安装 2.3.0-1 基本版本,然后更新到 2.3.0-3。这个安装使用的 RPM 有:

  CSM 可以采用多种方法来安装 GPFS RPM。本文推荐在安装基本操作系统时安装 RPM。CSM 提供了一个包含定制的 RPM 的安装和更新目录结构,然而,对于最初的 RPM 安装,以及之后升级到 GPFS 2.3.0-3 所需的 RPM 安装,CSM 提供的结构不一定能够工作。

  一旦在存储服务器上安装 GPFS 之后,您可能还会希望自动安装 FAStT MSJ 工具,这可以以静寂(非交互)模式来完成。MSJ 用于 Qlogic 适配器、故障恢复和多路径等配置,这将在HBA 配置一节中详细进行介绍。安装并不是基于 RPM 的,因此默认情况下无法简单地集成到 CSM 中。要安装它,需要在 GPFS 安装程序的末尾添加一个脚本来检查这个节点是否是一个存储服务器,然后再安装 MSJ。要以静寂模式完成安装,请使用FAStTMSJ*_install.bin -i silent命令。

  使用脚本进行第一次修改(这个脚本在使用 CSM 安装过程中重启之前运行)。实现这种功能的脚本在/csminstall/csm/scripts/installprereboot/目录中。这个脚本包含了以下命令:

  第二个修改需要在对存储节点重新安装时手动执行。详细信息在在存储服务器上定义 HBA 配置一节中介绍。

  GPFS 可移植层(PL)是内核特有的,必须为集群中的每个操作系统级别单独创建。PL 的作用和为示例集群创建它的过程将在生成并安装可移植层一节中详述。CSM 使用 CFM 文件传输工具来管理 PL 二进制文件的分发。将 PL 二进制文件拷贝到管理服务器上的/cfmroot/usr/lpp/mmfs/bin目录中,并对文件进行命名,使它们只会分发到相关组中具有特定内核版本的节点上。例如:

  注意在大型集群中,为了减轻 CFM 的负载,可以将这 4 个文件添加到定制 RPM 中,并使用上文介绍的 GPFS RPM 安装方法与 GPFS 一起安装。

  简单地安装 GPFS RPMS 和可移植层无法在新安装的节点上挂载并配置 GPFS 集群中的文件系统。在小型集群中,这可以手工进行管理。然而,扩展到更大规模的集群之后,就需要自动化完成这个步骤。这可以通过使用 CSM 的监视功能来完成:监视整个新节点的安装过程,并启动一个脚本在集群中的新节点上配置和挂载 GPFS。

  清单 1 给出了一个示例脚本,可以用来配置 GPFS。您可能需要针对自己的配置对这个脚本稍加修改。清单 1 提供了一些基本内容。这个脚本会接收节点名(由 CSM 监视器传入),将其添加到 GPFS 集群中,并尝试在这个节点上启动 GPFS,这个过程会提供一点错误处理功能。

  现在每当安装一个新节点时,CSM 都会在管理服务器上自动运行这个脚本。在 CSM 管理服务器上,现在当运行lscondresp命令时,应该可以看到NodeFullInstallComplete条件与SetupGPFS响应关联。这个条件或响应应该被列为Active。

  xSeries 346 上可用 ROM 的空间数量存在一个问题,在引导时可能会出现 PCI 分配错误。消息说明系统 ROM 空间已满,没有空间来为其他使用 ROM 空间的适配器使用了(更详细内容请参看参考资料)。

  如果启用了 PXE 引导,这个问题就会影响存储节点,其中 Qlogic PCI 适配器没有足够的空间正确进行初始化。针对这个问题的一个解决方案如下;

  禁用 GPFS 网络使用的 Broadcom PCI 卡上的 PXE 引导功能。使用下载的诊断工具 b57udiag -cmd,选择设备,然后禁用 PXE 引导。

  通过 CSM 利用 PXE 引导来安装节点,然后使用 BIOS 禁用两个 onboard 适配器中的 PXE 引导功能(详细步骤在按照正确顺序安装存储节点一节中介绍)。

  避免这个问题的另外一种解决方案是在每台 xSeries 346 上都使用一个 RAID 7K 卡。这可以减少 SCSI BIOS 所使用的 ROM 数量,并允许 Qlogic BIOS 成功加载,即使启用了 PXE 也没有问题。

  示例集群中 xSeries 346 存储服务器上使用的 HBA 是 IBM DS4000 FC2-133 Host Bus Adapter(HBA)型号的适配器。它也称为 Qlogic 2342 适配器。本例使用了 1.43 版本的固件,以及上一节提到的 v7.01.01-fo qla2300 驱动程序。驱动程序中的-fo表示具有故障恢复功能,这不是驱动程序的默认选项。可以通过修改每个存储节点上的/etc/modules.conf的设置启用。这是在安装过程中使用 CSM 实现的,将在配置 Qlogic 故障恢复一节中介绍。

  下一节介绍了更新固件和每个存储服务器上 HBA 设置所需要的步骤,以及重新安装驱动以在两个 HBA 之间启用负载均衡所需要的手工步骤。

  对于这个示例集群来说,需要对 HBA 的默认设置进行以下修改。这些值位于所下载的驱动程序提供的 README 中。您可以使用 Qlogic BIOS 完成这些修改,在引导过程中出现提示符时使用ctrl-q可进入 Qlogic BIOS,或者使用MSJ 工具修改。设置如下:

  IBM FAStT Management Suite Java(MSJ)是一个基于 Java 的 GUI 应用程序,可以管理存储服务器中的 HBA。这个工具可以用来进行配置和诊断。有关下载软件的链接,请参看参考资料。

  示例设置使用 CSM 将 MSJ 作为 GPFS 安装的一部分在每个存储节点上进行安装。这个二进制文件是包含 GPFS RPM 的 tar 文件的一部分,这个文件是在 CSM 节点安装过程中由 CFS 进行分发的。由一个 post 脚本解压这个 tar 文件,接着运行 tar 文件里面包含的安装脚本。本文的示例在这次安装中使用了 32 位的 FAStT MSJ 来防止在安装 64 位版本时可能出现的问题。示例脚本使用了下面的命令安装 MSJ:FAStTMSJ*_install.bin -i silent。

  这会同时安装应用程序和代理。注意由于这是一个 32 位版本的 MSJ,因此即使示例使用了静寂安装模式,代码也会查找并加载 32 位版本的库。因此,使用已经安装好的 32 位版本的 XFree86-libs,以及基本 64 位安装附带的 64 位版本。32 位库包含在 XFree86-libs-4.3.0-78.EL.i386.rpm 文件中,该文件包含在 tar 文件中。这个 rpm 的安装是通过 install.sh 脚本进行的,然后会安装 MSJ。

  每个存储节点上都需要使用 MSJ 手工配置到 DS4500s 上的磁盘阵列的路径,以及在每台计算机上两个 HBA 卡之间实现负载均衡。如果没有执行这种配置,默认情况下磁盘阵列只能通过每台计算机上的第一个适配器 HBA0 以及每个 DS4500s 上的控制器 A 进行访问。通过将磁盘分布在 HBA 之间,以及 DS4500s 的控制器之间,就可以实现负载均衡,并提高后端的性能。

  注意负载均衡的配置是一个手工执行的步骤,每次重新安装存储节点时,必须在每个存储节点上都重新执行。对于这个示例集群来说,配置负载均衡的步骤如下所示:

  在配置好逻辑驱动器之后,LUN 配置窗口就会关闭,并将配置保存到 Port Configuration 窗口中的主机系统(默认密码是

  的 qla2300 驱动程序行中,说明这个文件已经存在且应该能够使用。

  要启用新配置,请重新加载 qla2300 驱动模块。如果磁盘被挂载在一个连接到使用该驱动程序的适配器的 Fibre Channel 子系统上,那就无法执行这种操作。配置主机适配器驱动程序,通过初始 RAM 磁盘进行加载,初始 RAM 磁盘将在引导过程中加载适配器模块时对冗余磁盘应用配置数据。注意:只要逻辑磁盘的配置发生变化,都必须执行这个过程将有效配置保存到磁盘上。

  在一个具有多个存储节点并且需要进行负载均衡的配置中,使用 MSJ 最有效的方法是保持 MSJ 在一个节点上打开,然后在其他每个节点上运行 qlremote,并使用一个 MSJ 会话连接到其他相应的会话。

  本节将详细介绍在创建 GPFS 集群过程中所需要的步骤。此处假设所有节点都已经按照本文前面的介绍进行了安装和配置,或者已经手工执行了下面的配置:

  在本系列文章的第 3 部分的 “存储架构” 一节中可以看到对这个示例集群的 GPFS 架构的详细介绍。

  GPFS 可移植层(PL)是一组二进制文件,需要从源代码开始进行本地编译,以便匹配作为 GPFS 集群一部分的计算机上的 Linux 内核和配置。对于这个示例集群来说,这个过程是在一个存储节点上进行的。所生成的文件会使用 CSM 和 CFM 拷贝到每个节点上。(详细信息请参看分发 GPFS 可移植层一节的内容)。这是一个有效的方法,因为所有计算机都使用相同的架构,并且使用的是相同的内核。编译 GPFS PL 的命令可以在/usr/lpp/mmfs/src/README中找到。这个示例集群使用的步骤如下所示:

  您可以使用几个独特的步骤为这个例子创建 GPFS 集群。尽管所有这些步骤都不是必须的,但是处理集群中不同类型的节点(存储节点或其他节点)是一种好方法。

  第一个步骤是创建一个只包含存储节点和 quorum 节点的集群:一共有 5 个节点。在创建包含要包括的所有节点的存储接口的主机简写名时,请使用描述符文件,描述符文件之后再加上以下信息:

  管理节点或客户机:定义节点是否构成从中提取配置和文件系统管理器的一个资源池的一部分。示例集群中只包括了这个资源池中的存储节点。

  Quorum 或 nonquorum:定义节点是否应该算做一个 quorum 节点。示例集群中的 quorum 节点是存储节点和 tiebreaker 节点

  对要加入集群中的所有其他节点,例如计算节点、用户节点和管理节点,请在以后步骤中添加类似于nodename_s:client-nonquorum的项。

  下一个步骤是使用mmcrnsd –F disc#.desc命令创建 GPFS 所使用的磁盘。运行这个命令为每个磁盘创建一个全局名,这是一个必要的步骤,因为磁盘在 GPFS 集群中的每个节点上可能有不同的 /dev 名。对 GPFS 文件系统要使用的所有磁盘运行该命令。现在,为每个磁盘定义主 NSD 服务器和次 NSD 服务器;它们用于代表 NSD 客户机的 I/O 操作,NSD 客户机不能够本地访问 SAN 存储。

  定义为 NSD 的磁盘的磁盘描述符包含在一个文件里,-F标志就用来指向这个文件。为了保证示例集群的可管理能力,请在每个 DS4500 的 LUN 上执行一次该过程,并在 tiebreaker 磁盘上执行一次该过程。每个磁盘阵列或 DS4500 上的每个 LUN 在所使用的文件中都有一个描述符。下面是从disk1.desc中摘录出来的一行:

  这个方法看起来可能过分谨慎了,但是它已经被作为一种可扩充的方法,可在规模巨大的集群中使用。上面这些步骤另外一种方法是使用命令mmstartup –a。这对于小型集群来说可以正常工作,但是对于大型集群来说,可能会需要花费很长一段时间来返回,在大型集群中,可能有些节点会由于各种原因而变得不可访问,例如网络问题。

  对于本例来说,使用所有定义为 GPFS 的 NSD 创建了一个大型的 GPFS 文件系统。注意所使用的命令使用上面的mmcrnsd命令中的不同磁盘描述符文件作为参数。这需要将创建 NSD 的每个步骤中的输出结果连接到一个文件中。

  在创建/gpfs之后,要手工进行第一次挂载。然后,如果启用了 automount,就可以在节点启动 GPFS 时自动挂载。

  上面mmcrfs命令的-Q标志在/gpfs文件系统上启用配额。可以为每个用户或组用户定义配额。默认配额已经进行了设置,可以适用于任何新用户或组。可以使用命令mmdefquotaon启用默认配额。使用mmdefedquota命令编辑默认配额。这个命令打开了一个编辑窗口,其中可以指定配额的范围。下面的示例演示了配额范围的设置:

  使用mmedquota –u username命令可以为一个用户或组编辑特定配额。用户可以使用命令mmlsquota显示自己的配额。超级用户可以使用mmrepquota gpfs命令显示文件系统的配额状态。

  使用 GPFSpagepool可以缓存用户数据和文件系统元数据。pagepool机制允许 GPFS 将读请求与写请求异步实现。增加pagepool的大小可以增大 GPFS 可以缓存的数据或元数据量,而不需要执行同步 I/O。 pagepool 的默认值是 64 MB。最大 GPFSpagepool大小是 8 GB。所允许的最小值是 4 MB。在 Linux 系统上,pagepool的最大值是计算机物理内存的一半

  pagepool的理想大小取决于应用程序以及对其重新访问的数据的有效缓存的需要。如果系统中的应用程序可以访问大型文件、重用数据、可以从 GPFS 数据预取获益或具有随机 I/O 模式,增加pagepool的值可能会进一步获益。然而,如果该值设置得太大,那么 GPFS 就无法启动。

  对于示例集群来说,集群中所有节点的pagepool所使用的值都是 512 MB。

  要对网络性能进行优化,GPFS 通过将存储网络适配器的 MTU 的大小设置为 9000 来启用巨帧。始终启用/proc/sys/net/ipv4/tcp_window_scaling,因为这是默认设置。TCP 窗口设置在安装时使用 CSM 脚本进行了调优,方法是将下面几行添加到 NSD 服务器和 NSD 客户机的/etc/sysctl.conf文件中:

  存储服务器缓存设置如果设置错误,可能会影响 GPFS 性能。本例在 DS4500s 上使用了以下设置,这也是 GPFS 文档的推荐设置:

  就是这样!您应该已经按照本系列文章中的例子成功安装了一个大型的 Linux 集群。在自己的安装中应用这些原则就可以成功安装另外一个大型 Linux 集群。

http://mjlynchlaw.com/qupeizhijieming/205.html
点击次数:??更新时间2019-06-11??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】