Oracle® Solaris Cluster 系统管理指南

退出打印视图

更新时间: 2015 年 10 月
 
 

示例

使用 Sun StorageTek Availability Suite 软件配置基于主机的数据复制

本附录提供了另外一种基于主机的复制方法,这种方法不使用 Oracle Solaris Cluster Geographic Edition。不过,使用 Oracle Solaris Cluster Geographic Edition 进行基于主机的复制,可简化群集之间基于主机的复制的配置和操作。请参见了解数据复制

本附录中的示例说明了如何使用 Oracle Solaris 的 Availability Suite 功能 软件配置群集之间基于主机的数据复制。该示例描绘了一个 NFS 应用程序(详细介绍如何执行各项具体任务)的完整群集配置。所有任务都应该在全局群集中执行。该示例不包括其他应用程序或群集配置所需的所有步骤。

如果使用基于角色的访问控制 (role-based access control, RBAC) 来访问群集节点,请确保承担可对所有 Oracle Solaris Cluster 命令提供授权的 RBAC 角色。需要具备以下 Oracle Solaris Cluster RBAC 授权才能执行这一系列的数据复制过程:

  • solaris.cluster.modify

  • solaris.cluster.admin

  • solaris.cluster.read

有关使用 RBAC 角色的更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 。有关每个 Oracle Solaris Cluster 子命令所需 RBAC 授权的信息,请参见 Oracle Solaris Cluster 手册页。

理解 Sun StorageTek Availability Suite 软件在群集中的应用

本节介绍了容灾性,并且描述了 Sun StorageTek Availability Suite 软件使用的数据复制方法。

容灾性是指当主群集发生故障时,在备用群集上恢复应用程序的能力。容灾性基于数据复制和接管。接管是指通过让一个或多个资源组和设备组联机,将某项应用程序服务重定位到辅助群集。

如果数据是在主群集和辅助群集之间同步复制的,则当主站点发生故障时,不会丢失已提交的数据。但是,如果数据是以异步方式复制的,则在主站点发生故障之前,某些数据可能尚未复制到辅助群集中,因此会丢失。

Sun StorageTek Availability Suite 软件使用的数据复制方法

本节描述了 Sun StorageTek Availability Suite 软件使用的远程镜像复制方法和时间点快照方法。该软件使用 sndradmiiadm 命令复制数据。有关更多信息,请参见 sndradm(1M)iiadm(1M) 手册页。

远程镜像复制

Figure A–1 显示了远程镜像复制。通过 TCP/IP 连接可以将主磁盘主卷中的数据复制到辅助磁盘的主卷中。该软件使用远程镜像位图来跟踪主磁盘上的主卷与辅助磁盘上的主卷之间的差别。

图 A-1  远程镜像复制

image:此图说明了从主磁盘主卷到辅助磁盘主卷的远程镜像复制。

    可以实时同步或异步执行远程镜像复制。可以为同步复制或异步复制单独配置每个群集中的每个卷。

  • 在同步数据复制中,只有在更新了远程卷之后才能确认写入操作是否完成。

  • 在异步数据复制中,在更新远程卷之前确认写入操作是否完成。异步数据复制以其长距离、低带宽而提供了更大的灵活性。

时间点快照

Figure A–2 显示了时间点快照。每个磁盘的主卷中的数据都被复制到同一磁盘上的影子卷中。时间点位图跟踪主卷和影子卷之间的差异。数据被复制到影子卷之后,时间点位图将被复位。

图 A-2  时间点快照

image:该图显示了时间点快照如何持续跟踪主卷和影子卷之间的差异。
复制示例配置

Figure A–3 展示了此配置示例是如何使用远程镜像复制和时间点快照的。

图 A-3  复制示例配置

image:此图显示了配置示例是如何使用远程镜像复制和时间点快照的。

在群集间配置基于主机的数据复制的指导

本节提供了有关配置群集间数据复制的准则。本节还包含了配置复制资源组和应用程序资源组的提示。为群集配置数据复制时,请使用这些指导信息。

本节包括以下主题:

配置复制资源组

复制资源组可将设备组与逻辑主机名资源并置在 Sun StorageTek Availability Suite 软件控制下。逻辑主机名必须存在于每个数据复制流的末尾,且必须位于可充当设备主 I/O 路径的同一群集节点上。复制资源组必须具有以下特征:

  • 是一个故障转移资源组

    每次只能在一个节点上运行故障转移资源。发生故障转移时,故障转移资源参与故障转移。

  • 具有逻辑主机名资源

    逻辑主机名承载在每个群集(主群集和辅助群集)的一个节点上,用于提供 Sun StorageTek Availability Suite 软件数据复制流的源地址和目标地址。

  • 具有 HAStoragePlus 资源

    复制资源组被切换或故障转移之后,HAStoragePlus 资源将强制执行设备组的故障转移。设备组被切换之后,Oracle Solaris Cluster 软件还将强制执行复制资源组的故障转移。这样,复制资源组和设备组将始终由同一节点配置或控制。

    HAStoragePlus 资源中必须定义以下扩展特性:

    • GlobalDevicePaths。此扩展属性定义了卷所属的设备组。

    • AffinityOn 属性 = True。在复制资源组切换或故障转移时,此扩展特性使设备组进行切换或故障转移。该特性称作关联切换。

    有关 HAStoragePlus 的更多信息,请参见 SUNW.HAStoragePlus(5) 手册页。

  • 根据与其协同定位的设备组命名,后面跟 -stor-rg

    例如,devgrp-stor-rg

  • 同时在主群集和辅助群集上联机

配置应用程序资源组

