ルーターまたはロードバランサとしての Oracle® Solaris 11.2 システムの構成

印刷ビューの終了

更新: 2014 年 9 月
 
 

ILB のサーバーグループおよびバックエンドサーバーの定義

このセクションでは、ILB サーバーグループを作成して、バックエンドサーバーをサーバーグループに追加する方法について説明します。create-servergroup サブコマンドまたは add-server サブコマンドのいずれかを使用してサーバーが追加されると、サーバー ID がシステムによって生成されます。サーバー ID はサーバーグループ内で一意です。ilbadm サブコマンドの詳細は、ilbadm(1M) のマニュアルページを参照してください。

ILB サーバーグループの作成

ILB サーバーグループを作成するには、まずサーバーグループに含めるサーバーを特定します。サーバーは、ホスト名または IP アドレスと、オプションのポートによって指定できます。次に、管理者として次のコマンドを実行します。

# ilbadm create-servergroup -s servers=server1,server2,server3 servergroup 

追加されるサーバーごとに、先頭に下線 (_) が付いた一意のサーバーID が生成されます。


注 -  サーバーが複数のサーバーグループに属する場合は、複数のサーバー ID を持つことができます。

ILB サーバーグループへのバックエンドサーバーの追加

バックエンドサーバーをサーバーグループに追加するには、管理者になり次のコマンドを実行します。

# ilbadm add-server -s server=server1[,server2...] servergroup

サーバー指定にはホスト名または IP アドレスを含める必要があり、オプションのポートまたはポート範囲を含めることもできます。同一の IP アドレスを持つサーバーエントリは、1 つのサーバーグループ内で許可されません。追加されるサーバーごとに、先頭に下線 (_) が付いた一意のサーバーID が生成されます。


注 -  IPv6 アドレスは、角括弧で囲む必要があります。
使用例 6-1  ILB サーバーグループの作成およびバックエンドサーバーの追加

次の例では、3 つのバックエンドサーバーが含まれる webgroup というサーバーグループを作成します。

# ilbadm create-servergroup -s \
servers=192.168.89.11,192.168.89.12,192.168.89.13 webgroup
# ilbadm show-servergroup
SGNAME         SERVERID            MINPORT MAXPORT IP_ADDRESS
webgroup       _webgroup.0         --      --      192.168.89.11
webgroup       _webgroup.1         --      --      192.168.89.12
webgroup       _webgroup.2         --      --      192.168.89.13

次の例では、webgroup1 というサーバーグループを作成し、3 つのバックエンドサーバーをサーバーグループに追加します。

# ilbadm create-servergroup webgroup1
# ilbadm add-server -s server=[2001:0db8:7::feed:6]:8080,\
[2001:0db8:7::feed:7]:8080,[2001:0db8:7::feed:8]:8080 webgroup1

ILB サーバーグループのバックエンドサーバーの有効化または無効化

最初に、再有効化または無効化するバックエンドサーバーの IP アドレス、ホスト名、またはサーバー ID を特定します。サーバーグループ内のサーバーを有効または無効化する前に、サーバーグループを規則に関連付ける必要があります。

サーバーが複数のサーバーグループに属する場合は、複数のサーバー ID を持つことができます。サーバー ID に関連付けられている特定の規則でサーバーを再有効化または無効化するには、そのサーバー ID を指定する必要があります。

  • 有効化されたサーバーを無効化するには、次のコマンドを入力します。

    # ilbadm disable-server server1

    選択されたサーバーは有効化されていますが、無効化されます。カーネルはトラフィックをこのサーバーに転送しません。

  • 無効化されたサーバーを再有効化するには、次のコマンドを入力します。

    # ilbadm enable-server server1

    選択されたサーバーは無効にされていますが、再有効化されます。

  • サーバーの状態を表示するには、次のコマンドを入力します。

    # ilbadm show-server [[-p] -o field[,field...]] [rulename]

    注 -  サーバーには、サーバーが属するサーバーグループが規則に関連付けられている場合にのみ、有効化または無効化の状態が表示されます。
使用例 6-2  ILB サーバーグループのバックエンドサーバーの無効化および再有効化

次の例では、サーバー ID _websg.1 のサーバーが無効化され、その後再有効化されます。

# ilbadm enable-server _websg.1
# ilbadm disable-server _websg.1

ILB サーバーグループからのバックエンドサーバーの削除

ilbadm remove-server コマンドを使用して、1 つの ILB サーバーグループまたはすべてのサーバーグループからバックエンドサーバーを削除できます。最初に、サーバーグループから削除するサーバーのサーバー ID を特定します。

ilbadm show-servergroup -o all

サーバー ID は、サーバーがサーバーグループに追加されたときにシステムに割り当てられる IP アドレスに対応する一意の名前です。

次に、サーバーを削除します。

# ilbadm remove-server -s server=server-ID server-group

サーバーが NAT またはハーフ NAT 規則によって使用されている場合は、削除の前に disable-server サブコマンドを使用してサーバーを無効にしてください。詳細は、ILB サーバーグループのバックエンドサーバーの有効化または無効化を参照してください。サーバーが無効になると、サーバーは接続排出状態に入ります。ilbadm show-nat コマンドを使用して、NAT テーブルを定期的にチェックし、サーバーにまだ接続があるかどうかを確認します。すべての接続が排出されたら (サーバーは show-nat コマンド出力に表示されません)、サーバーは remove-server コマンドを使用して削除できます。

conn-drain タイムアウト値が設定されている場合、接続排出状態はタイムアウト期間が終了した時点で完了します。conn-drain タイムアウトのデフォルト値は 0 で、つまり接続が正常にシャットダウンされるまで接続排出が待機し続けることを意味します。

使用例 6-3  ILB サーバーグループからのバックエンドサーバーの削除

次の例では、サーバー ID _sg1.2 を持つサーバーをサーバーグループ sg1 から削除します。

# ilbadm remove-server -s server=_sg1.2 sg1

ILB サーバーグループの削除

このセクションでは、ILB サーバーグループの削除方法について説明します。アクティブな規則によって使用されているサーバーグループは削除できません。

最初に、サーバーグループに関する使用可能なすべての情報を表示します。

# ilbadm show-servergroup -o all
sgname      serverID       minport     maxport     IP_address
specgroup   _specgroup.0   7001        7001        192.168.68.18
specgroup   _specgroup.1   7001        7001        192.168.68.19
test123     _test123.0     7002        7002        192.168.67.18
test123     _test123.1     7002        7002        192.168.67.19

次のコマンドを入力します。

# ilbadm delete-servergroup servergroup

サーバーグループがアクティブな規則で使用されている場合は、削除に失敗します。

次の例では、webgroup というサーバーグループを削除します。

# ilbadm delete-servergroup webgroup