B.2 安装过程

本节介绍安装和配置以下项目以设置群集环境的过程。有关配置 SLES High Availability Extension 的详细信息,请参见 SUSE Linux Enterprise High Availability Extension 指南。

B.2.1 配置 iSCSI 服务器

iSCSI 目标是指配置为群集中所有节点的公用储存的设备。它是 Linux 服务器上创建的虚拟磁盘,可让 iSCSI 发起程序通过以太网连接进行远程访问。iSCSI 发起程序是指群集中配置为与服务目标 (iSCSI) 连接的任一节点。iSCSI 目标应始终处于已启动且正在运行状态,以便任何作为发起程序的主机都能连接该目标。在 iSCSI 服务器上安装 iSCSI 目标之前,请确保 iSCSI 目标有足够的空间用于配置公用储存。安装 SLES 12 SP2 后,在其他两个节点上安装 iSCSI 发起程序包。

在安装 SLES 12 SP2 期间:

  1. 创建一个独立的分区,然后将分区路径指定为 iSCSI 共享储存分区。

  2. 安装 iSCSI 目标包。

要配置 iSCSI 服务器,请执行以下操作:

  1. 在目标服务器上创建一个块设备。

  2. 在终端中键入 yast2 disk 命令。

  3. 创建一个新的 Linux 分区并选择不格式化

  4. 选择不装入分区

  5. 指定分区大小。

  6. 在终端中键入 yast2 iscsi-serveryast2 iscsi-lio-server 命令。

  7. 单击服务选项卡,然后在服务启动选项中选择引导时

  8. 目标选项卡中,单击添加以输入分区路径(在安装 SLES 期间创建的路径)。

  9. 修改 iSCSI 目标启动程序设置页面中,指定目标服务器的 iSCSI 客户端启动程序主机名,然后单击下一步

    例如,iqn.sles12sp2node2.comiqn.sles12sp2node3.com

  10. 单击完成

  11. 在终端中运行 cat /proc/net/iet/volume 命令,以校验是否已安装 iSCSI 目标。

B.2.2 在所有节点上配置 iSCSI 发起程序

要连接到 iSCSI 目标,您必须在所有群集节点上配置 iSCSI 发起程序。

要配置 iSCSI 发起程序,请执行以下操作:

  1. 安装 iSCSI 发起程序包。

  2. 在终端中运行 yast2 iscsi-client

  3. 单击服务选项卡,然后在服务启动选项中选择引导时

  4. 单击已连接目标选项卡,然后单击添加以输入 iSCSI 目标服务器的 IP 地址。

  5. 选择无鉴定

  6. 单击下一步,然后单击连接

  7. 单击切换启动方式将启动选项从手动更改为自动,然后单击下一步

  8. 单击下一步,然后单击确定

  9. 要检查目标服务器上已连接发起程序的状态,请在目标服务器上运行 cat /proc/net/iet/session 命令。随即会显示已连接到 iSCSI 服务器的发起程序列表。

B.2.3 对共享储存进行分区

创建两个共享储存分区:一个用于 SBD,另一个用于 Cluster File System.

要对共享储存进行分区,请执行以下操作:

  1. 在终端中运行 yast2 disk 命令。

  2. 专家分区程序对话框中选择共享卷。在本示例中,请从专家分区程序对话框中选择 sdb

  3. 单击添加,选择主分区选项,然后单击下一步

  4. 选择自定义大小,然后单击下一步。在本示例中,自定义大小为 100 MB。

  5. 格式化选项下,选择不格式化分区。在本示例中,文件系统 ID 为 0x83 Linux。

  6. 装入选项下,选择不装入分区,然后单击完成

  7. 单击添加,然后选择主分区

  8. 单击下一步,选择最大大小,然后单击下一步

  9. 格式化选项中,选择不格式化分区。在本示例中,指定了 0x83 Linux 作为文件系统 ID。

  10. 装入选项中,选择不装入分区,然后单击完成

B.2.4 安装 HA Extension

要安装 HA Extension,请执行以下操作:

  1. 访问 SUSE 下载网站

    对于每个可用平台,SUSE Linux Enterprise High Availability Extension (SLE HA) 提供了两个 ISO 映像供您下载。媒体 1 包含二进制包,媒体 2 包含源代码。

    注:根据您的系统体系结构选择并安装相应的 HA Extension ISO 文件。

  2. 将媒体 1 ISO 文件下载到每台服务器上。

  3. 打开 YaST 控制中心对话框,然后单击附加产品 > 添加

  4. 单击浏览并选择 DVD 或本地 ISO 映像,然后单击下一步

  5. 模式选项卡中的主要功能下,选择高可用性

    确保已安装高可用性下的所有组件。

  6. 单击接受

B.2.5 设置 Softdog 检查包

在 SLES HA Extension 中,默认启用内核中的检查包支持。它随附了提供硬件特定的检查包驱动程序的多个不同内核模块。在系统引导过程中,会自动装载适用于您硬件的检查包驱动程序。

  1. 启用 softdog 检查包:

    echo softdog > /etc/modules-load.d/watchdog.conf

    systemctl restart systemd-modules-load

  2. 测试 softdog 模块是否已正确装载:

    lsmod | grep dog

B.2.6 配置 HA 群集