要具有较高的可用性,应用程序必须以应用程序资源组中的资源形式接受管理。可以将应用程序资源组配置为故障转移应用程序或可伸缩应用程序。

必须在 HAStoragePlus 资源中定义 ZPoolsSearchDir 扩展属性。此扩展属性是使用 ZFS 文件系统时所必需的。

主群集上配置的应用程序资源和应用程序资源组也必须在辅助群集上配置。而且,应用程序资源访问的数据也必须被复制到辅助群集上。

本节提供了配置以下应用程序资源组的指南:

为故障转移应用程序配置资源组

在故障转移应用程序中,一个应用程序一次在一个节点上运行。如果此节点发生故障,应用程序将故障转移到同一群集中的另一个节点。用于故障转移应用程序的资源组必须具有以下特征:

  • 当应用程序资源组发生切换或故障转移时,具有 HAStoragePlus 资源可以强制文件系统或 zpool 进行故障转移。

    设备组与复制资源组和应用程序资源组位于相同的位置。因此,应用程序资源组的故障转移将强制执行设备组和复制资源组的故障转移。应用程序资源组 、复制资源组和设备组由同一节点控制。

    但是请注意,设备组或复制资源组的故障转移不会引起应用程序资源组的故障转移。

    • 如果已全局安装了应用程序数据,则不需要使 HAStoragePlus 资源存在于应用程序资源组中,但建议使其存在。

    • 如果局部安装了应用程序数据,则需要使 HAStoragePlus 资源存在于应用程序资源组中。

    有关 HAStoragePlus 的更多信息,请参见 SUNW.HAStoragePlus(5) 手册页。

  • 必须在主群集上联机而在辅助群集上脱机。

    辅助群集成为主群集时,必须使应用程序资源组在辅助群集上联机。

Figure A–4 说明了故障转移应用程序中应用程序资源组和复制资源组的配置。

图 A-4  配置故障转移应用程序中的资源组

image:此图说明了故障转移应用程序中的应用程序资源组和复制资源组的配置。
为可伸缩的应用程序配置资源组

在可伸缩应用程序中,一个应用程序可以在多个节点上运行以创建单一逻辑服务。如果运行可伸缩应用程序的节点发生故障,将不会发生故障转移。该应用程序将在其他节点上继续运行。

如果将可伸缩应用程序作为应用程序资源组中的资源管理,则无需将设备组配置给应用程序资源组。因此,也无需为应用程序资源组创建 HAStoragePlus 资源。

    用于可伸缩应用程序的资源组必须具有以下特征:

  • 对共享地址资源组具有依赖性

    运行可伸缩应用程序的节点要使用共享地址来分配传入的数据。

  • 在主群集上联机而在辅助群集上脱机

Figure A–5 说明了可伸缩应用程序中的资源组配置。

图 A-5  配置可伸缩应用程序中的资源组

image:此图说明了可扩展应用程序中的资源组的配置。

管理接管的准则

如果主群集发生故障,必须尽快将应用程序切换到辅助群集。要使辅助群集接任主群集,必须更新 DNS。

客户机使用 DNS 将应用程序的逻辑主机名映射到某个 IP 地址。完成切换(即将应用程序转移到辅助群集)后,必须更新 DNS 信息,使之反映应用程序的逻辑主机名与新 IP 地址之间的映射关系。

图 A-6  客户机到群集的 DNS 映射

image:此图演示了 DNS 如何将客户机映射到群集上。

要更新 DNS,请使用 nsupdate 命令。有关信息,请参见 nsupdate(1M) 手册页。有关如何管理接管的示例,请参见用以管理接管的方法示例

在修复后,主群集可以恢复联机状态。要切回到原始主群集,请执行以下任务:

  1. 使主群集与辅助群集同步以确保主卷最新。要实现此目的,您可以停止辅助节点上的资源组,以便复制数据流可以排空。

  2. 逆转数据复制的方向,以便原始的主节点现在可以再次将数据复制到原始的辅助节点。

  3. 启动主群集上的资源组。

  4. 更新 DNS 以使客户机能够访问主群集上的应用程序。

任务列表:数据复制配置示例

Table A–1 列出了本示例中的任务,本示例描述了如何使用 Sun StorageTek Availability Suite 软件为 NFS 应用程序配置数据复制。

表 A-1  任务列表:数据复制配置示例
任务
说明
1. 连接和安装群集
2. 在主群集和辅助群集上配置设备组、NFS 应用程序文件系统以及资源组
3. 在主群集和辅助群集上启用数据复制
4. 执行数据复制
5. 检验数据复制配置

连接和安装群集

Figure A–7 说明了配置示例所使用的群集配置。配置示例中的辅助群集包含一个节点,但是可以使用其他群集配置。

图 A-7  群集配置示例

image:此图演示了配置示例中使用的群集配置。

Table A–2 概括了配置示例所需的硬件和软件。在安装 Sun StorageTek Availability Suite 软件和软件更新之前,必须先在群集节点上安装 Oracle Solaris OS、Oracle Solaris Cluster 软件和卷管理器软件。

