ページの先頭行へ戻る
PRIMECLUSTER  導入運用手引書 4.7

3.2.3 管理OS異常切替機能を使用して複数の管理OS上のゲストOS間でクラスタシステムを構築する場合

管理OS異常切替機能を使用して、複数の管理OS上のゲスト間で、クラスタシステムを構築する場合の関連ソフトウェアのインストールと設定について説明します。

図3.4 管理OS異常時の切替機能を使用する場合のクラスタシステム構築の流れ

3.2.3.1 ソフトウェアのインストールと設定(管理OS)

PRIMECLUSTERに関連したソフトウェアのインストール後、導入/運用をする前に、OS、およびハードウェア等の設定が必要となります。
必要に応じて、以下の作業を行ってください。

3.2.3.1.1 ネットワークの設定

管理OSをクラスタとして動作させるために、ネットワークの設定が必要です。

3.2.3.1.2 NTPの設定

NTPは、クラスタシステムを構築する各ノードの時刻を同期させるための設定です。クラスタを構築する際には必ず行う必要があります。
本設定はPRIMECLUSTERをインストールする前に行ってください。

3.2.3.1.3 管理OSの設定(ゲストOSのOSインストール前)

仮想マシン機能のゲストOSをクラスタとして動作させる場合、ディスク装置、仮想ブリッジ、仮想ディスク、ユーザIDの作成、ゲストOSの初期設定が、管理OS上で必要です。

本設定は、管理OSへのOSインストール後、かつ、ゲストOSへのOSインストール前に、管理OS上で実施してください。

  1. 仮想ディスクの作成

    ゲストOSで共用ディスクまたはサーバ間ミラーリングを使用する場合、仮想ディスクを作成します。

    virtio-SCSIデバイスまたはvirtioブロックデバイスを作成します。作成手順については、“Configuring and managing virtualization”を参照してください。

    注意

    • ゲストに追加するディスクは、by-id名で指定してください。

    • パーティションやファイルではなく、分割していないディスクをゲストに追加してください。

  2. 関連ソフトウェアのインストールと設定

    管理OSに、ゲストOSのシステムディスクを使用するために必要なソフトウェア製品(ETERNUSマルチパスドライバ)のインストールと設定を行います。インストールおよび設定の手順については、ETERNUSマルチパスドライバのソフトウェア説明書を参照してください。

  3. ゲストOSのシステムディスクのミラー設定

    ゲストOSのシステムディスクのミラーの設定を行う場合には、管理OSで作成したローカルクラスまたは共用クラスのミラーボリュームをゲストOSに設定してください。

    参照

    設定の詳細は、“Configuring and managing virtualization”を参照してください。

3.2.3.1.4 管理OSの設定(ゲストOSのOSインストール後)

