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