表 A-2  需要的硬件和软件
硬件或软件
要求
节点硬件
所有使用 Oracle Solaris OS 的服务器均支持 Sun StorageTek Availability Suite 软件。
有关要使用哪个硬件的信息,请参见Oracle Solaris Cluster 4.2 Hardware Administration Manual
磁盘空间
大约 15 MB。
Oracle Solaris OS
Oracle Solaris Cluster 软件支持的 Oracle Solaris OS 发行版。
所有节点必须使用同一版本的 Oracle Solaris OS。
有关安装信息,请参见Oracle Solaris Cluster 软件安装指南
Oracle Solaris Cluster 软件
Oracle Solaris Cluster 4.1 或更高版本软件。
有关安装信息,请参见Oracle Solaris Cluster 软件安装指南
卷管理器软件
Solaris Volume Manager 软件。
所有节点必须使用相同版本的卷管理器软件。
Sun StorageTek Availability Suite 软件
不同的群集可以使用不同版本的 Oracle Solaris OS 和 Oracle Solaris Cluster 软件,但在群集之间必须使用相同版本的 Sun StorageTek Availability Suite 软件。
有关如何安装该软件的信息,请参见 Sun StorageTek Availability Suite 软件发行版的安装手册。
Sun StorageTek Availability Suite 软件更新
有关最新软件更新的信息,请登录到 My Oracle Support

如何配置设备组和资源组的示例

本节介绍如何为 NFS 应用程序配置设备组和资源组。有关其他信息,请参见配置复制资源组配置应用程序资源组

下表列出了为示例配置创建的组和资源的名称。

表 A-3  配置示例中的组和资源的摘要
组或资源
名称
描述
设备组
devgrp
设备组
复制资源组和资源
devgrp-stor-rg
复制资源组
lhost-reprg-primlhost-reprg-sec
主群集和辅助群集上复制资源组的逻辑主机名
devgrp-stor
复制资源组的 HAStoragePlus 资源
应用程序资源组和资源
nfs-rg
应用程序资源组
lhost-nfsrg-primlhost-nfsrg-sec
主群集和辅助群集上应用程序资源组的逻辑主机名
nfs-dg-rs
应用程序的 HAStoragePlus 资源
nfs-rs
NFS 资源

devgrp-stor-rg 以外,组和资源的名称均为示例名称,可根据需要更改。复制资源组的名称必须使用以下格式:devicegroupname -stor-rg

有关 Solaris Volume Manager 软件的信息,请参见Oracle Solaris Cluster 软件安装指南 中的第 4  章 配置 Solaris Volume Manager 软件

如何在主群集上配置设备组

开始之前

确保您已完成以下任务:

  1. 通过承担可提供 solaris.cluster.modify RBAC 授权的角色访问 nodeA

    节点 nodeA 是主群集中的第一个节点。有关哪个节点是 nodeA 的提示,请参见Figure A–7

  2. 创建一个元集,用以包含 NFS 数据和关联的复制。
    nodeA# metaset -s nfsset a -h nodeA nodeB
  3. 向元集添加磁盘。
    nodeA# metaset -s nfsset -a /dev/did/dsk/d6 /dev/did/dsk/d7
  4. 向元集添加中介。
    nodeA# metaset -s nfsset -a -m nodeA nodeB
  5. 创建所需的卷(或元设备)。

    创建镜像的两个组件:

    nodeA# metainit -s nfsset d101 1 1 /dev/did/dsk/d6s2
    nodeA# metainit -s nfsset d102 1 1 /dev/did/dsk/d7s2

    使用下述某个组件创建镜像:

    nodeA# metainit -s nfsset d100 -m d101

    将另一个组件附加到镜像并允许其同步:

    nodeA# metattach -s nfsset d100 d102

    根据以下示例从镜像创建软分区:

    • d200-NFS 数据(主卷):

      nodeA# metainit -s nfsset d200 -p d100 50G
    • d201-NFS 数据的时间点副本卷:

      nodeA# metainit -s nfsset d201 -p d100 50G
    • d202-时间点位图卷:

      nodeA# metainit -s nfsset d202 -p d100 10M
    • d203-远程影子位图卷:

      nodeA# metainit -s nfsset d203 -p d100 10M
    • d204-Oracle Solaris Cluster SUNW.NFS 配置信息卷:

      nodeA# metainit -s nfsset d204 -p d100 100M
  6. 创建 NFS 数据和配置卷的文件系统。
    nodeA# yes | newfs /dev/md/nfsset/rdsk/d200
    nodeA# yes | newfs /dev/md/nfsset/rdsk/d204

接下来的步骤

请转到如何在辅助群集上配置设备组

如何在辅助群集上配置设备组

开始之前

请完成如何在主群集上配置设备组中所述的过程。

  1. 通过承担可提供 solaris.cluster.modify RBAC 授权的角色访问 nodeC
  2. 创建一个元集,用以包含 NFS 数据和关联的复制。
    nodeC# metaset -s nfsset a -h nodeC
  3. 向元集添加磁盘。

    在下面的示例中,假定磁盘 DID 编号各不相同。

    nodeC# metaset -s nfsset -a /dev/did/dsk/d3 /dev/did/dsk/d4

    注 - 在单节点群集上,中介不是必需的。
  4. 创建所需的卷(或元设备)。

    创建镜像的两个组件:

    nodeC# metainit -s nfsset d101 1 1 /dev/did/dsk/d3s2
    nodeC# metainit -s nfsset d102 1 1 /dev/did/dsk/d4s2

    使用下述某个组件创建镜像:

    nodeC# metainit -s nfsset d100 -m d101

    将另一个组件附加到镜像并允许其同步:

    metattach -s nfsset d100 d102

    根据以下示例从镜像创建软分区:

    • d200-NFS 数据(主卷):

      nodeC# metainit -s nfsset d200 -p d100 50G
    • d201-NFS 数据的时间点副本卷:

      nodeC# metainit -s nfsset d201 -p d100 50G
    • d202-时间点位图卷:

      nodeC# metainit -s nfsset d202 -p d100 10M
    • d203-远程影子位图卷:

      nodeC# metainit -s nfsset d203 -p d100 10M
    • d204-Oracle Solaris Cluster SUNW.NFS 配置信息卷:

      nodeC# metainit -s nfsset d204 -p d100 100M
  5. 创建 NFS 数据和配置卷的文件系统。
    nodeC# yes | newfs /dev/md/nfsset/rdsk/d200
    nodeC# yes | newfs /dev/md/nfsset/rdsk/d204

