第9章 Oracle VDI の監視と維持 目次
9.8. Oracle VDI Centers とフェイルオーバー
フェイルオーバーを使用すると、Oracle VDI Center は一次ホストが消失しても自動的に回復することができます。
フェイルオーバーは Oracle VDI に高可用性が構成されている場合にのみ使用できます。Oracle VDI Center に 1 つ目 の二次ホストを追加すると、高可用性は自動的に有効になります。Oracle VDI Center の構成と高可用性の詳細につい ては、「Oracle VDI Center およびホストについて」を参照してください。
vda-config コマンドを使用して、Oracle VDI Center にホストを追加および削除します。詳細については、次のセク ションを参照してください。
「一次ホストで Oracle VDI を構成する方法」
「二次ホストで Oracle VDI を構成する方法」
「ホストで Oracle VDI を再構成する方法」
フェイルオーバーは自動的に実行され、Oracle VDI Center の一次ホストの障害によってトリガーされます。フェイル オーバーの実行中に、レプリケーションデータベースを持つ二次ホストが自動的に昇格され、Oracle VDI Center の新 しい一次ホストになります。元の一次ホストへの接続が復元されると、元の一次ホストは二次ホストとして再構成さ れ、レプリケーションデータベースをホストします。
レプリケーションデータベースホストを変更する方法
Oracle VDI Center が持つことができるレプリケーションデータベースは 1 つのみであるため、ほかのすべての二次 ホストはデータベースロールを持っていません。レプリケーションホストを変更するには、「レプリケーションデー タベースホストを変更する方法」を参照してください。組み込みの MySQL サーバーデータベースではなくリモート データベースを使用している場合、そのデータベースの高可用性は Oracle VDI 以外で構成されます。
Oracle VDI Center の一次ホストを手動で変更するには、「Oracle VDI Center の一次ホストを変更する方法」を参照 してください。
Oracle VDI Center エージェントは、Oracle VDI ホスト間でのセキュリティー保護された通信を提供するコンポーネン トです。このエージェントは、Oracle VDI Center に対する自動フェイルオーバーとそのほかの設定の変更を処理しま す。
9.8.1. レプリケーションデータベースホストを変更する方法
組み込みの MySQL サーバーデータベースを使用している場合、Oracle VDI Center の一次ホストが Oracle VDI デー タベース (マスターデータベース) を実行します。Oracle VDI Center に最初に追加された二次ホストは、レプリケー ションデータベース (スレーブデータベース) をホストするように構成されます。レプリケーションデータベースホ ストを変更するには、次の手順に従います。マスターデータベースを実行するホストを変更するには、「Oracle VDI Center の一次ホストを変更する方法」を参照してください。
Oracle VDI Manager の手順
1. 「設定」 → 「VDI Center」の順に移動します。
2. 「データベース」タブに移動します。
VDI Center 内の Oracle VDI ホストのリストが表示されます。
3. Oracle VDI ホストを選択し、「VDI データベースレプリケーションの有効化」をクリックします。
新しいレプリケーションホストが有効になったことを示すメッセージが表示されます。
CLI の手順
1. レプリケーションホストを変更します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=<host name>
<host name> を空のまま指定すると、レプリケーションと高可用性がオフになります。
2. 変更が反映されていることを確認します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center status
9.8.2. Oracle VDI Center の一次ホストを変更する方法
Oracle VDI の一次ホストによって Oracle VDI Center が作成されます。一次ホストを変更すると元の一次ホストは二 次ホストとして再構成され、レプリケーションデータベースをホストします (組み込みの MySQL データベースを使用 している場合)。レプリケーションデータベースホストを変更するには、「レプリケーションデータベースホストを変 更する方法」を参照してください。一次ホストを変更するには、次の手順に従います。
CLI の手順
1. 一次ホストを変更します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host name>
手動でフェイルオーバーをトリガーする方法
2. 変更が反映されていることを確認します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center status
9.8.3. 手動でフェイルオーバーをトリガーする方法
自動ファイルオーバーが失敗した場合など、一部の環境ではフェイルオーバーを手動でトリガーしたい場合がありま す。フェイルオーバーを手動でトリガーするには、Oracle VDI Center で、レプリケーションデータベースを持つ二次 ホストを一次ホストに変更します。詳細については、「Oracle VDI Center の一次ホストを変更する方法」を参照して ください。
9.8.4. Oracle VDI Center から応答しないホストを削除する方法
通常、Oracle VDI Center に対してホストを追加および削除するには、vda-config コマンドを使用します。ただし、ホ ストが応答不能になった場合は、このコマンドを実行できません。このような場合は、Oracle VDI Center からそのホ ストを強制的に削除します。
CLI の手順
1. Oracle VDI Center からホストを削除します。
Oracle VDI Center 内の残りのホストから、root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center purge <host name>
2. 変更が反映されていることを確認します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center status
9.8.5. 自動フェイルオーバーを調整する方法
プロパティーを調整して、Oracle VDI Center の自動フェイルオーバーの動作を調整できます。次の表に、使用可能な プロパティーと、そのプロパティーが制御する内容を示します。
プロパティー 説明
db.connection.timeout データベース接続の接続タイムアウト (ミリ秒)。
Oracle VDI データベースへの接続の試行がこのタイム アウトより長くかかった場合、Oracle VDI サービスは Oracle VDI Center エージェントにデータベースエラーを 報告します。
デフォルトは 1000 ミリ秒です。
db.failover.timeout フェイルオーバーを開始する前に Oracle VDI Center エー
ジェントが待機する時間 (秒)。
Oracle VDI Center エージェントは Oracle VDI サービス からのデータベースエラーレポートを監視します。この 時間に連続してデータベースエラーが報告された場合、
そのデータベースに障害が発生したと見なされます。組 み込みの Oracle VDI データベースが使用されている場 合、フェイルオーバーがトリガーされます。
デフォルトは 15 秒です。
db.replication.config Oracle VDI Center エージェントが自動的にデータベース
レプリケーションを構成するかどうか。使用できる値は true または false です。
フィードバックの提供と問題の報告
プロパティー 説明
true を設定すると、1 番目の二次ホストが追加されたと き、またはフェイルオーバーが実行されたときに、二次 ホストでレプリケーションデータベースの自動構成が実 行されます。
false を設定すると、レプリケーションデータベースの 自動構成は実行されません。管理者が手動でレプリケー ションデータベースホストを構成するまで、高可用性 は無効です。「レプリケーションデータベースホストを 変更する方法」を参照してください。これによりレプリ ケーションデータベースに使用するホストをより強力に 管理できますが、高可用性を手動で構成しなければなら ないことを意味しています。
デフォルトは true です。
CLI の手順
1. 必要なプロパティーを構成します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center setprops -p <key>=<value>
次はその例です。
# /opt/SUNWvda/sbin/vda-center setprops -p db.failover.timeout=20
2. 変更が反映されていることを確認します。
root ユーザーで次のコマンドを実行します。
# /opt/SUNWvda/sbin/vda-center listprops