本設定は、管理OS、ゲストOSへのOSインストール後に以下の手順で実施してください。

  1. 仮想ディスクの設定

    ゲストOSで共用ディスクまたはサーバ間ミラーリングを使用するためには、仮想ディスクの設定が必要です。

    KVM環境での仮想ディスクの設定手順は、以下のとおりです。

    virtio-SCSIデバイスを共用ディスクとして使用する場合
    1. ゲストOSを停止します。

    2. 管理OS上のゲスト設定ファイル(/etc/libvirt/qemu/ゲスト名.xml)に記述されているvirtio-SCSIデバイスの設定に、shareable と cache='none' を記述します。また、device属性に 'lun' 以外が設定されている場合は、'lun' に修正します。

      # virsh edit ゲスト名

      変更前の例

        :
        <disk type='block' device='disk'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/scsi-36000b5d0006a0000006a1296001f0000'/>
          <target dev='sdh' bus='scsi'/>
          <address type='drive' controller='0' bus='0' target='0' unit='7'/>
        </disk>
        :

      変更後の例

        :
        <disk type='block' device='lun'>
          <driver name='qemu' type='raw' cache='none'/>
          <source dev='/dev/disk/by-id/scsi-36000b5d0006a0000006a1296001f0000'/>
          <target dev='sdh' bus='scsi'/>
          <shareable/>
          <address type='drive' controller='0' bus='0' target='0' unit='7'/>
        </disk>
        :
    3. ゲストOSを起動します。

    virtioブロックデバイスを共用ディスクとして使用する場合
    1. ゲストOSを停止します。

    2. 仮想マシンマネージャから停止したゲストOSを選択し、ツールバーの[Open]ボタンをクリックします。

    3. 表示されたウィンドウのツールバーのをクリックし、ハードウェアの詳細情報を表示します。

    4. 左のハードウェア一覧で仮想ディスク(VirtIO Disk)を選択します。

    5. [仮想ディスク]画面で、以下の設定を行い、[適用]をクリックします。

      - 共有可能のチェックボックスにチェックします。

      - キャッシュモデルに 'none' を選択します。

    6. 管理OSで、rpm(8)コマンドを使用してlibvirtパッケージのバージョンを確認します。

      # rpm -qi libvirt
    7. libvirtパッケージのバージョンが libvirt-0.9.4-23.el6_2.4 以降の場合、管理OS上のゲスト設定ファイル(/etc/libvirt/qemu/ゲスト名.xml)に設定されている仮想ディスクの device属性を、diskから lun に変更します。

      # virsh edit ゲスト名

      変更前の例

        :
        <disk type='block' device='disk'>
          <driver name='qemu' type='raw' cache='none'/>
          <source dev='/dev/disk/by-id/scsi-1FUJITSU_30000085002B'/>
          <target dev='vdb' bus='virtio'/>
          <shareable/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </disk>
        :

      変更後の例

        :
        <disk type='block' device='lun'>
          <driver name='qemu' type='raw' cache='none'/>
          <source dev='/dev/disk/by-id/scsi-1FUJITSU_30000085002B'/>
          <target dev='vdb' bus='virtio'/>
          <shareable/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </disk>
        :
    8. ゲストOSを起動します。

    virtio-SCSIデバイスをサーバ間ミラーリングで使用する場合
    1. ゲストOSを停止します。

    2. 管理OS上のゲスト設定ファイル(/etc/libvirt/qemu/ゲスト名.xml)に記述されているvirtio-SCSIデバイスの設定において、device属性に 'lun' 以外が設定されている場合は、'lun' に修正します。

      # virsh edit ゲスト名

      変更前の例

        :
        <disk type='block' device='disk'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/scsi-36000b5d0006a0000006a1296001f0000'/>
          <target dev='sdh' bus='scsi'/>
          <address type='drive' controller='0' bus='0' target='0' unit='7'/>
        </disk>
        :

      変更後の例

        :
        <disk type='block' device='lun'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/scsi-36000b5d0006a0000006a1296001f0000'/>
          <target dev='sdh' bus='scsi'/>
          <address type='drive' controller='0' bus='0' target='0' unit='7'/>
        </disk>
        :
    3. ゲストOSを起動します。

    virtioブロックデバイスをサーバ間ミラーリングで使用する場合
    1. ゲストOSを停止します。

    2. 仮想マシンマネージャから停止したゲストOSを選択し、ツールバーの[Open]ボタンをクリックします。

    3. 表示されたウィンドウのツールバーのをクリックし、ハードウェアの詳細情報を表示します。

    4. 左のハードウェア一覧で仮想ディスク(VirtIO Disk)を選択します。

    5. [仮想ディスク]画面で、[Advanced options]の[Serial number]にシリアル番号を設定し、[適用]をクリックします。
      シリアル番号は、仮想マシン内で重複しない10文字以内の文字列にしてください。

    6. 管理OSで、rpm(8)コマンドを使用してlibvirtパッケージのバージョンを確認します。

      # rpm -qi libvirt
    7. libvirtパッケージのバージョンが libvirt-0.9.4-23.el6_2.4 以降の場合、管理OS上のゲスト設定ファイル(/etc/libvirt/qemu/ゲスト名.xml)に設定されている仮想ディスクの device属性を、diskから lun に変更します。

      # virsh edit ゲスト名

      変更前の例

        :
        <disk type='block' device='disk'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/scsi-1FUJITSU_30000085002B'/>
          <target dev='vdb' bus='virtio'/>
          <serial>シリアル番号</serial>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </disk>
        :

      変更後の例

        :
        <disk type='block' device='lun'>
          <driver name='qemu' type='raw'/>
          <source dev='/dev/disk/by-id/scsi-1FUJITSU_30000085002B'/>
          <target dev='vdb' bus='virtio'/>
          <serial>シリアル番号</serial>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
        </disk>
        :
    8. ゲストOSを起動します。

    9. ゲストOS上で、仮想ディスクのby-idファイルが存在することを確認します。

      ・サーバ間ミラーリングで使用するすべてのvirtioブロックデバイスに対し、by-idファイルが存在することを確認してください。

      ・by-idファイルのファイル名に、手順5.で設定したシリアル番号が含まれることを確認してください。

      # ls -l /dev/disk/by-id
      : lrwxrwxrwx 1 root root 9 Apr 18 08:44 virtio-disk001 -> ../../vdg lrwxrwxrwx 1 root root 9 Apr 18 08:43 virtio-disk002 -> ../../vdh : シリアル番号
  2. 仮想ブリッジ(管理LAN/業務LAN/クラスタインタコネクト)の設定

    管理LAN、業務LAN、クラスタインタコネクトなど、仮想ドメインが使用するネットワークインタフェースについては、事前に仮想ネットワークとして仮想ブリッジの設定を行う必要があります。

    (1) 管理LAN用の仮想ブリッジの設定

    [RHEL8の場合]

    /etc/sysconfig/network-scripts/ifcfg-ethXファイルを以下のように編集します。

    DEVICE=ethX
    BOOTPROTO=none
    ONBOOT=yes
    BRIDGE=brX

    仮想ブリッジのインタフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-brXを新規に作成します。

    DEVICE=brX
    TYPE=Bridge
    BOOTPROTO=static
    IPADDR=xxx.xxx.xxx.xxx
    NETMASK=xxx.xxx.xxx.xxx
    ONBOOT=yes

    注意

    IPADDRとNETMASKについては、外部と接続するためのIPアドレスとネットマスクを設定してください。IPv6アドレスが必要な場合は、IPv6アドレスが割り当てられるように設定してください。

    [RHEL9の場合]

    ブリッジインターフェースを作成します。

    # nmcli connection add type bridge con-name brX ifname brX

    既存の接続プロファイルをブリッジに割り当てます。

    # nmcli connection modify ethX master brX

    ブリッジのIPアドレスを設定します。

    # nmcli connection modify brX ipv4.addresses 'xxx.xxx.xxx.xxx/xx'
    # nmcli connection modify brX ipv4.method manual

    注意

    ipv4.addressesには、外部と接続するためのIPアドレスとプレフィックスを指定してください。

    IPv6アドレスが必要な場合は、IPv6アドレスが割り当てられるように設定してください。

    接続をアクティベートします。

    # nmcli connection up brX

    (2) 業務LAN用/クラスタインタコネクト用の仮想ブリッジの設定

    [RHEL8の場合]

    /etc/sysconfig/network-scripts/ifcfg-ethXファイルを以下のように編集します。

    DEVICE=ethX
    BOOTPROTO=none
    ONBOOT=yes
    BRIDGE=brX

    仮想ブリッジのインタフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-brXを新規に作成します。

    DEVICE=brX
    TYPE=Bridge
    ONBOOT=yes

    [RHEL9の場合]

    ブリッジインターフェースを作成します。

    # nmcli connection add type bridge con-name brX ifname brX

    既存の接続プロファイルをブリッジに割り当てます。

    # nmcli connection modify ethX master brX

    ブリッジのIPアドレスを設定します。

    # nmcli connection modify brX ipv4.addresses 'xxx.xxx.xxx.xxx/xx'
    # nmcli connection modify brX ipv4.method manual

    注意

    ipv4.addressesには、外部と接続するためのIPアドレスとプレフィックスを指定してください。

    IPv6アドレスが必要な場合は、IPv6アドレスが割り当てられるように設定してください。

    接続をアクティベートします。

    # nmcli connection up brX
  3. 管理OSにおけるゲストOSの設定(KVM環境の場合)

    ゲストOSの動作中に管理OSを誤ってシャットダウンした場合でも、ゲストOSを正常に停止させるために、以下の設定を実施します。

    /etc/sysconfig/libvirt-guestsに、以下の2つの値を定義します。すでに値が定義されている場合、その値を変更してください。

    • ON_SHUTDOWN=shutdown

    • SHUTDOWN_TIMEOUT=300

    SHUTDOWN_TIMEOUTには、ゲストOSのシャットダウンのタイムアウト時間(秒)を指定します。ゲストOSのシャットダウンにかかる時間を見積もり、設定してください。複数のゲストOSが設定されている場合は、シャットダウンにかかる時間の大きい方を設定してください。上記は300秒(5分)とした場合の設定例です。

    注意

    • /etc/sysconfig/libvirt-guests を設定するときは、設定値とコメントを同一行に記載しないでください。

    • 運用中に /etc/sysconfig/libvirt-guests の設定を変更する場合は、“9.4.1.3 /etc/sysconfig/libvirt-guests の設定変更”の手順で必ず実施してください。

  4. libvirt-guestsサービスの起動

    全ノードで以下のコマンドを実行し、libvirt-guestsサービスの起動状態を確認します。

    # /usr/bin/systemctl status libvirt-guests.service
    libvirt-guests.service - Suspend/Resume Running libvirt Guests
      Loaded: loaded (/usr/lib/systemd/system/libvirt-guests.service; disabled; vendor preset: disabled)
      Active: inactive (dead)

    "Active:"の項目が "inactive"の場合は、以下のコマンドを実行します。

    "Active:"の項目が "active"の場合は、以下のコマンド実行は不要です。

    # /usr/bin/systemctl start libvirt-guests.service
  5. libvirt-guestsサービスの起動設定

    全ノードで、現在のlibvirt-guestsサービスが有効化されているかを確認します。

    # /usr/bin/systemctl list-unit-files --type=service | grep libvirt-guests.service
    libvirt-guests.service                        disabled 

    上記で“disabled”と表示された場合は、以下のコマンドを実行します。

    "enabled"と表示された場合は、以下のコマンド実行は不要です。

    # /usr/bin/systemctl enable libvirt-guests.service
  6. ユーザIDの作成

    ポイント

    作成するユーザは、シャットダウン機構によってノード強制停止実行するため、管理OSにログインするユーザとなります。シャットダウン機構の設定時にこのユーザIDとパスワードを使用します。

    PRIMECLUSTERによるゲストOS制御のため、シャットダウン機構用のユーザを設定する必要があります。

    (1) 一般権限ユーザID(任意)の作成

    シャットダウン機構用の一般権限ユーザID(任意)を管理OSに作成してください。

    # useradd <ユーザID>

    (2) sudoコマンドの設定

    シャットダウン機構用の一般権限ユーザID(任意)は、rootユーザとしてコマンドを実行できるように、sudoコマンドの設定が必要です。

    visudoコマンドで、手順(1)で作成した一般権限ユーザIDに、パスワード入力なしでのコマンド実行を許可するよう、以下の設定を追加してください。

    <ユーザID>   ALL=(root) NOPASSWD: ALL

    また、ttyなしでの sudo実行を許可するため、以下の行の先頭に #を付加し、コメントアウトしてください。

    Defaults    requiretty