接下来的步骤

请转到如何在主群集上为 NFS 应用程序配置文件系统

如何在主群集上为 NFS 应用程序配置文件系统

开始之前

请完成如何在辅助群集上配置设备组中所述的过程。

  1. nodeAnodeB 上,承担可提供 solaris.cluster.admin RBAC 授权的角色。
  2. nodeAnodeB 上,为 NFS 文件系统创建一个挂载点目录。

    例如:

    nodeA# mkdir /global/mountpoint
  3. nodeAnodeB 上,将主卷配置为自动挂载到挂载点上。

    nodeAnodeB 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。

    /dev/md/nfsset/dsk/d200 /dev/md/nfsset/rdsk/d200 \
    /global/mountpoint ufs 3 no global,logging
  4. nodeAnodeB 上,为元设备 d204 创建一个挂载点。

    以下示例创建挂载点 /global/etc

    nodeA# mkdir /global/etc
  5. nodeAnodeB 上,将元设备 d204 配置为自动挂载到挂载点上。

    nodeAnodeB 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。

    /dev/md/nfsset/dsk/d204 /dev/md/nfsset/rdsk/d204 \
    /global/etc ufs 3 yes global,logging
  6. 将元设备 d204 挂载到 nodeA 上。
    nodeA# mount /global/etc
  7. 为 Oracle Solaris Cluster HA for NFS 数据服务创建配置文件和信息。
    1. nodeA 上创建一个名为 /global/etc/SUNW.nfs 的目录。
      nodeA# mkdir -p /global/etc/SUNW.nfs
    2. nodeA 上创建文件 /global/etc/SUNW.nfs/dfstab.nfs-rs
      nodeA# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
    3. 将下面一行添加到 nodeA 上的 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件中。
      share -F nfs -o rw -d "HA NFS" /global/mountpoint

接下来的步骤

请转到如何在辅助群集上为 NFS 应用程序配置文件系统

如何在辅助群集上为 NFS 应用程序配置文件系统

开始之前

完成如何在主群集上为 NFS 应用程序配置文件系统中所述的过程。

  1. nodeC 上,承担可提供 solaris.cluster.admin RBAC 授权的角色。
  2. nodeC 上,为 NFS 文件系统创建一个挂载点目录。

    例如:

    nodeC# mkdir /global/mountpoint
  3. nodeC 上,将主卷配置为自动在挂载点上进行挂载。

    nodeC 上的 /etc/vfstab 文件中添加或替换以下文本。该文本必须在一行。

    /dev/md/nfsset/dsk/d200 /dev/md/nfsset/rdsk/d200 \
    /global/mountpoint ufs 3 yes global,logging
  4. 将元设备 d204 挂载到 nodeA 上。
    nodeC# mount /global/etc
  5. 为 Oracle Solaris Cluster HA for NFS 数据服务创建配置文件和信息。
    1. nodeA 上创建一个名为 /global/etc/SUNW.nfs 的目录。
      nodeC# mkdir -p /global/etc/SUNW.nfs
    2. nodeA 上创建文件 /global/etc/SUNW.nfs/dfstab.nfs-rs
      nodeC# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
    3. 将下面一行添加到 nodeA 上的 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件中。
      share -F nfs -o rw -d "HA NFS" /global/mountpoint

接下来的步骤

请转到如何在主群集上创建复制资源组

如何在主群集上创建复制资源组

开始之前

  1. 作为可提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色访问 nodeA
  2. 注册 SUNW.HAStoragePlus 资源类型。
    nodeA# clresourcetype register SUNW.HAStoragePlus
  3. 为设备组创建一个复制资源组。
    nodeA# clresourcegroup create -n nodeA,nodeB devgrp-stor-rg
    -n nodeA,nodeB

    指定群集节点 nodeAnodeB 可控制该复制资源组。

    devgrp-stor-rg

    复制资源组的名称。在此名称中,devgrp 指定了设备组的名称。

  4. 向复制资源组添加 SUNW.HAStoragePlus 资源。
    nodeA# clresource create -g devgrp-stor-rg -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=nfsset \
    -p AffinityOn=True \
    devgrp-stor
    –g

    指定资源将被添加到哪一个资源组。

    -p GlobalDevicePaths=

    指定 Sun StorageTek Availability Suite 软件所依赖的设备组。

    -p AffinityOn=True

    指定 SUNW.HAStoragePlus 资源必须对 -p GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联切换。因此,复制资源组发生故障转移或被切换后,相关的设备组也将被切换。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5) 手册页。

  5. 为复制资源组添加逻辑主机名资源。
    nodeA# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-prim

    主群集上复制资源组的逻辑主机名为 lhost-reprg-prim

  6. 启用资源、管理资源组并使资源组联机。
    nodeA# clresourcegroup online -emM -n nodeA devgrp-stor-rg
    –e

    启用相关联的资源。

    –M

    管理资源组。

    –n

    指定在哪个节点上使资源组联机。

  7. 检验资源组是否处于联机状态。
    nodeA# clresourcegroup status devgrp-stor-rg

    检查资源组状态字段以确认该复制资源组在 nodeA 上处于联机状态。

接下来的步骤

请转到如何在辅助群集上创建复制资源组

如何在辅助群集上创建复制资源组

