[[ipvsadm]]

*概要 [#e7dde681]
カーネルに組み込まれているLVS(冗長化構成)の管理コマンドの基本的な使い方です。

*使い方 [#l86cea2f]

*** 設定確認 [#tcf1aa1d]

 ipvsadm -Ln --sort


*** VIPの追加 [#hf684584]
オプション
|-A | VIPを追加する |
|-t|tcpのサービスを指定する|
|-s|スケジュールを指定する|

指定できるスケジュール
|rr|ラウンドロビン|
|wrr|ラウンドロビンに重み付けを行える|
|lc|負荷の少ないサーバへリクエストを飛ばす|
|wlc|基本的に上記と同じだが、重み付けも行う|
|lblc|クライアントからのリクエストを基本的に同じサーバへ飛ばす、高負荷時は別サーバへ|
|lblcr|上記と同じだが、レプリケーション機能がつく|
|sed|応答速度に応じてリクエストを送るサーバを変更する|
|nq|アイドルのサーバがあればそこへ、なければsedと同じ動作|


 / # ipvsadm -A -t 172.17.0.10:465 -s rr
 / # ipvsadm -Ln --sort
 IP Virtual Server version 1.2.1 (size=4096) 
 Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  172.17.0.10:465 rr

*** VIPの削除 [#r03df3fc]
- --delete-service, -D オプションを使うことで、VIPを削除できます。紐ついているリアルサーバーも削除されます。

 / # ipvsadm -D -t 172.17.0.10:465
 / # ipvsadm -Ln
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn


*** リアルサーバーの追加 [#t263a50d]

|-a|add-server. リアルサーバーを追加する。|
|-t|tcpのサービスを指定する。|
|[VIP:Port]|記追加したVIPの設定を指定する。|
|-r [IPaddress]|リアルサーバーを指定する。|
|-m|IPマスカレードする。|

 / # ipvsadm -a -t 172.17.0.10:465 -r 172.17.0.2 -m
 / # ipvsadm -Ln --sort
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  172.17.0.10:465 rr
  -> 172.17.0.2:465               Masq    1      0          0

 / # ipvsadm -a -t 172.17.0.10:465 -r 172.17.0.3 -m
 / # ipvsadm -Ln --sort
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  172.17.0.10:465 rr
  -> 172.17.0.2:465               Masq    1      0          0
  -> 172.17.0.3:465               Masq    1      0          0

*** 設定の保存 [#sa7a7012]
--save, -S を使うことで、設定を標準出力に流すことができ、リダイレクトすることで設定を保存することができます。

 / # ipvsadm --save > /tmp/ipvsadm_save.txt
 / # cat /tmp/ipvsadm_save.txt
 -A -t 172.17.0.10:urd -s rr
 -a -t 172.17.0.10:urd -r a3da47f3333e:urd -m -w 1
 -a -t 172.17.0.10:urd -r 172.17.0.3:urd -m -w 1
 -A -t 172.17.0.10:imaps -s rr
 -a -t 172.17.0.10:imaps -r a3da47f3333e:imaps -m -w 1
 -a -t 172.17.0.10:imaps -r 172.17.0.3:imaps -m -w 1
 -A -t 172.17.0.10:pop3s -s rr
 -a -t 172.17.0.10:pop3s -r a3da47f3333e:pop3s -m -w 1
 -a -t 172.17.0.10:pop3s -r 172.17.0.3:pop3s -m -w 1


*** 設定の全削除 [#ca29fc65]
現在の設定を全て削除する手順です。(本番サーバーでは基本使わない方が良さそうです。)
 / # ipvsadm -C
 / # ipvsadm -l
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

*** 設定の復元 [#g3ea627f]
--restore, -R を使うことで標準入力から設定を復元することが可能です。

 / # ipvsadm --restore < tmp/ipvsadm_save.txt
 / # ipvsadm -l
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  172.17.0.10:urd rr
  -> a3da47f3333e:urd             Masq    1      0          0
  -> 172.17.0.3:urd               Masq    1      0          0
 TCP  172.17.0.10:imaps rr
  -> a3da47f3333e:imaps           Masq    1      0          0
  -> 172.17.0.3:imaps             Masq    1      0          0
 TCP  172.17.0.10:pop3s rr
  -> a3da47f3333e:pop3s           Masq    1      0          0
  -> 172.17.0.3:pop3s             Masq    1      0          0


参考にしたサイト:http://memogakki.es.land.to/linux/index.php?ipvsadm

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS