ipvsadm

概要

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

使い方

設定確認

ipvsadm -Ln --sort

VIPの追加

オプション

-AVIPを追加する
-ttcpのサービスを指定する
-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の削除

  • --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

リアルサーバーの追加

-aadd-server. リアルサーバーを追加する。
-ttcpのサービスを指定する。
[VIP:Port]記追加したVIPの設定を指定する。
-r [IPaddress]リアルサーバーを指定する。
-mIPマスカレードする。
/ # 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

設定の保存

  • 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

設定の全削除

現在の設定を全て削除する手順です。(本番サーバーでは基本使わない方が良さそうです。)

/ # ipvsadm -C
/ # ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

設定の復元

  • 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
Last-modified: 2022-06-30 (木) 01:40:11