开始之前

  • 完成如何在主群集上创建复制资源组中所述的过程。

  • 请确保 /etc/netmasks 文件具有所有逻辑主机名对应的 IP 地址子网和网络掩码条目。如有必要,编辑 /etc/netmasks 文件以添加缺少的任何条目。

  1. 作为可提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色访问 nodeC
  2. SUNW.HAStoragePlus 注册为资源类型。
    nodeC# clresourcetype register SUNW.HAStoragePlus
  3. 为设备组创建一个复制资源组。
    nodeC# clresourcegroup create -n nodeC devgrp-stor-rg
    create

    创建资源组。

    –n

    指定资源组的节点列表。

    devgrp

    设备组的名称。

    devgrp-stor-rg

    复制资源组的名称。

  4. 向复制资源组中添加一个 SUNW.HAStoragePlus 资源。
    nodeC# clresource create \
    -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=nfsset \
    -p AffinityOn=True \
    devgrp-stor
    create

    创建资源。

    –t

    指定资源类型。

    -p GlobalDevicePaths=

    指定 Sun StorageTek Availability Suite 软件所依赖的设备组。

    -p AffinityOn=True

    指定 SUNW.HAStoragePlus 资源必须对 -p GlobalDevicePaths= 所定义的全局设备和群集文件系统执行关联性切换。因此,复制资源组发生故障转移或被切换后,相关的设备组也将被切换。

    devgrp-stor

    复制资源组的 HAStoragePlus 资源。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5) 手册页。

  5. 为复制资源组添加逻辑主机名资源。
    nodeC# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-sec

    辅助群集上复制资源组的逻辑主机名为 lhost-reprg-sec

  6. 启用资源、管理资源组并使资源组联机。
    nodeC# clresourcegroup online -eM -n nodeC devgrp-stor-rg
    online

    联机。

    –e

    启用相关联的资源。

    –M

    管理资源组。

    –n

    指定在哪个节点上使资源组联机。

  7. 检验资源组是否处于联机状态。
    nodeC# clresourcegroup status devgrp-stor-rg

    检查资源组状态字段以确认该复制资源组在 nodeC 上处于联机状态。

接下来的步骤

请转到如何在主群集上创建 NFS 应用程序资源组

如何在主群集上创建 NFS 应用程序资源组

此过程描述了如何为 NFS 创建应用程序资源组。此过程是特定于该应用程序的,且不能用于其他类型的应用程序。

开始之前

  • 完成如何在辅助群集上创建复制资源组中所述的过程。

  • 请确保 /etc/netmasks 文件具有所有逻辑主机名对应的 IP 地址子网和网络掩码条目。如有必要,请编辑 /etc/netmasks 文件以添加缺少的任何条目。

  1. 作为可提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色访问 nodeA
  2. SUNW.nfs 注册为资源类型。
    nodeA# clresourcetype register SUNW.nfs
  3. SUNW.HAStoragePlus 注册为资源类型(如果它尚未注册)。
    nodeA# clresourcetype register SUNW.HAStoragePlus
  4. 为 NFS 服务创建一个应用程序资源组。
    nodeA# clresourcegroup create \
    -p Pathprefix=/global/etc \
    -p Auto_start_on_new_cluster=False \
    -p RG_affinities=+++devgrp-stor-rg \
    nfs-rg
    Pathprefix=/global/etc

    指定组中资源可将管理文件写入哪个目录。

    Auto_start_on_new_cluster=False

    指定不自动启动应用程序资源组。

    RG_affinities=+++devgrp-stor-rg

    指定应用程序资源组必须与之并置的资源组。在本示例中,该应用程序资源组必须与复制资源组 devgrp-stor-rg 并置。

    如果复制资源组被切换到新的主节点上,应用程序资源组也会被自动切换。不过,系统将阻止您将应用程序资源组切换到新的主节点,因为该操作会违反并置要求。

    nfs-rg

    应用程序资源组的名称

  5. 向应用程序资源组中添加一个 SUNW.HAStoragePlus 资源。
    nodeA# clresource create -g nfs-rg \
    -t SUNW.HAStoragePlus \
    -p FileSystemMountPoints=/global/mountpoint \
    -p AffinityOn=True \
    nfs-dg-rs
    create

    创建资源。

    –g

    指定资源将被添加到哪个资源组。

    -t SUNW.HAStoragePlus

    指定资源的类型是 SUNW.HAStoragePlus

    -p FileSystemMountPoints=/global/mountpoint

    指定文件系统的挂载点为全局挂载点。

    -p AffinityOn=True

    指定应用程序资源必须对 -p FileSystemMountPoints 所定义的全局设备和群集文件系统执行关联切换。因此,当应用程序资源组发生故障转移或被切换后,相关的设备组也将被切换。

    nfs-dg-rs

    用于 NFS 应用程序的 HAStoragePlus 资源的名称。

    有关这些扩展属性的更多信息,请参见 SUNW.HAStoragePlus(5) 手册页。

  6. 为应用程序资源组添加逻辑主机名资源。
    nodeA# clreslogicalhostname create -g nfs-rg \
    lhost-nfsrg-prim

    主群集上应用程序资源组的逻辑主机名为 lhost-nfsrg-prim

  7. 创建 dfstab.resource-name 配置文件并将其放置在包含资源组的 Pathprefix 目录下的 SUNW.nfs 子目录中。
    1. nodeA 上创建一个名为 SUNW.nfs 的目录。
      nodeA# mkdir -p /global/etc/SUNW.nfs
    2. nodeA 上创建文件 dfstab.resource-name
      nodeA# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
    3. 将下面一行添加到 nodeA 上的 /global/etc/SUNW.nfs/dfstab.nfs-rs 文件中。
      share -F nfs -o rw -d "HA NFS" /global/mountpoint
  8. 使应用程序资源组联机。
    nodeA# clresourcegroup online -M -n nodeA nfs-rg
    online

    使资源组联机。

    –e

    启用相关联的资源。

    –M

    管理资源组。

    –n

    指定在哪个节点上使资源组联机。

    nfs-rg

    资源组的名称。

  9. 检验应用程序资源组是否处于联机状态。
    nodeA# clresourcegroup status

    检查资源组状态字段,确定该应用程序资源组在 nodeAnodeB 上是否处于联机状态。

