このセクションでは、ILB サーバーグループを作成して、バックエンドサーバーをサーバーグループに追加する方法について説明します。create-servergroup サブコマンドまたは add-server サブコマンドのいずれかを使用してサーバーが追加されると、サーバー ID がシステムによって生成されます。サーバー ID はサーバーグループ内で一意です。ilbadm サブコマンドの詳細は、ilbadm(1M) のマニュアルページを参照してください。
ILB サーバーグループを作成するには、まずサーバーグループに含めるサーバーを特定します。サーバーは、ホスト名または IP アドレスと、オプションのポートによって指定できます。次に、管理者として次のコマンドを実行します。
# ilbadm create-servergroup -s servers=server1,server2,server3 servergroup
追加されるサーバーごとに、先頭に下線 (_) が付いた一意のサーバーID が生成されます。
バックエンドサーバーをサーバーグループに追加するには、管理者になり次のコマンドを実行します。
# ilbadm add-server -s server=server1[,server2...] servergroup
サーバー指定にはホスト名または IP アドレスを含める必要があり、オプションのポートまたはポート範囲を含めることもできます。同一の IP アドレスを持つサーバーエントリは、1 つのサーバーグループ内で許可されません。追加されるサーバーごとに、先頭に下線 (_) が付いた一意のサーバーID が生成されます。
次の例では、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
最初に、再有効化または無効化するバックエンドサーバーの IP アドレス、ホスト名、またはサーバー ID を特定します。サーバーグループ内のサーバーを有効または無効化する前に、サーバーグループを規則に関連付ける必要があります。
サーバーが複数のサーバーグループに属する場合は、複数のサーバー ID を持つことができます。サーバー ID に関連付けられている特定の規則でサーバーを再有効化または無効化するには、そのサーバー ID を指定する必要があります。
有効化されたサーバーを無効化するには、次のコマンドを入力します。
# ilbadm disable-server server1
選択されたサーバーは有効化されていますが、無効化されます。カーネルはトラフィックをこのサーバーに転送しません。
無効化されたサーバーを再有効化するには、次のコマンドを入力します。
# ilbadm enable-server server1
選択されたサーバーは無効にされていますが、再有効化されます。
サーバーの状態を表示するには、次のコマンドを入力します。
# ilbadm show-server [[-p] -o field[,field...]] [rulename]
次の例では、サーバー ID _websg.1 のサーバーが無効化され、その後再有効化されます。
# ilbadm enable-server _websg.1 # ilbadm disable-server _websg.1
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 サーバーグループの削除方法について説明します。アクティブな規則によって使用されているサーバーグループは削除できません。
最初に、サーバーグループに関する使用可能なすべての情報を表示します。
# 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