管理OS異常切替機能を使用して、複数の管理OS上のゲスト間で、クラスタシステムを構築する場合の関連ソフトウェアのインストールと設定について説明します。
図3.1 管理OS異常時の切替機能を使用する場合のクラスタシステム構築の流れ
PRIMECLUSTERに関連したソフトウェアのインストール後、実際に導入/運用を行ううえでOS、およびハードウェア等に関して設定を行う必要があります。
必要に応じて、以下の作業を行ってください。
管理OSをクラスタとして動作させるために、ネットワークの設定が必要です。
クラスタシステムを構築する各ノードの時刻を同期させるための設定です。クラスタを構築する際には必ず行う必要があります。
本設定はPRIMECLUSTERをインストールする前に行ってください。
仮想マシン機能のゲストOSをクラスタとして動作させる場合、ディスク装置、仮想ブリッジ、仮想ディスク、ユーザIDの作成、ゲストOSの初期設定が、管理OS上で必要です。
本設定は、管理OSへのOSインストール後、かつ、ゲストOSへのOSインストール前に、管理OS上で実施してください。
仮想ディスクの作成
ゲストOSで共用ディスクまたはサーバ間ミラーリングを使用する場合、仮想ディスクを作成します。
virtio-SCSIデバイスまたはvirtioブロックデバイスを作成します。作成手順については、“Red Hat Enterprise Linux 6 Virtualization Administration Guide”または“Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide”を参照してください。
注意
ゲストに追加するディスクは、by-id名で指定してください。
パーティションやファイルではなく、分割していないディスクをゲストに追加してください。
関連ソフトウェアのインストールと設定
管理OSに、ゲストOSのシステムディスクを使用するために必要なソフトウェア製品(ETERNUSマルチパスドライバ)のインストールと設定を行います。インストールおよび設定の手順については、ETERNUSマルチパスドライバのソフトウェア説明書を参照してください。
ゲストOSのシステムディスクのミラー設定
ゲストOSのシステムディスクのミラーの設定を行う場合には、管理OSで作成したローカルクラスまたは共用クラスのミラーボリュームをゲストOSに設定してください。
参照
設定の詳細は“Red Hat Enterprise Linux 6 Virtualization Administration Guide”または“Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide”を参照してください。
本設定は、管理OS、ゲストOSへのOSインストール後に以下の手順で実施してください。
仮想ディスクの設定
ゲストOSで共用ディスクまたはサーバ間ミラーリングを使用するためには、仮想ディスクの設定が必要です。
KVM環境での仮想ディスクの設定手順は、以下のとおりです。
ゲストOSを停止します。
管理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> :
ゲストOSを起動します。
ゲストOSを停止します。
仮想マシンマネージャから停止したゲストOSを選択し、ツールバーの[Open]ボタンをクリックします。
表示されたウィンドウのツールバーのをクリックし、ハードウェアの詳細情報を表示します。
左のハードウェア一覧で仮想ディスク(VirtIO Disk)を選択します。
[仮想ディスク]画面で、以下の設定を行い、[適用]をクリックします。
- 共有可能のチェックボックスにチェックします。
- キャッシュモデルに 'none' を選択します。
管理OSで、rpm(8)コマンドを使用してlibvirtパッケージのバージョンを確認します。
# rpm -qi libvirt
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>
:
ゲストOSを起動します。
ゲストOSを停止します。
管理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>
:
ゲストOSを起動します。
ゲストOSを停止します。
仮想マシンマネージャから停止したゲストOSを選択し、ツールバーの[Open]ボタンをクリックします。
表示されたウィンドウのツールバーのをクリックし、ハードウェアの詳細情報を表示します。
左のハードウェア一覧で仮想ディスク(VirtIO Disk)を選択します。
[仮想ディスク]画面で、[Advanced options]の[Serial number]にシリアル番号を設定し、[適用]をクリックします。
シリアル番号は、仮想マシン内で重複しない10文字以内の文字列にしてください。
管理OSで、rpm(8)コマンドを使用してlibvirtパッケージのバージョンを確認します。
# rpm -qi libvirt
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> :
ゲストOSを起動します。
ゲスト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 : シリアル番号
仮想ブリッジ(管理LAN/業務LAN/クラスタインタコネクト)の設定
管理LAN、業務LAN、クラスタインタコネクトなど、仮想ドメインが使用するネットワークインタフェースについては、事前に仮想ネットワークとして仮想ブリッジの設定を行う必要があります。
(1) 管理LAN用の仮想ブリッジの設定
/etc/sysconfig/network-scripts/ifcfg-ethXファイルを以下のように編集します。
DEVICE=ethX HWADDR=XX:XX:XX:XX:XX:XX BOOTPROTO=none ONBOOT=yes BRIDGE=brX
注意
HWADDRについては、お使いのネットワークインタフェースのMACアドレスを設定してください。
仮想ブリッジのインタフェース設定ファイル /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アドレスが割り当てられるように設定してください。
(2) 業務LAN用/クラスタインタコネクト用の仮想ブリッジの設定
/etc/sysconfig/network-scripts/ifcfg-ethXファイルを以下のように編集します。
DEVICE=ethX HWADDR=XX:XX:XX:XX:XX:XX BOOTPROTO=none ONBOOT=yes BRIDGE=brX
注意
HWADDRについては、お使いのネットワークインタフェースのMACアドレスを設定してください。
仮想ブリッジのインタフェース設定ファイル /etc/sysconfig/network-scripts/ifcfg-brXを新規に作成します。
DEVICE=brX TYPE=Bridge ONBOOT=yes
管理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 の設定変更”の手順で必ず実施してください。
ユーザ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
管理OSにPRIMECLUSTERをインストールします。
詳細は、“3.3 PRIMECLUSTERのインストール”を参照してください。
クラスタ高速切替機能に関連するソフトウェアとハードウェアの設定を行う必要があります。
本設定はOSおよびPRIMECLUSTERインストール後に行ってください。
詳しくは、“3.1.6 クラスタ高速切替機能の設定”を参照してください。
PRIMECLUSTERに関連するソフトウェアを運用する際には、環境に応じて、OSのカーネルパラメタを調整する必要があります。
本設定はPRIMECLUSTERインストール後の再起動を行う前に行ってください。
PRIMECLUSTERをインストールするすべてのノード
使用する製品/コンポーネントによって、必要とするカーネルパラメタが異なります。
カーネルパラメタ・ワークシートを確認し、カーネルパラメタの変更が必要な場合は設定し直してください。
参照
カーネルパラメタについては、“A.6 カーネルパラメタ・ワークシート”を参照してください。
注意
変更したカーネルパラメタを有効にするには、OSを再起動する必要があります。
Web-Based Admin View画面の起動など、クラスタ構築時の事前準備を管理OS上で行います。詳細は“第4章 クラスタ構築の準備”を参照してください。
管理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でネットワークを分離します。
管理OSのクラスタの構築完了後、ゲストOSでPRIMECLUSTERに関連したソフトウェアのインストール、実際に導入/運用を行ううえでOS、およびハードウェア等に関して設定を行う必要があります。
必要に応じて、以下の作業を行ってください。
参照
KVM環境の構成については、“A.12.2 複数の管理OS上のゲストOS間でクラスタシステムを構築する場合”を参照してください。
クラスタシステムを構築する各ノードの時刻を同期させるための設定です。クラスタを構築する際には必ず行う必要があります。
本設定はPRIMECLUSTERをインストールする前に、ゲストOS上で行ってください。
参照
設定の詳細は“Red Hat Enterprise Linux 6 Virtualization Administration Guide”または“Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide”を参照してください。
クラスタシステムを構築するゲストOSで、業務LAN、管理LANのIPアドレスなどネットワークの設定が必要です。
本設定はOSインストール後に行ってください。
ゲストOSへの添付ソフトウェアのインストールが完了した後、ゲストOSの初期設定をしてください。
本設定は、クラスタシステムを構成するすべてのゲストOSに対し、実行してください。
参照
設定の詳細は“Red Hat Enterprise Linux 6 Virtualization Administration Guide”または“Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide”を参照してください。
注意
ゲストOSのインストール時に設定したゲストドメイン名をシャットダウン機構の設定時に使用します。
ゲストドメイン名の確認方法は、“Red Hat Enterprise Linux 6 Virtualization Administration Guide”または“Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide”を参照してください。
参照
PRIMECLUSTERシステムが使用する業務LAN、管理LANを変更する場合には“9.2 ネットワーク環境の変更”を参照してください。
参考
Web-Based Admin View では、PRIMECLUSTERシステムが導入された時のノード名に相当するホスト名のIPアドレスが割り当てられているインタフェースを、クラスタノード・クラスタ管理サーバ間やクラスタ管理サーバ・クライアント間の通信経路として使用するように自動設定します。
ゲストOSにPRIMECLUSTERをインストールします。
詳細は、“3.3 PRIMECLUSTERのインストール”を参照してください。
PRIMECLUSTERに関連するソフトウェアを運用する際には、環境に応じてOSのカーネルパラメタを調整する必要があります。
本設定はPRIMECLUSTERインストール後の再起動を行う前に行ってください。
PRIMECLUSTERをインストールするすべてのノード
使用する製品/コンポーネントによって、必要とするカーネルパラメタが異なります。
カーネルパラメタ・ワークシートを確認し、カーネルパラメタの変更が必要な場合は設定し直してください。
参照
カーネルパラメタについては、“A.6 カーネルパラメタ・ワークシート”を参照してください。
注意
変更したカーネルパラメタを有効にするには、OSを再起動する必要があります。
PRIMECLUSTERシステム上で動作させるソフトウェアのインストール、および環境設定を必要に応じて行います。
詳細は、“3.4 アプリケーションのインストールと環境設定”を参照してください。
Web-Based Admin View画面の起動など、クラスタ構築時の事前準備をゲストOS上で行います。詳細は“第4章 クラスタ構築の準備”を参照してください。
ゲストOS上にクラスタの構築を行います。各項目の詳細は“第5章 クラスタの構築”を参照してください。
注意
ゲストOSのクラスタインタコネクトのLANは、他のゲストOS、管理OSと共用し、クラスタシステム毎にVirtual LANでネットワークを分離します。
CFの設定で、ゲストOS上のタイムアウト値を10秒から変更しないでください。
生存優先度の設定指針については、“5.1.2 シャットダウン機構の設定”の“◆生存優先度の設計指針”を参照してください。
ゲストOSでクラスタアプリケーションの作成を行います。詳細は“第6章 クラスタアプリケーションの構築”を参照してください。
注意
ゲストOSのクラスタアプリケーションの作成で、RMSの優先度(ShutdownPriority)属性は設定しないでください。