3.2.3.1.5 管理OSへのPRIMECLUSTERのインストール

管理OSにPRIMECLUSTERをインストールします。

詳細は、“3.3 PRIMECLUSTERのインストール”を参照してください。

3.2.3.1.6 クラスタ高速切替機能の設定

クラスタ高速切替機能に関連するソフトウェアとハードウェアの設定を行う必要があります。

本設定はOSおよびPRIMECLUSTERインストール後に行ってください。

詳しくは、“3.1.6 クラスタ高速切替機能の設定”を参照してください。

3.2.3.1.7 カーネルパラメタの確認/設定

PRIMECLUSTERに関連するソフトウェアを運用する際には、環境に応じて、OSのカーネルパラメタを調整する必要があります。

本設定はPRIMECLUSTERインストール後の再起動を行う前に行ってください。

対象ノード:

PRIMECLUSTERをインストールするすべてのノード

使用する製品/コンポーネントによって、必要とするカーネルパラメタが異なります。

PRIMECLUSTERデザインシートの“セットアップ(初期構成)”を確認し、カーネルパラメタの変更が必要な場合は設定し直してください。

参照

カーネルパラメタについては、“3.1.7 カーネルパラメタの確認/設定を参照してください。

注意

変更したカーネルパラメタを有効にするには、OSを再起動する必要があります。

