6 安装 Solaris Cluster 4.2

Oracle 技术网上提供的《Oracle Solaris Cluster 软件安装指南》详细介绍了 Solaris Cluster 安装(请参见本文档中的下载软件包)。

包含 Oracle Solaris Cluster 4.2 的 Solaris 11.2 支持 ACSLSHA 8.4。

Cluster 软件包安装

按照以下过程安装 Cluster 软件。

  1. 创建目录 /opt/OSC

    # mkdir /opt/OSC
    
  2. 您可能已经下载了一个或两个 Solaris Cluster 软件包的 iso 映像,具体取决于您在下载 Oracle Cluster 4.2中确定的操作系统版本。将下载的每个 Cluster 软件包移至 /opt/OSC 目录。

  3. 解压缩软件包。确定每个解压缩软件包的 iso 映像。

  4. 通过每个 iso 映像创建一个伪设备。

    #  /usr/sbin/lofiadm -a /opt/OSC/V46190-01.iso
    
    #  /usr/sbin/lofiadm -a /opt/OSC/osc-4_2_5_1_0-repo-incr.iso
    

    保持对为每个伪设备创建的 /dev/lofi 实例编号的跟踪。

  5. /opt/OSC 目录中,为每个伪设备创建一个挂载点。

    # mkdir mnt
    
    # mkdir mnt1
    
  6. 将伪设备挂载到这些挂载点。

    # mount –F hsfs –o ro /dev/lofi/1 /opt/OSC/mnt
    
    # mount –F hsfs –o ro /dev/lofi/2 /opt/OSC/mnt1
    
  7. 选择以下操作之一:

    • 如果您的 Solaris 版本是 11.2.13 或更高版本,请执行步骤 8。

    • 如果您的 Solaris 版本是 11.2.12 或更低版本且只下载了基本的 Cluster 映像,则现在即可为该基本映像发布系统信息库。

      #  pkg set publisher –G  ’*’  –g  file:/opt/OSC/mnt/repo  ha-cluster
      

      执行本节中的步骤 13 安装软件包。

  8. 在以下步骤中,将 OSC 基本软件包复制到读/写文件系统以将修补程序更新与基本软件包合并。

    创建一个读/写文件系统以便合并 OSC 软件包。

    # cd /opt/OSC
    
    # mkdir merged_iso
    
  9. 将基本 OSC 映像系统信息库复制到创建的目录。

    # cp –r  mnt/repo  merged_iso
    
  10. 将这两个映像一起同步到合并后的目录。

    # rsync –aP mnt1/repo  merged_iso
    
  11. 重新生成系统信息库的搜索索引

    # pkgrepo rebuild –s  merged_iso/repo
    
  12. 发布合并后的软件包的 ha-cluster 系统信息库。

    # pkg set-publisher –g file:/opt/OSC/merged_iso/repo ha-cluster
    
  13. 安装 Oracle Solaris Cluster 软件包。

    # pkg install -–accept ha-cluster-full
    

在相邻节点上重复步骤 1-13。

scinstall 例程

Solaris Cluster 安装例程在两个节点之间执行一系列检查,以确保它可以从两台服务器上监视系统运行并可以控制启动和故障转移操作。

准备步骤:

  1. 在运行 scinstall 之前,为 root 建立一个环境,使其包括刚刚安装的群集实用程序的路径将比较有帮助。编辑 /root/.profile 文件。更改路径语句以包括 /usr/cluster/bin

    export PATH=/usr/cluster/bin:/usr/bin:/usr/sbin
    

    确保在每个节点上执行此更改。要继承新路径,您可以注销并重新登录,或者只是使用 su -

  2. 确认 rpc/bindconfig/local_only 属性为 false

    # svccfg -s network/rpc/bind listprop config/local_only
    

    如果此属性返回 true,则必须将其设置为 false

    # svccfg -s network/rpc/bind setprop config/local_only=false
    

    立即进行确认:

    # svccfg -s network/rpc/bind listprop config/local_only
    
  3. Cluster 软件的一个基本硬件设置要求是,存在两个专用网络连接,保留这两个专用网络连接可确保为两个节点之间的群集操作提供连续通信。

    图 2-1 连接到每个服务器节点上的两个以太网端口的单个 HBCr 磁带库接口卡 显示了这些物理连接,它们均被标记为 (2)。每个连接都始自一个单独的网络适配器以确保没有单点故障会中断 Cluster 的内部通信。scinstall 例程会对其中每个连接进行检查,以确认线路上没有其他网络通信。最后,scinstall 将检验两条线路之间的通信是否正常进行。在检验物理连接后,该例程将激活以 172.16 开头的专用内部地址的每个接口。

    在运行 scinstall 之前,请检验每台服务器上为此专用连接设置的两个网络端口的已分配网络设备 ID。运行 dladm show-phys 以查看接口分配。

    # dladm show-phys
    
  4. 必须设定一个逻辑主机名和 IP 地址以从任一节点表示群集。此逻辑主机会可靠地对网络通信进行响应,无论活动主机是从节点 1 还是从节点 2 运行。

    更新两个节点上的 /etc/hosts 文件以包括该逻辑主机名和逻辑 IP 地址。启动 ACSLS HA(配置 ACSLS HA)后,此主机将处于活动状态。

  5. 要成功安装群集,必须启用 Solaris Common Agent Container。检验是否已启用了此 Agent Container。

    # cacaoadm status
    

    如果状态响应表明 Agent Container 在系统启动时处于 "DISABLED" 状态,则按以下方法启用它:

    # cacaoadm enable
    

