Open HA Cluster 安装指南

建立新群集

本节提供有关建立新群集的信息和过程。

Procedure如何在所有节点上配置 Open HA Cluster 软件 (scinstall)

从群集的一个节点中执行此过程,以便在群集的两个节点上配置 Open HA Cluster 软件。


注 –

此过程使用的是 scinstall 命令的交互形式。要使用 scinstall 命令的非交互形式(如在开发安装脚本时),请参见 scinstall(1M) 手册页。


开始之前

执行以下任务:


注 –

对于全局设备文件系统,请仅使用 lofi 设备。请勿尝试配置专用 /globaldevices 分区。对于询问是否要使用或创建文件系统的所有提示均回答“否”。拒绝配置文件系统后,scinstall 实用程序会提示您创建 lofi 设备。


按照以下指导在此过程中使用交互式的 scinstall 实用程序:

  1. 在要在群集中配置的每个节点上,成为超级用户。

    或者,如果为您的用户帐户指定了主管理员 (Primary Administrator) 配置文件,则可通过配置文件 shell 以非超级用户身份执行命令,或者在命令的前面加上 pfexec 命令。

  2. 在每个节点上,禁用网络自动配置 (Network Auto-Magic, NWAM)。

    NWAM 会激活单个网络接口并禁用所有其他网络接口。因此,NWAM 不能与 Open HA Cluster 2009.06 软件共存,您必须在配置或运行群集之前禁用 NWAM。

    1. 在每个群集节点上,确定 NWAM 处于启用状态还是禁用状态。


      phys-schost# svcs -a | grep /network/physical
      
      • 如果 NWAM 处于启用状态,则输出内容将类似如下:


         online           Mar_13   svc:/network/physical:nwam
         disabled         Mar_13   svc:/network/physical:default
      • 如果 NWAM 处于禁用状态,则输出内容将类似如下:


         disabled          Mar_13  svc:/network/physical:nwam
         online            Mar_13  svc:/network/physical:default
    2. 如果 NWAM 在某一节点上处于启用状态,请将其禁用。


      phys-schost# svcadm disable svc:/network/physical:nwam
      phys-schost# svcadm enable svc:/network/physical:default
      
  3. 在每个节点上,配置每个公共网络适配器。

    1. 确定系统上有哪些适配器。


      phys-schost# dladm show-link
      
    2. 激活 (plumb) 某个适配器。


      phys-schost# ifconfig adapter plumb up
      
    3. 为该适配器指定 IP 地址和网络掩码。


      phys-schost# ifconfig adapter IPaddress netmask + netmask
      
    4. 检验适配器是否已启动。

      确保注释输出中包含 UP 标志。


      phys-schost# ifconfig -a
      
    5. 为适配器创建一个配置文件。

      此文件可确保适配器的配置在重新引导后不会失效。


      phys-schost# vi /etc/hostname.adapter
      IPaddress
      
    6. 对两个节点上的每个公共网络适配器重复步骤 b步骤 e

    7. 在两个节点上,对于在每个节点上配置的每个公共网络适配器,将一个条目添加到 /etc/inet/hosts 文件。


      phys-schost# vi /etc/inet/hosts
      hostname IPaddress
      
    8. 如果使用命名服务,请添加所配置的每个公共网络适配器的主机名和 IP 地址。

    9. 重新引导每个节点。


      phys-schost# /usr/sbin/shutdown -y -g0 -i6
      
    10. 检验所有适配器是否均进行了配置且已启动。


      phys-schost# ifconfig -a
      
  4. 在每个节点上,启用交互式 scinstall 实用程序启用时所需的最少量的 RPC 服务。

    安装 OpenSolaris 软件时,将会自动配置一个限制性的网络配置文件。此配置文件的限制性很强,使得群集专用网络无法正常运行。要启用专用网络功能,请运行以下命令:


    phys-schost# svccfg
    svc:> select network/rpc/bind
    svc:/network/rpc/bind> setprop config/local_only=false
    svc:/network/rpc/bind> quit
     
    phys-schost# svcadm refresh network/rpc/bind:default
    phys-schost# svcprop network/rpc/bind:default | grep local_only
    

    最后一条命令的输出应显示 local_only 属性现在设置为 false

    有关重新启用网络服务的更多信息,请参见《Solaris 10 5/08 安装指南:规划安装和升级》中的“规划网络安全性”

  5. 从一个群集节点启动 scinstall 实用程序。


    phys-schost# /usr/cluster/bin/scinstall
    
  6. 键入 "Create a New Cluster or Add a Cluster Node" 所对应的选项号并按回车键。


     *** Main Menu ***
    
        Please select from one of the following (*) options:
    
          * 1) Create a new cluster or add a cluster node
          * 2) Print release information for this cluster node
     
          * ?) Help with menu options
          * q) Quit
    
        Option:  1
    

    将显示 "New Cluster and Cluster Node" 菜单。

  7. 键入 "Create a New Cluster" 所对应的选项号并按回车键。

    将显示 "Typical or Custom Mode" 菜单。

  8. 键入与 "Typical" 或 “Custom” 相对应的选项号并按回车键。

    将显示 "Create a New Cluster" 屏幕。阅读相关要求,然后按 Ctrl-D 组合键继续。

  9. 按照菜单提示给出您的答案 ,所做回答应依据于您在配置规划工作单中填写的内容。

    scinstall 实用程序用于安装和配置所有群集节点并重新引导群集。将所有节点成功引导到群集中之后,即建立了群集。Open HA Cluster 安装输出记录在 /var/cluster/logs/install/scinstall.log. N 文件中。

  10. 在每个节点上检验服务管理工具 (Service Management Facility, SMF) 的多用户服务是否处于联机状态。

    如果某个节点上的服务尚未处于联机状态,请等到状态变为联机后再继续执行下一步。


    phys-schost# svcs multi-user-server
    STATE          STIME    FMRI
    online         17:52:55 svc:/milestone/multi-user-server:default
  11. 从一个节点中,检验所有节点是否已加入群集。


    phys-schost# /usr/cluster/bin/clnode status
    

    输出类似于以下内容。


    === Cluster Nodes ===
    
    --- Node Status ---
    
    Node Name                                       Status
    ---------                                       ------
    phys-schost-1                                   Online
    phys-schost-2                                   Online

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

  12. (可选的)启用自动节点重新引导功能。

    当所有受监视的磁盘路径都发生故障时,如果至少有一个磁盘可从群集中的另一节点访问,则此功能会自动重新引导节点。

    1. 启用自动重新引导。


      phys-schost# /usr/cluster/bin/clnode set -p reboot_on_path_failure=enabled
      
      -p

      指定要设置的属性

      reboot_on_path_failure=enable

      如果所有监视的磁盘路径发生故障,则启用自动节点重新引导。

    2. 检验是否启用了磁盘路径发生故障时的自动重新引导功能。


      phys-schost# /usr/cluster/bin/clnode show
      === Cluster Nodes ===                          
      
      Node Name:                                      node
      …
        reboot_on_path_failure:                          enabled
      …
  13. 如果要在具有高可用性的本地文件系统上使用 HA for NFS 数据服务,请确保禁用回送文件系统 (loopback file system, LOFS)。

    要禁用 LOFS,请将以下条目添加到群集的每个节点上的 /etc/system 文件中。


    exclude:lofs

    /etc/system 文件所做的更改将在下次重新引导系统后生效。


    注 –

    如果在具有高可用性的本地文件系统中使用 HA for NFS 数据服务并且 automountd 正在运行,则不能启用 LOFS。LOFS 可能会导致 HA for NFS 数据服务出现切换问题。如果选择在具有高可用性的本地文件系统上添加 HA for NFS 数据服务,则必须进行以下配置更改之一。

    • 禁用 LOFS。

    • 禁用 automountd 守护进程。

    • 从自动安装程序映射中排除属于由 HA for NFS 数据服务导出的具有高可用性的本地文件系统的所有文件。这样做可以使 LOFS 和 automountd 守护进程都保持启用状态。


    有关回送文件系统的更多信息,请参见《系统管理指南:设备和文件系统》中的“回送文件系统”


