IPVSを制御するためのツール。 仮想サーバグループの追加やリアルサーバの割り当てができるほか、 現在の接続状況や転送レートの表示などができます。
というかLVSのほとんど全ての機能設定はこのツールでできてしまう。
IPVSadministratorの略とかなのかな(; ・`д・´)???
オプションが豊富なので難しく見えるが、 実はコマンドを2〜3回打つだけで設定は終了します(・∀・)
yum -y install ipvsadm
VIP(VirtualIP)の設定をします。
ip addr add 192.168.1.100 label eth0:1 dev eth0
192.168.1.100はVIPとして使用したいIPアドレス。 eth0:1は仮想IPとして、eth0:1を使用するという意味。
これを複数台設定するだけで負荷分散ができます。
上記のコマンドで設定後は、キチンと設定されているかifconfigコマンドなどで確認しましょう。
ipvsadm [オプション] [プロトコル] [VIP:ポート] [スケジュールオプション] [バランスアルゴリズム]
-A | 設定の追加 |
-E | 設定の変更 |
-D | 設定の削除 |
-t | tcpのサービスを指定する |
-u | udpのサービスを指定する |
-f | iptablesのFWMARKが付けられたパケットを指定 |
-s | 負荷の割り振り方を指定する |
-p | パーシステンスの時間を指定する |
-M | -pオプションの処理、クライアントの同一性を判断に |
ここで指定した値を使う事によりグループ化して管理できる |
rr | ラウンドロビン |
wrr | ラウンドロビンに重み付けを行える |
lc | 負荷の少ないサーバへリクエストを飛ばす |
wlc | 基本的に上記と同じだが、重み付けも行う |
lblc | クライアントからのリクエストを基本的に同じサーバへ飛ばす、高負荷時は別サーバへ |
lblcr | 上記と同じだが、レプリケーション機能がつく |
sed | 応答速度に応じてリクエストを送るサーバを(・∀・)カエル!! |
nq | アイドルのサーバがあればそこへ、なければsedと同じ動作 |
ipvsadm -A -t 192.168.1.100:80 -s lc
実は上で書いた事とそんなに変わりません。
ipvsadm [オプション] [プロトコル] [VIP:ポート] [実サーバ指定オプション] [実サーバのIP] [転送オプション]
-a | 追加 |
-e | 変更 |
-d | 削除 |
-r | 実サーバを指定する |
-g | パケットに何もせず転送 |
-i | IPトンネルを使って転送 |
-m | マスカレードをする |
設定されている全てのサービスを出力する場合は以下、 現在管理しているコネクションを表示する事ができる。
ipvsadm -Lc
仮想サービスの設定を削除する時は以下のコマンドを使用する。
ipvsadm -C
通常通り、startやstop以外にsaveというのが使える。
これは今のIPVSの設定を/etc/sysconfig/ipvsadmもしくは/etc/ipvsadm.rulesに保存するという物。 再起動したら設定が…なんて事ないように忘れないようにしましょうヽ(・∀・ )ノ キャッ キャッ
実際に、パケットの転送を行うには、/etc/sysctl.confの中身で 以下の文を編集しなければならないので注意しましょう。
net.ipv4.ip_forward = 0 ↓ net.ipv4.ip_forward = 1