接下来的步骤

请转到如何在辅助群集上创建 NFS 应用程序资源组

如何在辅助群集上创建 NFS 应用程序资源组

开始之前

  1. 作为可提供 solaris.cluster.modifysolaris.cluster.adminsolaris.cluster.read RBAC 授权的角色访问 nodeC
  2. SUNW.nfs 注册为资源类型。
    nodeC# clresourcetype register SUNW.nfs
  3. SUNW.HAStoragePlus 注册为资源类型(如果它尚未注册)。
    nodeC# clresourcetype register SUNW.HAStoragePlus
  4. 为设备组创建一个应用程序资源组。
    nodeC# clresourcegroup create \
    -p Pathprefix=/global/etc \
    -p Auto_start_on_new_cluster=False \
    -p RG_affinities=+++devgrp-stor-rg \
    nfs-rg
    create

    创建资源组。

    –p

    指定资源组的属性。

    Pathprefix=/global/etc

    指定组中资源可以在哪个目录中写入管理文件。

    Auto_start_on_new_cluster=False

    指定不自动启动应用程序资源组。

    RG_affinities=+++devgrp-stor-rg

    指定应用程序资源组必须与之并置的资源组。在本示例中,该应用程序资源组必须与复制资源组 devgrp-stor-rg 并置。

    如果复制资源组被切换到新的主节点上,应用程序资源组也会被自动切换。不过,系统将阻止您将应用程序资源组切换到新的主节点,因为该操作会违反并置要求。

    nfs-rg

    应用程序资源组的名称

  5. 向应用程序资源组中添加一个 SUNW.HAStoragePlus 资源。
    nodeC# clresource create -g nfs-rg \
    -t SUNW.HAStoragePlus \
    -p FileSystemMountPoints=/global/mountpoint \
    -p AffinityOn=True \
    nfs-dg-rs
    create

    创建资源。

    –g

    指定资源将被添加到哪个资源组。

    -t SUNW.HAStoragePlus

    指定资源的类型是 SUNW.HAStoragePlus

    –p

    指定资源的属性。

    FileSystemMountPoints=/global/mountpoint

    指定文件系统的挂载点为全局挂载点。

    AffinityOn=True

    指定应用程序资源必须对 -p FileSystemMountPoints= 所定义的全局设备和群集文件系统执行关联性切换。因此,当应用程序资源组发生故障转移或被切换后,相关的设备组也将被切换。

    nfs-dg-rs

    用于 NFS 应用程序的 HAStoragePlus 资源的名称。

  6. 为应用程序资源组添加逻辑主机名资源。
    nodeC# clreslogicalhostname create -g nfs-rg \
    lhost-nfsrg-sec

    辅助群集上应用程序资源组的逻辑主机名为 lhost-nfsrg-sec

  7. 向应用程序资源组中添加 NFS 资源。
    nodeC# clresource create -g nfs-rg \
    -t SUNW.nfs -p Resource_dependencies=nfs-dg-rs nfs-rg
  8. 如果在主群集上挂载全局卷,应从辅助群集上卸载全局卷。
    nodeC# umount /global/mountpoint

    如果在辅助群集上挂载卷,同步将失败。

接下来的步骤

请转到如何启用数据复制的示例

如何启用数据复制的示例

本节描述了如何为示例配置启用数据复制。本节使用了 Sun StorageTek Availability Suite 软件的命令 sndradmiiadm。有关这些命令的更多信息,请参见 Sun StorageTek Availability Suite 文档。

如何在主群集上启用复制

  1. 作为可提供 solaris.cluster.read RBAC 授权的角色访问 nodeA
  2. 刷新所有事务。
    nodeA# lockfs -a -f
  3. 确认逻辑主机名 lhost-reprg-primlhost-reprg-sec 处于联机状态。
    nodeA# clresourcegroup status
    nodeC# clresourcegroup status

    检查资源组的状态字段。

  4. 启用从主群集到辅助群集的远程镜像复制。

    此步骤启用从主群集到辅助群集的复制。此步骤启用从主群集上的主卷 (d200) 到辅助群集上的主卷 (d200) 的复制。此外,此步骤还启用到 d203 上的远程镜像位图的复制。

    • 如果主群集和辅助群集不同步,请对 Sun StorageTek Availability Suite 软件运行以下命令:

      nodeA# /usr/sbin/sndradm -n -e lhost-reprg-prim \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 ip sync
    • 如果主群集和辅助群集同步,请对 Sun StorageTek Availability Suite 软件运行以下命令:

      nodeA# /usr/sbin/sndradm -n -E lhost-reprg-prim \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 ip sync
  5. 启用自动同步。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -n -a on lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync

    该步骤启用了自动同步。如果自动同步的活动状态设置为 on,则当系统重新引导或发生故障时,将重新同步卷集。

  6. 检验群集是否处于记录模式。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeA# /usr/sbin/sndradm -P

    输出应与以下所示类似:

    /dev/md/nfsset/rdsk/d200 ->
    lhost-reprg-sec:/dev/md/nfsset/rdsk/d200
    autosync: off, max q writes:4194304, max q fbas:16384, mode:sync,ctag:
    devgrp, state: logging

    在日志记录模式下,状态为 logging,自动同步的活动状态为 off。当磁盘上的数据卷被写入时,即更新同一磁盘上的位图文件。

  7. 启用时间点快照。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeA# /usr/sbin/iiadm -e ind \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d201 \
    /dev/md/nfsset/rdsk/d202
    nodeA# /usr/sbin/iiadm -w \
    /dev/md/nfsset/rdsk/d201

    此步骤使主群集上的主卷将被复制到同一群集上的影子卷中。主卷、影子卷和时间点位图卷必须在同一设备组中。在本示例中,主卷为 d200,影子卷为 d201,时间点位图卷为 d203

  8. 将时间点快照附加到远程镜像集。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeA# /usr/sbin/sndradm -I a \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d201 \
    /dev/md/nfsset/rdsk/d202

    此步骤将时间点快照与远程镜像卷集相关联。Sun StorageTek Availability Suite 软件可以确保在进行远程镜像复制之前创建时间点快照。