运行 scinstall

从两个节点之一运行 scinstall 命令,然后执行以下过程:

  1. 从主菜单中选择 Create a new cluster

  2. 从子菜单中选择 Create a new cluster

  3. 接受初始的默认值。

  4. 选择 Typical 安装。

  5. 为群集分配一个名称,例如 acsls_cluster

  6. 在 "Cluster Nodes" 提示下,输入相邻节点的主机名。如果节点列表正确,则接受它

  7. 定义已确定的用于此目的的两个专用节点互连。允许安装例程激活物理连接的 TCP 链路。

  8. 根据提示创建群集。除非已确定一个特定设备来用作法定设备,否则,允许 scinstall 例程选择法定设备。

  9. 如果实用程序报告群集检查在两个节点上都失败,不用担心。即使是微小的警告,也会报告为故障。检查每个节点的报告,并查找可能返回的任何严重错误或违规。该例程会显示日志文件的路径,该日志文件中报告了关于操作期间遇到的任何错误或警告的详细信息。检查日志文件并纠正查明的任何严重或中度严重问题。

    从其中一个节点运行 scinstall 例程并在两个节点上安装 Solaris Cluster。您应注意到该例程会配置其中一个节点,重新引导该节点,然后配置第二个节点并重新引导第二个节点。

检验群集配置

  1. 检验两个节点是否都包括在群集中。

    # clnode list -v
    Node                Type
    ----                ----
    node1               cluster
    node2               cluster
    
  2. 查看可供 Solaris Cluster 使用的设备的列表。

    # cldevice list -v
    DID Device   Full Device Path
    d1           node1:/dev/rdsk/c0t600A0B800049EDD600000C9952CAA03Ed0
    d1           node2:/dev/rdsk/c0t600A0B800049EDD600000C9952CAA03Ed0
    d2           node1:/dev/rdsk/c0t600A0B800049EE1A0000832652CAA899d0
    d2           node2:/dev/rdsk/c0t600A0B800049EE1A0000832652CAA899d0
    d3           node1:/dev/rdsk/c1t0d0
    d4           node1:/dev/rdsk/c1t1d0
    d5           node2:/dev/rdsk/c1t0d0
    d6           node2:/dev/rdsk/c1t1d0
    

    在此示例中,d1 和 d2 是共享磁盘设备,而 d3 和 d4 是节点 1 引导设备,d5 和 d6 是节点 2 引导设备。注意,可以从任一节点访问 d1 和 d2。

  3. 一个法定机制包含三个或更多设备。在启动期间将使用它来确定哪个节点将成为活动节点。

    确认已配置了完整的法定机制。

    # clquorum list -v
    Quorum              Type
    ------              ----
    d1                  shared_disk
    node1               node
    node2               node
    

    可以选择向法定设备列表添加第二个 shared_disk。

    # clquorum add d2
    # clquorum list -v
    Quorum              Type
    ------              ----
    d1                  shared_disk
    d2                  shared_disk
    node1               node
    node2               node
    

    如果没有列出共享磁盘设备,则确定其设备 id,然后将其添加到法定机制中。

    1. 确定每个共享磁盘的设备 id。

      # cldevice list -v
      
    2. 运行 clsetup 以添加法定设备。

      # clsetup
      
      Select '1' for quorum.
      Select '1' to dd a quorum device.
      Select 'yes' to continue.
      Select 'Directly attached shared disk'
      Select 'yes' to continue.
      Enter the device id (d<n>) for the first shared drive.
      Answer 'yes' to add another quorum device.
      Enter the device id for the second shared drive.
      
    3. 运行 clquorum show 以确认法定成员身份。

      # clquorum show
      
  4. 复查整个群集配置。

    # cluster check -v | egrep -v "not applicable|passed"
    

    查看列表中是否有任何违规的实例。

  5. 检验已注册资源类型的列表。

    # clrt list
    SUNW.LogicalHostname:4
    SUNW.SharedAddress:2
    SUNW.gds:6
    

    如果没有列出 SUNW.gds,则注册它。

    # clrt register SUNW.gds
    

    使用 clrt list 进行确认。