3.2.3.2 クラスタ構築の準備(管理OS)

Web-Based Admin View画面の起動など、クラスタ構築時の事前準備を管理OS上で行います。詳細は“第4章 クラスタ構築の準備”を参照してください。

3.2.3.3 クラスタの構築(管理OS)

管理OS上のPRIMECLUSTERのクラスタ構築を行います。詳細は、“第5章 クラスタの構築”を参照してください。構築は、"5.1.1 CF、CIPの設定"、“5.1.2 シャットダウン機構の設定”まで実行してください。なお、シャットダウン機構は、ネイティブ間の設定と同様に設定します。“5.1.2 シャットダウン機構の設定”を参照し、ハードウェアの機種/構成を確認して適切なシャットダウンエージェントを設定してください。

注意

  • CFの設定後、管理OS上のクラスタシステムのタイムアウト値を20秒に設定してください。設定方法の詳細については、“11.3.1 CFハートビートのタイムアウト検出時間の変更”を参照してください。

  • 管理OSのクラスタインタコネクトのLANは、ゲストOSと共用し、クラスタシステム毎にVirtual LANでネットワークを分離します。

3.2.3.4 ソフトウェアのインストールと設定(ゲストOS)

管理OSのクラスタの構築完了後、ゲストOSでPRIMECLUSTERに関連したソフトウェアのインストール、実際に導入/運用を行ううえでOS、およびハードウェア等に関して設定を行う必要があります。

