6 Solaris Cluster 4.2 のインストール

Solaris Cluster のインストールについては、Oracle Technology Network のサイトから入手可能な『Oracle Solaris Cluster ソフトウェアのインストールガイド』で詳細に説明されています (このドキュメントのソフトウェアパッケージのダウンロードを参照)。

ACSLSHA 8.4 は、Oracle Solaris Cluster 4.2 を使用した Solaris 11.2 でサポートされています。

Cluster パッケージのインストール

Cluster ソフトウェアをインストールするには、この手順に従います。

  1. /opt/OSC ディレクトリを作成します。

    # mkdir /opt/OSC
    
  2. Oracle Cluster 4.2 のダウンロードで決定した操作システムバージョンによっては、Solaris Cluster パッケージの 1 つまたは 2 つの ISO イメージがダウンロードされていることがあります。ダウンロードされた各 Cluster パッケージを /opt/OSC ディレクトリに移動します。

  3. パッケージを unzip します。unzip されたパッケージごとに 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. マージされたディレクトリに 2 つのイメージを一緒に同期させます。

    # 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 のインストールルーチンは、2 台のノード間で一連のチェックを実行して、両方のサーバーからシステム操作をモニターでき、起動およびフェイルオーバーアクションを制御できることを確認します。

準備の手順:

  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 つのノード間でのクラスタ操作のための中断なしの通信を確保するために予約されている 2 つのプライベートネットワーク接続が存在することです。

    図2-1 各サーバーノード上の 2 つの Ethernet ポートに接続されている単一の HBCr ライブラリインタフェースカードでは、これらの物理的な接続が (2) というラベルで示されています。単一障害点で Cluster の内部通信が中断される可能性がないように、各接続は別々のネットワークアダプタから始まっています。scinstall ルーチンは、2 つの接続をそれぞれチェックして、ほかのネットワークトラフィックが流れていないことを確認します。最後に、scinstall は、2 つのライン間の通信が機能していることを確認します。物理的な接続が確認されたら、このルーチンは各インタフェースを 172.16 で始まる内部のプライベートアドレスに割り当てます。

    scinstall を実行する前に、このプライベート接続用に設定された各サーバー上で、2 つのネットワークポートに割り当てられているネットワークデバイス ID を確認するようにしてください。dladm show-phys を実行して、インタフェースの割り当てを表示します。

    # dladm show-phys
    
  4. どちらか一方のノードからクラスタを表示するには、論理ホスト名と IP アドレスを確立する必要があります。この論理ホストは、アクティブなホストが node1 と node2 のどちらから実行されているのかに関係なく、確実にネットワーク通信に応答します。

    論理ホスト名と論理 IP アドレスが含まれるように、両方のノード上で /etc/hosts ファイルを更新します。ACSLS HA (ACSLS HA の構成) を起動すると、このホストがアクティブになります。

  5. Cluster を正常にインストールするには、Solaris Common Agent Container を有効にします。エージェントコンテナが有効になっていることを確認します。

    # cacaoadm status
    

    システム起動時に、ステータスの応答でエージェントコンテナが「DISABLED」であることが示された場合は、次のように有効にします。

    # cacaoadm enable
    

scinstall の実行

2 台のノードのどちらか一方で、scinstall コマンドを実行してから、この手順に従います。

  1. メインメニューから「Create a new cluster」を選択します。

  2. サブメニューから「Create a new cluster」を選択します。

  3. 初期のデフォルト値を受け入れます。

  4. Typical」インストールを選択します。

  5. クラスタに名前 (acsls_cluster など) を割り当てます。

  6. クラスタノードのプロンプトで、隣接するノードのホスト名を入力します。ノードリストが正しい場合は、それを受け入れます。

  7. この目的のために特定された 2 台のプライベートノードの相互接続を定義します。TCP リンクを物理的な接続に割り当てることをインストールルーチンに許可します。

  8. プロンプトに従って、クラスタを作成します。定足数デバイスとして機能する特定のデバイスを特定した場合を除いて、定足数デバイスを選択することを scinstall ルーチンに許可します。

  9. クラスタチェックが両方のノードで失敗したことがユーティリティーでレポートされても心配しないでください。マイナーな警告でも失敗はレポートされます。各ノードのレポートを確認し、重大なエラーや違反が返されていないか探してください。このルーチンでは、操作中に発生したエラーや警告に関する詳細がレポートされているログファイルへのパスが表示されます。ログファイルを確認し、特定された重大な問題または中程度の重大な問題を修正します。

    scinstall ルーチンは 1 つのノードから実行され、Solaris Cluster を両方のノード上にインストールします。ルーチンが 1 つのノードを構成し、そのノードをリブートし、次に 2 番目のノードを構成し、その 2 番目のノードをリブートすることを確認します。

クラスタ構成の確認

  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 は node1 のブートデバイス、d5 および d6 は node2 のブートデバイスです。d1 および d2 には、どちらか一方のノードからアクセスできます。

  3. 定足数は、3 つ以上のデバイスで構成されます。これはアクティブなノードになるノードを特定するために、起動イベント時に使用されます。

    完全な定足数が構成されたことを確認します。

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

    オプションで、2 番目の 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 を実行して、確認します。