LVS-HOWTO 勝手訳

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.what_is_an_LVS.html
を訳す。自分用。

      • -

2. LVS: What is an LVS? Can I use an LVS?

Linux Virtual Server (LVS) は「外部のクライアントからは単一のサーバに見える」サーバのクラスタである。この見かけ上単一サーバをここでは"virtual server"と呼ぶ。個々のサーバ(realservers)はdirector(ないしload balancer)−これはipvsのコードでパッチされたLinuxカーネルで動作する−の制御下にある。director上で動作するipvsのコードが"まさに"LVSの本質的な機能である。その他のユーザレベルコードはLVSを操作(サービスを管理するルールをセットしたり、フェイルオーバを実現したり)するのに使われている。director は基本的にはルーティング規則集合を改変されたレイヤ4のルータ(つまり、directorはコネクションを発することも終端することもなく、ACKを送ることもない、など、即ち単なるルータ)である。

クライアントからLVSが提供するサービス(e.g. https)にコネクションが要求された時、director はクライアントにたいして realserver を選ぶ。それ以降、クライアントからの全パケットは director を通ってその特定の realserver へ向かう。このクライアントと realserver との関係は tcp コネクション(ないし udp 交換)が生きている間のみ続く。次の tcp コネクションに対しては、director は新たな realserver (先程の realserver と同じかもしれないし、そうでないかもしれない)を選ぶ。即ち、ウェブブラウザが LVS の提供する webpage へ複数回のヒット(画像、html)で接続すると、それぞれのヒットでは別々の realserver から取得するだろう。

director は任意のrealserver のクライアントとして送信するので、サービスは読み込みのみ(e.g. web サービス)、または読み/書き(e.g. オンラインショッピングカート)で何かしらの LVS 外の機構が他の realserver へ書き込み結果をサービスに適切な時間スケール(i.e. 商品の購入は次の顧客が同じ商品を購入しようとするより前に全てのノード上で在庫を減らさなければならない)で伝える機能を提供する。LVS にとって読み込みが大部分であるのが最適である。