必要に応じて、以下の作業を行ってください。

3.2.3.4.1 ゲストOSの設定

本設定は、クラスタシステムを構成するすべてのゲストOSに対し、以下の手順で実施してください。

  1. ネットワーク設定

    ゲストOSで、業務LAN、管理LANのIPアドレスなどネットワークの設定をしてください。

    本設定はOSインストール後に行ってください。

    参照

    PRIMECLUSTERシステムが使用する業務LAN、管理LANを変更する場合には“9.2 ネットワーク環境の変更”を参照してください。

    参考

    Web-Based Admin View では、PRIMECLUSTERシステムが導入された時のノード名に相当するホスト名のIPアドレスが割り当てられているインタフェースを、クラスタノード・クラスタ管理サーバ間やクラスタ管理サーバ・クライアント間の通信経路として使用するように自動設定します。

  2. ゲストOSへの添付ソフトウェアのインストール

    “Linuxユーザーズマニュアル”を参照し、ゲストOSに添付ソフトウェアをインストールしてください。

  3. 初期設定

    ゲストOSの初期設定をしてください。

    参照

    設定の詳細は、“Configuring and managing virtualization”を参照してください。

  4. ユーザIDの作成(PRIMEQUESTのみ)

    PRIMEQUESTの管理OS異常切替機能で使用するユーザIDを作成してください。

    ポイント

    作成するユーザは、管理OS異常切替機能がゲストOSにログインするユーザとなります。管理OS異常切替機能の設定時にこのユーザIDとパスワードを使用します。

    1. 一般権限ユーザID(任意)の作成

      管理OS異常切替機能用の一般権限ユーザID(任意)をゲストOSに作成してください。

      # useradd <ユーザID>
    2. sudoコマンドの設定

      管理OS異常切替機能用の一般権限ユーザID(任意)は、rootユーザとしてコマンドを実行できるように、sudoコマンドの設定が必要です。

      visudoコマンドで、手順(1)で作成した一般権限ユーザIDに、パスワード入力なしでのコマンド実行を許可するよう、以下の設定を追加してください。

      <ユーザID> ALL=(root) NOPASSWD: ALL

      また、ttyなしでの sudo実行を許可するため、以下の行の先頭に #を付加し、コメントアウトしてください。

      Defaults requiretty
  5. ゲストドメイン名の確認

    シャットダウン機構の設定時に使用するため、ゲストOSのインストール時に設定したゲストドメイン名を確認してください。確認方法は、“Configuring and managing virtualization”を参照してください。

3.2.3.4.2 NTPの設定(ゲストOS)

NTPは、クラスタシステムを構築する各ノードの時刻を同期させるための設定です。クラスタを構築する際には必ず行う必要があります。

本設定はPRIMECLUSTERをインストールする前に、ゲストOS上で行ってください。

参照

設定の詳細は、“Configuring and managing virtualization”を参照してください。

3.2.3.4.3 ゲストOSへのPRIMECLUSTERのインストール

ゲストOSにPRIMECLUSTERをインストールします。

詳細は、“3.3 PRIMECLUSTERのインストール”を参照してください。

3.2.3.4.4 カーネルパラメタの確認/設定

PRIMECLUSTERに関連するソフトウェアを運用する際には、環境に応じてOSのカーネルパラメタを調整する必要があります。

本設定はPRIMECLUSTERインストール後の再起動を行う前に行ってください。

対象ノード:

PRIMECLUSTERをインストールするすべてのノード

使用する製品/コンポーネントによって、必要とするカーネルパラメタが異なります。

PRIMECLUSTERデザインシートの“セットアップ(初期構成)”を確認し、カーネルパラメタの変更が必要な場合は設定し直してください。

参照

カーネルパラメタについては、“3.1.7 カーネルパラメタの確認/設定を参照してください。

注意

変更したカーネルパラメタを有効にするには、OSを再起動する必要があります。

3.2.3.4.5 アプリケーションのインストールと設定

PRIMECLUSTERシステム上で動作させるソフトウェアのインストール、および環境設定を必要に応じて行います。

詳細は、“3.4 アプリケーションのインストールと環境設定”を参照してください。

3.2.3.5 クラスタ構築の準備(ゲストOS)

Web-Based Admin View画面の起動など、クラスタ構築時の事前準備をゲストOS上で行います。詳細は“第4章 クラスタ構築の準備”を参照してください。

3.2.3.6 クラスタの構築(ゲストOS)

ゲストOS上にクラスタの構築を行います。各項目の詳細は“第5章 クラスタの構築”を参照してください。

注意

  • ゲストOSのクラスタインタコネクトのLANは、他のゲストOS、管理OSと共用し、クラスタシステム毎にVirtual LANでネットワークを分離します。

  • CFの設定で、ゲストOS上のタイムアウト値を10秒から変更しないでください。

  • 生存優先度の設定指針については、“5.1.2 シャットダウン機構の設定”の“◆生存優先度の設計指針”を参照してください。

3.2.3.7 クラスタアプリケーションの構築(ゲストOS)

ゲストOSでクラスタアプリケーションの作成を行います。詳細は“第6章 クラスタアプリケーションの構築”を参照してください。

注意

ゲストOSのクラスタアプリケーションの作成で、RMSの優先度(ShutdownPriority)属性は設定しないでください。