示例 3–1 在所有节点上配置 Open HA Cluster 软件

以下示例显示了当 scinstall 在双节点群集 schost 上完成配置任务时记录的 scinstall 进度消息。该群集是在“典型”模式下使用 scinstall 实用程序从 phys-schost-1 安装的。另一个群集节点为 phys-schost-2。适配器名称为 e1000g0。不存在 /globaldevices 分区,因此会在 lofi 设备上创建全局设备名称空间。不使用自动法定设备选择。


*** Create a New Cluster ***
Tue Apr 14 10:36:19 PDT 2009

    Attempting to contact "phys-schost-1" ... 

    Searching for a remote configuration method ... 

scrcmd -N phys-schost-1 test isfullyinstalled
The Sun Cluster framework software is installed.
scrcmd to "phys-schost-1" - return status 1.

rsh phys-schost-1 -n "/bin/sh -c '/bin/true; /bin/echo SC_COMMAND_STATUS=\$?'"
phys-schost-1: Connection refused
rsh to "phys-schost-1" failed.

ssh root@phys-schost-1 -o "BatchMode yes" -o "StrictHostKeyChecking yes" 
-n "/bin/sh -c '/bin/true; /bin/echo SC_COMMAND_STATUS=\$?'"
No RSA host key is known for phys-schost-1 and you have requested strict checking.
Host key verification failed.
ssh to "phys-schost-1" failed.

    The Sun Cluster framework is able to complete the configuration 
    process without remote shell access.


    Checking the status of service network/physical:nwam ... 


/usr/cluster/lib/scadmin/lib/cmd_test isnwamenabled

scrcmd -N phys-schost-1 test isnwamenabled
    Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done
    Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done
    Testing for "/globaldevices" on "phys-schost-2" ... 

