ipvsadm の変更点 - Linuxめもがっき

*ipvsadm [#x6a900ab]
#contents

**ipvsadmとは? [#a020518e]
IPVSを制御するためのツール。
仮想サーバグループの追加やリアルサーバの割り当てができるほか、
現在の接続状況や転送レートの表示などができます。

というかLVSのほとんど全ての機能設定はこのツールでできてしまう。

IPVSadministratorの略とかなのかな(; ・`д・´)???

オプションが豊富なので難しく見えるが、
実はコマンドを2〜3回打つだけで設定は終了します(・∀・)


**インストール [#k5f4428d]
***yum [#c8289117]
 yum -y install ipvsadm


**設定 [#x28c0321]
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 [#ff876807]
***VIPの動作を決定する。 [#e2a86435]

 ipvsadm [オプション] [プロトコル] [VIP:ポート] [スケジュールオプション] [バランスアルゴリズム]

-オプション
|-A|設定の追加|
|-E|設定の変更|
|-D|設定の削除|

-プロトコル
|-t|tcpのサービスを指定する|
|-u|udpのサービスを指定する|
|-f|iptablesのFWMARKが付けられたパケットを指定|

-VIP:ポート
VIPとポート名を指定。

-スケジュール
|-s|負荷の割り振り方を指定する|
|-p|パーシステンスの時間を指定する|
|-M|-pオプションの処理、クライアントの同一性を判断に|
||ここで指定した値を使う事によりグループ化して管理できる|

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

-入力例
 ipvsadm -A -t 192.168.1.100:80 -s lc


***実サーバを設定する。 [#s8d6c790]
実は上で書いた事とそんなに変わりません。

 ipvsadm [オプション] [プロトコル] [VIP:ポート] [実サーバ指定オプション] [実サーバのIP] [転送オプション]

-オプション
|-a|追加|
|-e|変更|
|-d|削除|

-プロトコル
上に書いた物と同じモノが使える。

-実サーバ指定オプション
|-r|実サーバを指定する|

-転送オプション
|-g|パケットに何もせず転送|
|-i|IPトンネルを使って転送|
|-m|マスカレードをする|

***仮想サーバの管理 [#ef133a0a]
設定されている全てのサービスを出力する場合は以下、
現在管理しているコネクションを表示する事ができる。
 ipvsadm -Lc

仮想サービスの設定を削除する時は以下のコマンドを使用する。
 ipvsadm -C

***サービススクリプト [#i42379a0]
通常通り、startやstop以外にsaveというのが使える。

これは今のIPVSの設定を/etc/sysconfig/ipvsadmもしくは/etc/ipvsadm.rulesに保存するという物。
再起動したら設定が…なんて事ないように忘れないようにしましょうヽ(・∀・ )ノ キャッ キャッ


**注意事項 [#a7394c7b]
実際に、パケットの転送を行うには、/etc/sysctl.confの中身で
以下の文を編集しなければならないので注意しましょう。

 net.ipv4.ip_forward = 0
      ↓
 net.ipv4.ip_forward = 1