ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ネットワークパフォーマンスの管理 Oracle Solaris 11.1 Information Library (日本語) |
8. Oracle Solaris におけるデータセンターブリッジング機能の操作
9. Oracle Solaris でのエッジ仮想ブリッジング
ILB サーバーグループにバックエンドサーバーを追加する方法
ILB サーバーグループからバックエンドサーバーを削除する方法
ILB では、ユーザーが選択できる次の種類のオプションのサーバー健全性検査が提供されています。
組み込み ping プローブ
組み込み TCP プローブ
組み込み UDP プローブ
健全性検査として実行できるユーザー指定のカスタムテスト
デフォルトでは、ILB は健全性検査を実行しません。負荷分散規則を作成するとき、サーバーグループごとに健全性検査を指定できます。1 つの負荷分散規則につき 1 つの健全性検査のみを構成できます。仮想サービスが有効であるかぎり、有効化されている仮想サービスに関連付けられたサーバーグループの健全性検査は自動的に開始され、定期的に繰り返されます。仮想サービスが無効化されると健全性検査はすぐに停止します。仮想サービスがふたたび有効化されたとき、以前の健全性検査状態は保持されていません。
健全性検査を実行するために TCP プローブ、UDP プローブ、またはカスタムテストプローブを指定した場合、ILB はデフォルトで、指定された TCP プローブ、UDP プローブ、またはカスタムテストプローブをサーバーに送信する前に、サーバーが到達可能かどうかを判別するために ping プローブを送信します。ping プローブはサーバーの健全性をモニターするための方法です。ping プローブに失敗すると、対応するサーバーは、健全性検査ステータスが unreachable になり無効化されます。ping プローブに成功しても、TCP プローブ、UDP プローブ、またはカスタムテストプローブに失敗した場合は、サーバーの健全性検査ステータスが dead になり無効化されます。
注 -
デフォルトの ping プローブを無効にすることができます。
UDP プローブの場合はデフォルトの ping プローブを無効にすることはできません。したがって、UDP 健全性検査では、ping プローブは常にデフォルトのプローブです。
次の例では、2 つの健全性検査オブジェクト hc1 および hc-myscript が作成されます。最初の健全性検査は組み込み TCP プローブを使用します。2 番目の健全性検査はカスタムテスト /var/tmp/my-script を使用します。
# ilbadm create-healthcheck \ -h hc-timeout=3,hc-count=2,hc-interval=8,hc-test=tcp hc1 # ilbadm create-healthcheck -h hc-timeout=3, \ hc-count=2,hc-interval=8,hc-test=/var/tmp/my-script hc-myscript
各引数の説明は次のとおりです。
健全性検査が完了しない場合に失敗したと見なされるまでのタイムアウトを指定します。
hc-test 健全性検査の実行を試行する回数を指定します。
連続する健全性検査の間隔を指定します。同期を回避するために、実際の間隔は 0.5 * hc-interval から 1.5 * hc-interval の間でランダム化されます。
健全性検査の種類を指定します。
ユーザー指定のカスタムテストは次の条件を満たす必要があります。
テストはバイナリまたはスクリプトにすることができます。
テストはシステムのいずれの場所にも存在でき、create-healthcheck サブコマンドを使用するときは絶対パスを指定する必要があります。
create-rule サブコマンドの健全性検査指定の一部としてテスト (/var/tmp/my-script など) を指定すると、ilbd デーモンがプロセスをフォークし、次のようにテストを実行します。
/var/tmp/my-script $1 $2 $3 $4 $5
各引数の説明は次のとおりです。
VIP (リテラルの IPv4 または IPv6 アドレス)
サーバー IP (リテラルの IPv4 または IPv6 アドレス)
プロトコル (文字列としての UDP、TCP)
数値ポート範囲 (hc-port に対するユーザー指定の値)
失敗を返す前にテストが待機する最大時間 (秒)。指定された時間を超えてテストが実行されると、停止される可能性があり、テストは失敗したと見なされます。この値はユーザーによって定義され、hc-timeout に指定されます。
ユーザー指定のテストmy-script は、すべての引数を使用しても使用しなくてもかまいませんが、次のいずれかを返す必要があります:
マイクロ秒単位の往復時間 (RTT)
テストが RTT を計算しない場合は 0
失敗した場合は -1
デフォルトでは、健全性検査テストは次の特権で実行されます: PRIV_PROC_FORK、RIV_PROC_EXEC、RIV_NET_ICMPACCESS。
さらに広い特権セットが必要な場合、テストで setuid を実装する必要があります。特権の詳細については、privileges(5) のマニュアルページを参照してください。
次の ilbadm list-healthcheck サブコマンドを使用して、構成済みの健全性検査に関する詳細情報を取得できます。
# ilbadm list-healthcheck
次の出力例では、構成済みの 2 つの健全性検査が示されています。
|
ilbadm list-hc-result サブコマンドを使用して、健全性検査の結果を取得できます。規則または健全性検査を指定しない場合、サブコマンドはすべての健全性検査を一覧表示します。
次の例は、rule1 という規則に関連付けられた健全性検査の結果を示しています。
# ilbadm show-hc-result rule1
|
表の LAST 列は、サーバーで健全性検査が実行された時間を示します。NEXT 列は、サーバーで次の健全性検査が実行される時間を示します。
次の例では、hc1 という健全性検査を削除します。
# ilbadm delete-healthcheck hc1