/globaldevices is not a directory or file system mount point.
Cannot use "/globaldevices" on "phys-schost-2".


    Testing for "/globaldevices" on "phys-schost-1" ... 

scrcmd -N phys-schost-1 chk_globaldev fs /globaldevices
/globaldevices is not a directory or file system mount point.


/globaldevices is not a directory or file system mount point.
Cannot use "/globaldevices" on "phys-schost-1".


scrcmd -N phys-schost-1 chk_globaldev lofi /.globaldevices 100m

----------------------------------
- Cluster Creation -
----------------------------------

    Started cluster check on "phys-schost-2".
    Started cluster check on "phys-schost-1".

    cluster check completed with no errors or warnings for "phys-schost-2".
    cluster check completed with no errors or warnings for "phys-schost-1".

Cluster check report is displayed
…

scrcmd -N phys-schost-1 test isinstalling
"" is not running.

scrcmd -N phys-schost-1 test isconfigured
Sun Cluster is not configured.

    Configuring "phys-schost-1" ... 

scrcmd -N phys-schost-1 install -logfile /var/cluster/logs/install/scinstall.log.2895 
-k -C schost -F -G lofi -T node=phys-schost-2,node=phys-schost-1,authtype=sys 
-w netaddr=172.16.0.0,netmask=255.255.240.0,maxnodes=64,maxprivatenets=10,
numvirtualclusters=12 -A trtype=dlpi,name=e1000g0 -B type=direct
ips_package_processing: ips_postinstall...
ips_package_processing: ips_postinstall done

Initializing cluster name to "schost" ... done
Initializing authentication options ... done
Initializing configuration for adapter "e1000g0" ... done
Initializing private network address options ... done

Plumbing network address 172.16.0.0 on adapter e1000g0 >> NOT DUPLICATE ... done

Setting the node ID for "phys-schost-1" ... done (id=1)

Verifying that NTP is configured ... done
Initializing NTP configuration ... done

Updating nsswitch.conf ... done

Adding cluster node entries to /etc/inet/hosts ... done


Configuring IP multipathing groups ...done


Verifying that power management is NOT configured ... done
Unconfiguring power management ... done
/etc/power.conf has been renamed to /etc/power.conf.041409104821
Power management is incompatible with the HA goals of the cluster.
Please do not attempt to re-configure power management.

Ensure network routing is disabled ... done
Network routing has been disabled on this node by creating /etc/notrouter.
Having a cluster node act as a router is not supported by Sun Cluster.
Please do not re-enable network routing.

Please reboot this machine.

Log file - /var/cluster/logs/install/scinstall.log.2895

scrcmd -N phys-schost-1 test hasbooted
This node has not yet been booted as a cluster node.
    Rebooting "phys-schost-1" ... 

故障排除

配置不成功-如果有一个或多个节点无法加入群集,或者指定了错误的配置信息,请首先尝试重新执行此过程。如果不能解决问题,请在每个配置有误的节点上执行如何卸载 Open HA Cluster 软件过程,以将该节点从群集配置中删除。然后重新执行此过程。

接下来的操作

如果尚未在群集中配置法定设备,请转至如何配置法定设备

否则,请转至如何检验法定配置和安装模式

Procedure如何配置法定设备


注 –

如果在建立群集时选择自动法定配置,请勿执行此过程。应继续执行如何检验法定配置和安装模式中的过程。


仅在完全形成新群集后执行一次该过程。使用此过程以分配法定选票并使群集脱离安装模式。

开始之前

如果要将法定服务器配置为法定设备,请执行以下操作:

  1. 如果要使用法定服务器,而公共网络使用可变长度子网划分(也称为无类别域间子网划分 (Classless Inter-Domain Subnetting, CIDS)),请在群集的每个节点上修改公共网络的网络掩码文件条目。

    如果您使用的是 RFC 791 中所定义的有类别子网,则无需执行此步骤。

    1. /etc/inet/netmasks 文件中,为群集所使用的每个公共子网添加一个相应的条目。

      以下是一个包含了某个公共网络 IP 地址和网络掩码的条目示例:


      10.11.30.0	255.255.255.0
    2. netmask + broadcast + 添加到每个 /etc/hostname.adapter 文件中主机名条目的后面。


      nodename netmask + broadcast +
      
  2. 在一个节点上成为超级用户。

    或者,如果为您的用户帐户指定了主管理员 (Primary Administrator) 配置文件,则可通过配置文件 shell 以非超级用户身份执行命令,或者在命令的前面加上 pfexec 命令。

  3. 要将共享磁盘用作法定设备,请检验设备与群集节点是否已连接并选择要配置的设备。

    1. 在群集的一个节点中,显示系统所检查的全部设备的列表。

      运行此命令无需超级用户身份。


      phys-schost-1# /usr/cluster/bin/cldevice list -v
      

      输出类似于以下内容:


      DID Device          Full Device Path
      ----------          ----------------
      d1                  phys-schost-1:/dev/rdsk/c0t0d0
      d2                  phys-schost-1:/dev/rdsk/c0t6d0
      d3                  phys-schost-2:/dev/rdsk/c1t1d0
      d3                  phys-schost-1:/dev/rdsk/c1t1d0
      …
    2. 确保输出信息显示了群集节点与存储设备之间的所有连接。

    3. 确定要配置为法定设备的每个共享磁盘的全局设备 ID。


      注 –

      所选的任何共享磁盘都必须能够用作法定设备。


      使用步骤 a 中的 scdidadm 输出信息来标识配置为法定设备的每个共享磁盘的设备 ID 名称。例如,步骤 a 中的输出信息显示全局设备 d3 是由 phys-schost-1phys-schost-2 共享的。

  4. 要使用不支持 SCSI 协议的共享磁盘,请确保对该共享磁盘禁用隔离功能。

    1. 显示单个磁盘的隔离设置。


      phys-schost# /usr/cluster/bin/cldevice show device
      
      === DID Device Instances ===
      DID Device Name:                                      /dev/did/rdsk/dN
      …
        default_fencing:                                     nofencing
      • 如果磁盘的隔离功能设置为 nofencingnofencing-noscrub,则说明对该磁盘禁用隔离功能。请转至步骤 5

      • 如果磁盘的隔离功能设置为 pathcountscsi,请对该磁盘禁用隔离功能。请跳至步骤 c

      • 如果磁盘的隔离功能设置为 global,请确定是否还全局禁用了隔离功能。请继续执行步骤 b

        或者,可以只对单个磁盘禁用隔离功能,这会覆盖该磁盘的 global_fencing 属性所设置的任何值。请跳至步骤 c 以对单个磁盘禁用隔离功能。

    2. 确定是否全局禁用了隔离功能。


      phys-schost# /usr/cluster/bin/cluster show -t global
      
      === Cluster ===
      Cluster name:                                         cluster
      …
         global_fencing:                                      nofencing
      • 如果全局隔离功能设置为 nofencingnofencing-noscrub,则说明对其 default_fencing 属性设置为 global 的共享磁盘禁用隔离功能。请转至步骤 5

      • 如果全局隔离功能设置为 pathcountprefer3,请对共享磁盘禁用隔离功能。请继续执行步骤 c


      注 –

      如果单个磁盘的 default_fencing 属性设置为 global,则仅在群集范围的 global_fencing 属性设置为 nofencingnofencing-noscrub 时对该单个磁盘禁用隔离功能。如果将 global_fencing 属性更改为可启用隔离功能的值,则其 default_fencing 属性设置为 global 的所有磁盘的隔离功能会变为启用状态。


    3. 对共享磁盘禁用隔离功能。


      phys-schost# /usr/cluster/bin/cldevice set \
      -p default_fencing=nofencing-noscrub device
      
    4. 检验现在是否对该共享磁盘禁用了隔离功能。


      phys-schost# /usr/cluster/bin/cldevice show device
      
  5. 启动 clsetup 实用程序。


    phys-schost# /usr/cluster/bin/clsetup
    

    将显示“Initial Cluster Setup”屏幕。


    注 –

    如果实际显示的是“主菜单”,则说明初始群集设置已成功执行。请跳至步骤 10


  6. 在提示问题 "Do you want to add any quorum disks?" 下,键入 Yes

  7. 指定要将哪类设备配置为法定设备。


    注 –

    在 Open HA Cluster 2009.06 配置中,NAS 设备不是法定设备支持的选项。下表中对 NAS 设备的引用仅作为信息参考目的。


    法定设备类型 

    描述 

    shared_disk

    Sun NAS 设备或共享磁盘 

    quorum_server

    法定服务器 

    netapp_nas

    Network Appliance NAS 设备 

  8. 指定要配置为法定设备的设备的名称。

    对于法定服务器,还需指定以下信息:

    • 法定服务器主机的 IP 地址

    • 法定服务器用来与群集节点进行通信的端口号

  9. 在提示问题 "Is it okay to reset "installmode"?" 下,键入 Yes

    clsetup实用程序在为群集设置了法定配置和投票计数后,将显示消息 "Cluster initialization is complete"。该实用程序将于此时返回到“主菜单”。

  10. 退出 clsetup 实用程序。

接下来的操作

检验是否已禁用法定配置及安装模式。请转至如何检验法定配置和安装模式

故障排除

中断的 clsetup 处理-如果法定设备安装过程被中断或无法成功完成,请重新运行 clsetup

Procedure如何检验法定配置和安装模式

执行该过程以检验法定配置是否已成功完成,并检验群集安装模式是否已被禁用。

您不必成为超级用户就可以运行这些命令。

  1. 从任何节点检验设备和节点的法定配置。


    phys-schost% /usr/cluster/bin/clquorum list
    

    输出内容中会列出每个法定设备、成员关系类型(如果使用)以及每个节点。

  2. 从任一节点,检验群集安装模式是否处于禁用状态。


    phys-schost% /usr/cluster/bin/cluster show -t global | grep installmode
      installmode:                                    disabled

    群集安装和创建已完成。

接下来的操作

如果要配置使用 COMSTAR iSCSI 存储的故障转移 ZFS 文件系统,请转至以下过程之一:

否则,如果要使用 IP 安全体系结构 (IPsec) 在群集互连上提供安全的 TCP/IP 通信,请转至如何对群集专用互连配置 IP 安全体系结构 (IPsec)

否则,配置要在群集上运行的数据服务。请转至配置数据服务

Procedure如何使用 COMSTAR 和单路径配置 iSCSI 存储

执行此过程可在本地连接的存储上配置 OpenSolaris 通用多协议 SCSI 目标 (Common Multiprotocol SCSI TARget, COMSTAR),以在多个群集节点间共享访问权。此过程在 iSCSI 启动器和 iSCSI 目标之间使用单路径,同时还配置镜像 ZFS 存储池以提供高可用性。


注 –

如果在 iSCSI 启动器和 iSCSI 目标之间使用多路径,请转至如何使用 COMSTAR 和多路径配置 iSCSI 存储


开始之前

确保存储配置满足 Open HA Cluster 2009.06 要求。请参见iSCSI 存储

  1. 在每个节点上,执行下表中列出的 "Configuring an iSCSI Storage Array With COMSTAR (Task Map)"(“使用 COMSTAR 配置 iSCSI 存储阵列(任务图)”)中的所需过程,同时遵循特殊说明。

    任务 

    文档 

    特殊说明 

    1. 执行基本设置。 

    Getting Started with COMSTAR(COMSTAR 入门)

    要创建 SCSI 逻辑单元,请执行 "How to Create a Disk Partition SCSI Logical Unit"(“如何创建磁盘分区 SCSI 逻辑单元”)过程。

    如果对 sbdadm create-lu 命令指定整个磁盘而不是某个片,请随后运行 cldevice clear 命令以清除 DID 名称空间。

    2. 配置 iSCSI 目标端口。 

    How to Configure iSCSI Target Ports(如何配置 iSCSI 目标端口)

    在每个节点上为每个专用网络适配器创建目标。 

    3. 配置 iSCSI 目标。 

    How to Configure an iSCSI Target for Discovery(如何配置 iSCSI 目标以进行搜索)

    使用静态搜索或 SendTargets。请勿使用动态搜索。 

    4. 使逻辑单元可用。 

    How to Make Logical Units Available for iSCSI and iSER(如何使逻辑单元可用于 iSCSI 和 iSER)

     

    5. 配置启动器系统以便访问目标存储。 

    How to Configure an iSCSI Initiator(如何配置 iSCSI 启动器)

    • 将节点的 clprivnet IP 地址指定为目标系统。要确定 clprivnet 接口的 IP 地址,请运行以下命令。输出内容将类似如下:


      phys-schost# ifconfig clprivnet0
          clprivnet0:
          flags=1009843<UP,BROADCAST,RUNNING,MULTICAST,\
          MULTI_BCAST,PRIVATE,IPv4>
          mtu 1500 index 5
          inet 172.16.4.1 netmask fffffe00 broadcast \
          172.16.5.255
          ether 0:0:0:0:0:1 
    • 完成后,在每个节点上更新并填充全局设备名称空间。


      phys-schost# scdidadm -r
      phys-schost# cldevice populate
      

  2. 对每个新创建的设备禁用隔离功能。


    phys-schost# /usr/cluster/bin/cldevice set -p default_fencing=nofencing-noscrub device
    

    或者,对群集中的所有设备全局禁用隔离功能。如果群集中没有要用作法定设备的共享设备,请执行此操作。


    phys-schost# /usr/cluster/bin/cluster set -p global_fencing=nofencing-noscrub
    
  3. 列出群集中设备的 DID 映射。

    输出内容将类似如下,其中显示了从每个节点到每个设备的路径:


    phys-schost# /usr/cluster/bin/cldevice list -v
    DID Device          Full Device Path
    ----------          ----------------
    …
    d3                  phys-schost-1:/dev/rdsk/c14t1d0s4
    d3                  phys-schost-2:/dev/rdsk/c14t1d0s4
    d4                  phys-schost-1:/dev/rdsk/c15t8d0s4
    d4                  phys-schost-2:/dev/rdsk/c15t8d0s4
    …
  4. 从一个节点中,利用在每个节点上创建的 DID 设备创建镜像 ZFS 存储池。

    对于设备路径名,请将 /dev/did/dsk/、DID 设备名称和片 s2 组合在一起。


    phys-schost# zpool create pool mirror /dev/did/dsk/dNs2 /dev/did/dsk/dYs2
    
  5. 将镜像 ZFS 存储池配置为 HAStoragePlus 资源。


    phys-schost# /usr/cluster/bin/clresourcegroup resourcegroup
    phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
    phys-schost# /usr/cluster/bin/clresource create -g resourcegroup -t HASToragePlus \
    -p Zpools=pool resource
    phys-schost# /usr/cluster/bin/clresourcegroup manage resourcegroup
    phys-schost# /usr/cluster/bin/clresourcegroup online resourcegroup
    

