*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