接下来的步骤

请转到如何在辅助群集上启用复制

如何在辅助群集上启用复制

开始之前

完成如何在主群集上启用复制中所述的过程。

  1. 作为 root 角色访问 nodeC
  2. 刷新所有事务。
    nodeC# lockfs -a -f
  3. 启用从主群集到辅助群集的远程镜像复制。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeC# /usr/sbin/sndradm -n -e lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200  \
    /dev/md/nfsset/rdsk/d203 ip sync

    主群集检测到存在辅助群集并启动同步。有关群集状态的信息,请参阅 Sun StorageTek Availability Suite 的系统日志文件 /var/adm

  4. 启用独立的时间点快照。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeC# /usr/sbin/iiadm -e ind \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d201 \
    /dev/md/nfsset/rdsk/d202
    nodeC# /usr/sbin/iiadm -w \
    /dev/md/nfsset/rdsk/d201
  5. 将时间点快照附加到远程镜像集。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeC# /usr/sbin/sndradm -I a \
    /dev/md/nfsset/rdsk/d200  \
    /dev/md/nfsset/rdsk/d201 \
    /dev/md/nfsset/rdsk/d202

接下来的步骤

请转到如何执行数据复制的示例

如何执行数据复制的示例

本节描述了如何为示例配置执行数据复制。本节使用了 Sun StorageTek Availability Suite 软件的命令 sndradmiiadm。有关这些命令的更多信息,请参见 Sun StorageTek Availability Suite 文档。

如何执行远程镜像复制

在此过程中,将主磁盘的主卷复制到辅助磁盘上的主卷。主卷为 d200,远程镜像位图卷为 d203

  1. 作为 root 角色访问 nodeA
  2. 检验群集是否处于记录模式。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -P

    输出应与以下所示类似:

    /dev/md/nfsset/rdsk/d200  ->
    lhost-reprg-sec:/dev/md/nfsset/rdsk/d200
    autosync: off, max q writes:4194304, max q fbas:16384, mode:sync,ctag:
    devgrp, state: logging

    在日志记录模式下,状态为 logging,自动同步的活动状态为 off。当磁盘上的数据卷被写入时,即更新同一磁盘上的位图文件。

  3. 刷新所有事务。
    nodeA# lockfs -a -f
  4. nodeC 上重复Step 1Step 3
  5. nodeA 的主卷复制到 nodeC 的主卷上。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -n -m lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync
  6. 完成复制和同步卷之前,请等待。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -n -w lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync
  7. 确认群集是否处于复制模式。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -P

    输出应与以下所示类似:

    /dev/md/nfsset/rdsk/d200 ->
    lhost-reprg-sec:/dev/md/nfsset/rdsk/d200
    autosync: on, max q writes:4194304, max q fbas:16384, mode:sync,ctag:
    devgrp, state: replicating

    在复制模式下,状态为 replicating,而自动同步的活动状态为 on。对主卷进行写入时,由 Sun StorageTek Availability Suite 软件对辅助卷进行更新。

接下来的步骤

请转到如何执行时间点快照

如何执行时间点快照

在此过程中,时间点快照用于将主群集的影子卷同步到主群集的主卷中。主卷为 d200,位图卷为 d203,影子卷为 d201

开始之前

完成如何执行远程镜像复制中所述的过程。

  1. 作为可提供 solaris.cluster.modifysolaris.cluster.admin RBAC 授权的角色访问 nodeA
  2. 禁用 nodeA 上正在运行的资源。
    nodeA# clresource disable nfs-rs
  3. 将主群集更改为日志模式。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -n -l lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync

    当磁盘上的数据卷被写入时,即更新同一磁盘上的位图文件。系统不会执行任何复制操作。

  4. 将主群集的影子卷同步到主群集的主卷。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/iiadm -u s /dev/md/nfsset/rdsk/d201
    nodeA# /usr/sbin/iiadm -w /dev/md/nfsset/rdsk/d201
  5. 将辅助群集的影子卷同步到辅助群集的主卷。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeC# /usr/sbin/iiadm -u s /dev/md/nfsset/rdsk/d201
    nodeC# /usr/sbin/iiadm -w /dev/md/nfsset/rdsk/d201
  6. nodeA 上重新启动该应用程序。
    nodeA# clresource enable nfs-rs
  7. 使辅助卷与主卷重新同步。

    对 Sun StorageTek Availability Suite 软件运行以下命令:

    nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync

接下来的步骤

请转到如何检验复制是否已正确配置

如何检验复制是否已正确配置

开始之前