示例 3–2 使用 COMSTAR 和单路径配置 iSCSI 存储

本示例说明了配置基于 COMSTAR 的 iSCSI 存储和镜像 ZFS 存储池 zpool-1 所涉及的步骤。节点 phys-schost-1 的本地连接磁盘是 /dev/rdsk/c1t0d0s4,节点 phys-schost-2 的本地连接磁盘是 /dev/rdsk/c1t8d0s4clprivnet0 接口的 IP 地址是 172.16.4.1

配置了 iSCSI 目标的静态搜索。对 phys-schost-1 执行的配置 iSCSI 启动器和目标的过程也将对 phys-schost-2 执行。devfsadm 命令将磁盘连接为 iSCSI 目标后,在启动器端 /dev/rdsk/c1t0d0s4 会变为 /dev/rdsk/c14t0d0s4,而 /dev/rdsk/c1t8d0s4 会变为 /dev/rdsk/c15t8d0s4

群集不使用任何共享磁盘,因此对于群集中的所有磁盘,隔离功能处于全局关闭状态。使用 HAStoragePlus 资源 hasp-rs(镜像 ZFS 存储池 zpool-1)配置了资源组 rg-1


Enable and verify the STMF service
phys-schost-1# svcadm enable stmf
phys-schost-1# svcs stmf
online    15:59:53 svc:/system/stmf:default
Repeat on phys-schost-2

Create and verify disk-partition SCSI logical units on each node
phys-schost-1# sbdadm create-lu /dev/rdsk/c1t0d0s4
Created the following LU:

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ------------------
600144f05b4c460000004a1d9dd00001      73407800320      /dev/rdsk/c1t0d0s4
root@phys-schost-1:#
-------------------------

phys-schost-2# sbdadm create-lu /dev/rdsk/c1t8d0s4
Created the following LU:

              GUID                    DATA SIZE           SOURCE
--------------------------------  -------------------  ------------------
600144f07d15cd0000004a202e340001      73407800320      /dev/rdsk/c1t8d0s4
root@phys-schost-2:#
-------------------------

Enable the iSCSI target SMF service
phys-schost-1# svcadm enable -r svc:/network/iscsi/target:default
phys-schost-1# svcs -a | grep iscsi
online  14:21:25 svc:/network/iscsi/target:default
Repeat on phys-schost-2

Configure each iSCSI target for static discovery
phys-schost-1# itadm create-target
Target: iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead
successfully created
phys-schost-1# itadm list-target
TARGET NAME                                                  STATE   SESSIONS
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead  online  0
Repeat on phys-schost-2 for the other iSCSI target

Make the logical units available
phys-schost-1# sbdadm list-lu
phys-schost-1# stmfadm add-view 600144f05b4c460000004a1d9dd00001
Repeat on phys-schost-2 for the other logical unit's GUID

Configure iSCSI initiators to access target storage
phys-schost-1# iscsiadm modify discovery --static enable
phys-schost-1# iscsiadm list discovery
Discovery:
Static: enabled
Send Targets: disabled
iSNS: disabled
phys-schost-1# ifconfig clprivnet0
    clprivnet0:
…
    inet 172.16.4.1 netmask fffffe00 broadcast 172.16.5.255
…
phys-schost-1# iscsiadm add static-config \
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead,172.16.4.1
phys-schost-1# iscsiadm list static-config
Static Configuration Target:
iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead,172.16.4.1:3260
phys-schost-1# devfsadm -i iscsi
phys-schost-1# format -e
phys-schost-1# iscsiadm list target
Target: iqn.1986-03.com.sun:02:97c1caa8-5732-ec53-b7a2-a722a946fead
        Alias: -
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1
Repeat on phys-schost-2 for this target
Repeat on both nodes for the other target

Update and populate the global-devices namespace on each node
phys-schost-1# scdidadm -r
phys-schost-1# cldevice populate
Repeat on phys-schost-2

Disable fencing for all disks in the cluster
phys-schost-1# /usr/cluster/bin/cluster set -p global_fencing=nofencing-noscrub

Create a mirrored ZFS storage pool
phys-schost-1/usr/cluster/bin/cldevice list -v
DID Device          Full Device Path
----------          ----------------
…
d3                  phys-schost-1:/dev/rdsk/c14t0d0s4
d3                  phys-schost-2:/dev/rdsk/c14t0d0s4
d4                  phys-schost-1:/dev/rdsk/c15t8d0s4
d4                  phys-schost-2:/dev/rdsk/c15t8d0s4
…
phys-schost-1# zpool create zpool-1 mirror /dev/did/dsk/d3s2 /dev/did/dsk/d4s2

Configure the mirrored ZFS storage pool as an HAStoragePlus resource
phys-schost# /usr/cluster/bin/clresourcegroup rg-1
phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
phys-schost# /usr/cluster/bin/clresource create -g rg-1 -t HAStoragePlus \
-p Zpools=zpool-1 hasp-rs
phys-schost# /usr/cluster/bin/clresourcegroup manage rg-1
phys-schost# /usr/cluster/bin/clresourcegroup online rg-1