此示例假设您要在群集中配置两个节点。

设置第一个节点:

  1. 以 root 用户身份登录到要用作群集节点的物理机或虚拟机。

  2. 运行以下命令:

    ha-cluster-init

    该命令会检查是否存在 NTP 配置和硬件检查包服务。此操作会生成用于 SSH 存取和 Csync2 同步的公共和私用 SSH 密钥,并启动相应的服务。

  3. 配置群集通讯层:

    1. 输入要绑定的网络地址。

    2. 输入多路广播地址。脚本将建议使用可用作默认值的随机地址。

    3. 输入多路广播端口。默认端口号为 5405。

  4. 将 SBD 设置为节点屏蔽机制:

    1. y 以使用 SBD。

    2. 输入要为 SBD 使用的块设备分区的持久路径。该路径对于群集中的两个节点必须一致。

  5. 配置用于群集管理的虚拟 IP 地址:

    1. y 以配置虚拟 IP 地址。

    2. 输入一个未使用的 IP 地址,作为 SUSE Hawk GUI 的管理 IP。例如,192.168.1.3

      您可以连接到该虚拟 IP 地址,而无需登录单个群集节点。

第一个节点启动并运行后,使用 ha-cluster-join 命令添加第二个群集节点。

设置第二个节点:

  1. 以 root 用户身份登录要用于连接群集的物理机或虚拟机。

  2. 运行以下命令:

    ha-cluster-join

    如果未配置 NTP,则会显示一条讯息。该命令会检查是否存在硬件检查包设备,如果不存在,将发出通知。

  3. 输入第一个节点的 IP 地址。

  4. 输入第一个节点的 root 口令。

  5. 登录 SUSE Hawk GUI,然后单击状态 > 节点。例如,https://192.168.1.3:7630/cib/live

B.2.7 在群集节点上安装并配置 eDirectory 和 Identity Manager

  1. 在群集节点上安装 eDirectory:

    安装受支持版本的 有关在高可用性群集上配置 eDirectory 的逐步说明,请参见《eDirectory Installation Guide》(eDirectory 安装指南)中的“Deploying eDirectory on High Availability Clusters”(在高可用性群集上部署 eDirectory)。

    重要说明:在节点 1 上安装 eDirectory 之前,请确保已在该节点上配置虚拟 IP。

  2. 使用“元目录服务器”选项在节点 1 上安装 Identity Manager。

  3. 使用 DCLUSTER_INSTALL 选项在节点 2 服务器上安装 Identity Manager 引擎。

    在终端中运行 ./install.bin -DCLUSTER_INSTALL="true" 命令。

    安装程序将直接安装 Identity Manager 文件,而不与 eDirectory 发生任何交互。

B.2.8 配置 eDirectory 资源

  1. 登录 SUSE Hawk GUI。

  2. 单击添加资源,然后创建新组。

    1. 单击旁边的

    2. 指定组 ID。例如,组 1

      创建组时,确保选择了以下子资源:

      • stonith-sbd

      • admin_addr(群集 IP 地址)

  3. 元数据属性选项卡中,将 target-role 字段设置为 Started,并将 is-managed 字段设置为 Yes

  4. 单击编辑配置,然后单击在第 2 步中创建的组旁边的

  5. 子项字段中,添加以下子资源:

    • shared-storage

    • eDirectory-resource

    例如,在该组中,应该按以下顺序添加资源:

    • stonith-sbd

    • admin_addr(群集 IP 地址)

    • shared-storage

    • eDirectory-resource

    如果需要,可以更改资源名称。每个资源都有一组参数需要定义。有关 shared-storage 和 eDirectory 资源示例的信息,请参见eDirectory 和共享储存子资源的原始值

B.2.9 eDirectory 和共享储存子资源的原始值

默认情况下,stonith-sbd 和 admin_addr 资源是在初始化群集节点时通过高可用性群集命令配置的。

表 B-1 shared-storage 的示例

资源 ID

共享储存资源的名称

Class

ocf

Provider

heartbeat

Type

Filesystem

device

/dev/sdc1

directory

/shared

fstype

xfs

operations

  • start (60, 0)

  • stop (60, 0)

  • monitor (40, 20)

is-managed

Yes

resource-stickiness

100

target-role

Started

表 B-2 eDirectory-resource 的示例

资源 ID

eDirectory 资源的名称

Class

systemd

Type

ndsdtmpl-shared-conf-nds.conf@-shared-conf-env

operations

  • start (100, 0)

  • stop (100, 0)

  • monitor (100, 60)

target-role

Started

is-managed

Yes

resource-stickiness

100

failure-timeout

125

migration-threshold

0

B.2.10 更改位置约束分数

将位置约束分数更改为 0。

  1. 登录 SUSE Hawk GUI。

  2. 单击编辑配置

  3. 约束选项卡中,单击群集节点 1 旁边的

  4. 简单选项卡中,将分数设置为 0

  5. 单击应用

务必将群集中所有节点的分数设置为 0

注:当从 SUSE Hawk GUI 中使用状态 > 资源 > 迁移选项将资源从一个节点迁移到另一个节点时,位置约束分数将更改为 Infinity-Infintity。如此只会将自选设置提供给群集中的一个节点,并且将导致 eDirectory 操作延迟。