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