接下来的操作

如果要使用 IP 安全体系结构 (IPsec) 在群集互连上提供安全的 TCP/IP 通信,请转至如何对群集专用互连配置 IP 安全体系结构 (IPsec)

否则,配置要在群集上运行的数据服务。请转至配置数据服务

Procedure如何使用 COMSTAR 和多路径配置 iSCSI 存储

执行此过程可在本地连接的存储上配置 OpenSolaris 通用多协议 SCSI 目标 (Common Multiprotocol SCSI TARget, COMSTAR),以在多个群集节点间共享访问权。此过程在 iSCSI 启动器和 iSCSI 目标之间使用多路径,同时还配置镜像 ZFS 存储池以提供高可用性。此过程也可以包括配置 I/O 多路径功能 (MPxIO)。


注 –

如果在 iSCSI 启动器和 iSCSI 目标之间使用单路径,请转至如何使用 COMSTAR 和单路径配置 iSCSI 存储


开始之前

确保存储配置满足 Open HA Cluster 2009.06 要求。请参见iSCSI 存储

  1. (可选的)如果要使用 I/O 多路径 (MPxIO),请在每个节点上,确保对 iSCSI 启用了 I/O 多路径功能。

    mpxio-disable 属性设置为 no 时,该功能处于启用状态。


    phys-schost# cat /kernel/drv/iscsi.conf
    …
    mpxio-disable="no";

    有关 I/O 多路径的更多信息,请参见《Solaris Fibre Channel Storage Configuration and Multipathing Support Guide》

  2. 确定用于专用互连的每个适配器的 IP 地址。

    您将会在稍后创建 iSCSI 目标端口时指定这些地址。输出内容将类似如下:


    phys-schost# /usr/cluster/bin/clinterconnect status
    === Cluster Transport Paths ===
    
    Endpoint1               Endpoint2               Status
    ---------               ---------               ------
    phys-schost-1:adapter1    phys-schost-2:adapter1    Path online
    phys-schost-1:adapter2    phys-schost-2:adapter2    Path online
    
    phys-schost# ifconfig adapter1
    nge1: flags=201008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4,CoS> mtu
    1500 index 3
            inet 172.16.1.1 netmask ffffff80 broadcast 172.16.1.127
            ether 0:14:4f:8d:9b:3 
    phys-schost# ifconfig adapter2
    e1000g1: flags=201008843<UP,BROADCAST,RUNNING,MULTICAST,PRIVATE,IPv4,CoS>
    mtu 1500 index 4
            inet 172.16.0.129 netmask ffffff80 broadcast 172.16.0.255
            ether 0:15:17:35:9b:a1 
  3. 在每个节点上,执行 "Configuring an iSCSI Storage Array With COMSTAR (Task Map)"(“使用 COMSTAR 配置 iSCSI 存储阵列(任务图)”)中列出的过程。

    在 Open HA Cluster 2009.06 配置中配置 COMSTAR iSCSI 目标时,请遵循以下附加说明:

    任务 

    文档 

    特殊说明 

    1. 执行基本设置。 

    Getting Started with COMSTAR(COMSTAR 入门)

    要创建 SCSI 逻辑单元,请执行 "How to Create a Disk Partition SCSI Logical Unit"(“如何创建磁盘分区 SCSI 逻辑单元”)过程。

    如果对 sbdadm create-lu 命令指定整个磁盘而不是某个片,请随后运行 cldevice clear 命令以清除 DID 名称空间。

    2. 配置 iSCSI 目标端口。 

    How to Configure iSCSI Target Ports(如何配置 iSCSI 目标端口)

    在每个节点上为每个专用网络适配器创建目标。 

    3. 配置 iSCSI 目标。 

    How to Configure an iSCSI Target for Discovery(如何配置 iSCSI 目标以进行搜索)

    使用静态搜索或 SendTargets。请勿使用动态搜索。 

    4. 使逻辑单元可用。 

    How to Make Logical Units Available for iSCSI and iSER(如何使逻辑单元可用于 iSCSI 和 iSER)

     

    5. 配置启动器系统以便访问目标存储。 

    How to Configure an iSCSI Initiator(如何配置 iSCSI 启动器)

    • 将节点的 clprivnet IP 地址指定为目标系统。要确定 clprivnet 接口的 IP 地址,请运行以下命令。输出内容将类似如下:


      phys-schost# ifconfig clprivnet0
          clprivnet0:
          flags=1009843<UP,BROADCAST,RUNNING,MULTICAST,\
          MULTI_BCAST,PRIVATE,IPv4>
          mtu 1500 index 5
          inet 172.16.4.1 netmask fffffe00 broadcast \
          172.16.5.255
          ether 0:0:0:0:0:1 
    • 完成后,在每个节点上更新并填充全局设备名称空间。


      phys-schost# scdidadm -r
      phys-schost# cldevice populate
      

  4. 对每个新创建的设备禁用隔离功能。


    phys-schost# /usr/cluster/bin/cldevice set -p default_fencing=nofencing-noscrub device
    
  5. 从一个节点中,利用在每个节点上创建的 DID 设备创建镜像 ZFS 存储池。


    phys-schost# zpool create pool mirror /dev/did/dsk/dNsX /dev/did/dsk/dYsX
    
  6. 从一个节点中,将镜像 ZFS 存储池配置为 HAStoragePlus 资源。


    phys-schost# /usr/cluster/bin/clresourcegroup resourcegroup
    phys-schost# /usr/cluster/bin/clresourcetype register HAStoragePlus
    phys-schost# /usr/cluster/bin/clresource create -g resourcegroup -t HASToragePlus  \
    -p Zpools=pool resource
    phys-schost# /usr/cluster/bin/clresourcegroup manage resourcegroup
    phys-schost# /usr/cluster/bin/clresourcegroup online resourcegroup
    
接下来的操作

如果要使用 IP 安全体系结构 (IPsec) 在群集互连上提供安全的 TCP/IP 通信,请转至如何对群集专用互连配置 IP 安全体系结构 (IPsec)

否则,配置要在群集上运行的数据服务。请转至配置数据服务

Procedure如何对群集专用互连配置 IP 安全体系结构 (IPsec)

可以为专用互连接口配置 IP 安全体系结构 (IPsec),以便在群集互连上提供安全的 TCP/IP 通信。

有关 IPsec 的信息,请参见《系统管理指南:IP 服务》中的第 IV 部分, “IP 安全性”ipsecconf(1M) 手册页。有关 clprivnet 接口的信息,请参见 clprivnet(7) 手册页。

在要配置为使用 IPsec 的每个群集节点上执行此过程。

  1. 成为超级用户。

    或者,如果为您的用户帐户指定了主管理员 (Primary Administrator) 配置文件,则可通过配置文件 shell 以非超级用户身份执行命令,或者在命令的前面加上 pfexec 命令。

  2. 在每个节点上,确定 clprivnet 接口的 IP 地址。


    phys-schost# ifconfig clprivnet0
    
  3. 如果您使用虚拟 NIC (virtual NIC, VNIC) 通过公共网络来路由专用互连通信,还请确定 VNIC 使用的物理接口的 IP 地址。

    1. 显示群集中所有传输路径的状态以及所使用的物理接口。

      输出内容将类似如下:


      phys-schost# /usr/cluster/bin/clinterconnect status
      -- Cluster Transport Paths --
      
                         Endpoint                Endpoint                Status
                         --------                --------                ------
        Transport path:  phys-schost-1:adapter1  phys-schost-2:adapter1  Path online
        Transport path:  phys-schost-1:adapter2  phys-schost-2:adapter2  Path online
    2. 识别每个节点上使用的每个接口的 IP 地址。


      phys-schost-1# ifconfig adapter
      phys-schost-2# ifconfig adapter
      
  4. 在每个节点上,配置 /etc/inet/ipsecinit.conf 策略文件,并在要使用 IPsec 的每对专用互连 IP 地址之间添加安全关联 (Security Association, SA)。

    请按照《系统管理指南:IP 服务》中的“如何使用 IPsec 保证两个系统之间的通信安全”中的说明操作。此外,请遵循以下指导:

    • 确保这些地址的配置参数值在所有的伙伴节点上一致。

    • 将每个策略配置为配置文件中的单独行。

    • 要在不重新引导的情况下实现 IPsec,请按照过程示例“在不重新引导的情况下使用 IPsec 保证通信安全”中的说明操作。

    有关 sa unique 策略的更多信息,请参见 ipsecconf(1M) 手册页。

    1. 在每个文件中,为群集中每个 clprivnet IP 地址添加一个条目,以便使用 IPsec。

      包括本地节点的 clprivnet 专用互连 IP 地址。

    2. 如果使用 VNIC,还请为 VNIC 使用的每个物理接口的 IP 地址添加一个条目。

    3. (可选的)要对所有的链路启用数据分散读写,请在该条目中包括 sa unique 策略。

      此功能可帮助驱动程序以最佳方式利用群集专用网络的带宽,从而提供较高的分发粒度和更高的吞吐量。专用互连接口使用包的安全参数索引 (Security Parameter Index, SPI) 来分散读写通信。

  5. 在每个节点上,编辑 /etc/inet/ike/config 文件以设置 p2_idletime_secs 参数。

    将此条目添加到为群集传输配置的策略规则中。此设置可为在群集节点重新引导时重新生成安全关联提供时间,并可限制重新引导的节点重新加入群集的快慢。30 秒的值应该足够。


    phys-schost# vi /etc/inet/ike/config
    …
    {
        label "clust-priv-interconnect1-clust-priv-interconnect2"
    …
    p2_idletime_secs 30
    }
    …
接下来的操作

配置要在群集上运行的数据服务。请转至配置数据服务