完成如何执行时间点快照中所述的过程。

  1. 作为可提供 solaris.cluster.admin RBAC 授权的角色访问 nodeAnodeC
  2. 检验主群集是否处于复制模式并已启用自动同步。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeA# /usr/sbin/sndradm -P

    输出应与以下所示类似:

    /dev/md/nfsset/rdsk/d200 ->
    lhost-reprg-sec:/dev/md/nfsset/rdsk/d200
    autosync: on, max q writes:4194304, max q fbas:16384, mode:sync,ctag:
    devgrp, state: replicating

    在复制模式下,状态为 replicating,而自动同步的活动状态为 on。对主卷进行写入时,由 Sun StorageTek Availability Suite 软件对辅助卷进行更新。

  3. 如果主群集未处于复制模式下,则使其处于复制模式下。

    对 Sun StorageTek Availability Suite 软件使用以下命令:

    nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
    /dev/md/nfsset/rdsk/d200 \
    /dev/md/nfsset/rdsk/d203 ip sync
  4. 在客户机上创建目录。
    1. 作为 root 角色登录到客户机。

      您将看到类似下面的提示:

      client-machine#
    2. 在客户机上创建目录。
      client-machine# mkdir /dir
  5. 将主卷挂载到应用程序目录上,并显示已挂载的目录。
    1. 将主卷挂载到应用程序目录上。
      client-machine# mount -o rw lhost-nfsrg-prim:/global/mountpoint /dir
    2. 显示已挂载的目录。
      client-machine# ls /dir
  6. 从应用程序目录卸载主卷。
    1. 从应用程序目录卸载主卷。
      client-machine# umount /dir
    2. 使主群集上的应用程序资源组脱机。
      nodeA# clresource disable -g nfs-rg +
      nodeA# clresourcegroup offline nfs-rg
    3. 将主群集更改为日志模式。

      对 Sun StorageTek Availability Suite 软件运行以下命令:

      nodeA# /usr/sbin/sndradm -n -l lhost-reprg-prim \
      /dev/md/nfsset/rdsk/d200  \
      /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 ip sync

      当磁盘上的数据卷被写入时,即更新同一磁盘上的位图文件。系统不会执行任何复制操作。

    4. 确保 PathPrefix 目录可用。
      nodeC# mount | grep /global/etc
    5. 确认文件系统适合挂载到辅助群集上。
      nodeC# fsck -y /dev/md/nfsset/rdsk/d200
    6. 将应用程序置于受管状态,然后使其在辅助群集上联机。
      nodeC# clresourcegroup online -eM nodeC nfs-rg
    7. 作为 root 角色访问客户机。

      您将看到类似下面的提示:

      client-machine#
    8. 将您在Step 4 中创建的应用程序目录挂载到辅助卷上的应用程序目录中。
      client-machine# mount -o rw lhost-nfsrg-sec:/global/mountpoint /dir
    9. 显示已挂载的目录。
      client-machine# ls /dir
  7. 确保Step 5 中显示的目录与Step 6 中显示的目录相同。
  8. 使主卷上的应用程序返回到已挂载应用程序目录。
    1. 使应用程序资源组在辅助卷上脱机。
      nodeC# clresource disable -g nfs-rg +
      nodeC# clresourcegroup offline nfs-rg
    2. 确保从辅助卷上卸载全局卷。
      nodeC# umount /global/mountpoint
    3. 将应用程序资源组置于受管状态,然后使其在主群集上联机。
      nodeA# clresourcegroup online -eM nodeA nfs-rg
    4. 将主卷更改为复制模式。

      对 Sun StorageTek Availability Suite 软件运行以下命令:

      nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \
      /dev/md/nfsset/rdsk/d200 \
      /dev/md/nfsset/rdsk/d203 ip sync

      对主卷进行写入时,由 Sun StorageTek Availability Suite 软件对辅助卷进行更新。

另请参见

用以管理接管的方法示例

用以管理接管的方法示例

本节介绍了如何更新 DNS 条目。有关其他信息,请参见管理接管的准则

如何更新 DNS 条目

有关说明 DNS 如何将客户机映射到群集的图示,请参见Figure A–6

  1. 启动 nsupdate 命令。

    有关更多信息,请参见 nsupdate(1M) 手册页。

  2. 针对两个群集(主群集和辅助群集),删除当前在应用程序资源组的逻辑主机名与群集 IP 地址之间存在的 DNS 映射。
    > update delete lhost-nfsrg-prim A
    > update delete lhost-nfsrg-sec A
    > update delete ipaddress1rev.in-addr.arpa ttl PTR lhost-nfsrg-prim
    > update delete ipaddress2rev.in-addr.arpa ttl PTR lhost-nfsrg-sec
    ipaddress1rev

    主群集的 IP 地址,按照逆序。

    ipaddress2rev

    辅助群集的 IP 地址,按照逆序。

    ttl

    有效时间(秒)。典型值为 3600。

  3. 针对两个群集(主群集和辅助群集),创建应用程序资源组的逻辑主机名与群集 IP 地址之间的新 DNS 映射。

    将主逻辑主机名映射到辅助群集的 IP 地址,将辅助逻辑主机名映射到主群集的 IP 地址。

    > update add lhost-nfsrg-prim ttl A ipaddress2fwd
    > update add lhost-nfsrg-sec ttl A ipaddress1fwd
    > update add ipaddress2rev.in-addr.arpa ttl PTR lhost-nfsrg-prim
    > update add ipaddress1rev.in-addr.arpa ttl PTR lhost-nfsrg-sec
    ipaddress2fwd

    辅助群集的 IP 地址,按照正序。

    ipaddress1fwd

    主群集的 IP 地址,按照正序。