2011年4月10日日曜日

IPVS のカーネルコンフィグのヘルプ翻訳

IPVS (LVS, Linux Virtual Serverを実現するKernel内のモジュール) のカーネルコンフィグ (Kconfig)のヘルプを翻訳しました。

普通、調整が必要になるコンフィグレーションは特にないのですが、参考まで。
ファイルはlinux-2.6.37のものです。
(追記: Linuxと同じライセンスです)



#
# IP Virtual Server configuration
#
menuconfig IP_VS
tristate "IP virtual server support"
depends on NET && INET && NETFILTER
depends on (NF_CONNTRACK || NF_CONNTRACK=n)
---help---
IP Virtual Server support will let you build a high-performance
virtual server based on cluster of two or more real servers. This
option must be enabled for at least one of the clustered computers
that will take care of intercepting incoming connections to a
single IP address and scheduling them to real servers.

#   IP Virtaul Server は2つかそれ以上のリアルサーバからなる高性能な
#   仮想サーバをビルドさせます。このオプションはクラスタ化されたコ
#   ンピュータのすくなくともひとつで有効化される必要があり、そのコ
#   ンピュータは単一のIPアドレス宛に入ってくる接続をインターセプト
#   し、それらをリアルサーバへスケジュールします。
#
Three request dispatching techniques are implemented, they are
virtual server via NAT, virtual server via tunneling and virtual
server via direct routing. The several scheduling algorithms can
be used to choose which server the connection is directed to,
thus load balancing can be achieved among the servers.  For more
information and its administration program, please visit the
following URL: .

#   3つのリクエストディスパッチ技術が実装されており、それらはNAT
#   による仮想サーバ、トンネリングによる仮想サーバ、ダイレクトルー
#   ティングによる仮想サーバです。あるコネクションをどのサーバへ
#   送信するかを選ぶために、いくつかのスケジューリングアルゴリズ
#   ムを使用でき、複数のサーバ間でロードバランスを実現できます。
#   より詳細な情報と管理プログラムについては次のURLを見てください:
#   
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
if IP_VS

config IP_VS_IPV6
bool "IPv6 support for IPVS"
depends on IPV6 = y || IP_VS = IPV6
---help---
Add IPv6 support to IPVS. This is incomplete and might be dangerous.

#   IPVSにIPv6サポートを追加します。これはまだ不完全で危険です。
#
See http://www.mindbasket.com/ipvs for more information.

#   詳細は http://www.mindbasket.com/ipvs を見てください。
#
Say N if unsure.

#   自信がない場合はNを指定してください。
#
config IP_VS_DEBUG
bool "IP virtual server debugging"
---help---
Say Y here if you want to get additional messages useful in
debugging the IP virtual server code. You can change the debug
level in /proc/sys/net/ipv4/vs/debug_level

#   IP virtual server のコードをデバッグするうえで、有用な追加の
#   メッセージを得たい場合は、Yを指定してください。デバッグレベルを
#   /proc/sys/net/ipvs4/vs/debug_level で変更可能です。
#
config IP_VS_TAB_BITS
int "IPVS connection table size (the Nth power of 2)"
range 8 20
default 12
---help---
The IPVS connection hash table uses the chaining scheme to handle
hash collisions. Using a big IPVS connection hash table will greatly
reduce conflicts when there are hundreds of thousands of connections
in the hash table.

#   IPVS 接続ハッシュテーブルはハッシュの衝突を扱うのにチェイニングスキーム
#   を使っています。大きなIPVS接続ハッシュテーブルを使うと100,000単位の
#   コネクションを扱う場合においてハッシュテーブルの衝突を大きく減らします。
#
Note the table size must be power of 2. The table size will be the
value of 2 to the your input number power. The number to choose is
from 8 to 20, the default number is 12, which means the table size
is 4096. Don't input the number too small, otherwise you will lose
performance on it. You can adapt the table size yourself, according
to your virtual server application. It is good to set the table size
not far less than the number of connections per second multiplying
average lasting time of connection in the table.  For example, your
virtual server gets 200 connections per second, the connection lasts
for 200 seconds in average in the connection table, the table size
should be not far less than 200x200, it is good to set the table
size 32768 (2**15).

#   テーブルサイズは2の累乗でなければならないことに注意が必要です。テーブル
#   サイズは2をあなたが入力した数だけ累乗した値になります。選択可能な
#   数は8から20であり、デフォルトの数は12です。これはテーブルサイズが
#   4096であることを意味します。パフォーマンスを失いたい場合以外は、
#   小さすぎる数を入力しないでください。仮想サーバの利用に応じて、テーブル
#   サイズを選ぶことができます。テーブルサイズを、秒間コネクション数に
#   コネクションがテーブル内で継続する時間の平均を掛けた値からそれほど
#   少なくない数にセットするのは良いことです。例えば、仮想サーバが秒間
#   200接続を受付、そのコネクションが平均200秒テーブル内に継続する場合、
#   テーブルサイズは200x200からそれほど小さくない数であるべきであり、
#   テーブルサイズを32768(2**15)にセットするのが良いです。
#
Another note that each connection occupies 128 bytes effectively and
each hash entry uses 8 bytes, so you can estimate how much memory is
needed for your box.

#   もうひとつの注意点は以下のとおりです。それぞれのコネクションは事実上
#   128バイトを専有し、それぞれのハッシュエントリは8バイトを使うので、
#   あなたのマシンでどれだけのメモリが必要とされるかを見積もることができます。
#
You can overwrite this number setting conn_tab_bits module parameter
or by appending ip_vs.conn_tab_bits=? to the kernel command line
if IP VS was compiled built-in.

#   この値は、モジュールパラメータconn_tab_bitsをセットする、あるいは
#   IP VSがカーネルに組み込まれている場合はip_vs.conn_tab_bits=?を
#   カーネルのコマンドラインに追加することで上書きできます。
#
comment "IPVS transport protocol load balancing support"

config IP_VS_PROTO_TCP
bool "TCP load balancing support"
---help---
This option enables support for load balancing TCP transport
protocol. Say Y if unsure.

#   このオプションはTCPトランスポートプロトコルのロードバランスの
#   サポートを有効にします。自信がなければYを選択してください。
#
config IP_VS_PROTO_UDP
bool "UDP load balancing support"
---help---
This option enables support for load balancing UDP transport
protocol. Say Y if unsure.

#   このオプションはUDPトランスポートプロトコルのロードバランスの
#   サポートを有効にします。自信がなければYを選択してください。
#
config IP_VS_PROTO_AH_ESP
def_bool IP_VS_PROTO_ESP || IP_VS_PROTO_AH

config IP_VS_PROTO_ESP
bool "ESP load balancing support"
---help---
This option enables support for load balancing ESP (Encapsulation
Security Payload) transport protocol. Say Y if unsure.

#   このオプションはESP(Encapsulation Security Payload)トランス
#   ポートプロトコルのロードバランスのサポートを有効にします。
#   自信がなければYを選択してください。
#
config IP_VS_PROTO_AH
bool "AH load balancing support"
---help---
This option enables support for load balancing AH (Authentication
Header) transport protocol. Say Y if unsure.

#   このオプションはAH(Authentication Header)トランスポートプロ
#   トコルのロードバランスのサポートを有効にします。
#   自信がなければYを選択してください。
#
config  IP_VS_PROTO_SCTP
bool "SCTP load balancing support"
select LIBCRC32C
---help---
This option enables support for load balancing SCTP transport
protocol. Say Y if unsure.

#   このオプションはSCTPトランスポートプロトコルのロードバランスの
#   サポートを有効にします。自信がなければYを選択してください。
#
comment "IPVS scheduler"

config IP_VS_RR
tristate "round-robin scheduling"
---help---
The robin-robin scheduling algorithm simply directs network
connections to different real servers in a round-robin manner.

#   ラウンドロビンスケジューリングアルゴリズムは単純にネットワーク
#   接続をラウンドロビンで違うリアルサーバへ振り分けます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_WRR
tristate "weighted round-robin scheduling"
select GCD
---help---
The weighted robin-robin scheduling algorithm directs network
connections to different real servers based on server weights
in a round-robin manner. Servers with higher weights receive
new connections first than those with less weights, and servers
with higher weights get more connections than those with less
weights and servers with equal weights get equal connections.

#   重み付きラウンドロビンスケジューリングアルゴリズムはネットワーク
#   接続をサーバの重みに基づいたラウンドロビンで違うリアルサーバへ
#   振り分けます。より多い重みを付けられたサーバは少ない重みを付け
#   られたサーバよりも早く新しい接続を受け取り、 より多い重みを付け
#   られたサーバは少ない重みを付けられたサーバよりも多く接続を受け
#   取ります。同一の重みを付けられたサーバは同じだけの接続を受け取
#   ります。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_LC
tristate "least-connection scheduling"
---help---
The least-connection scheduling algorithm directs network
connections to the server with the least number of active 
connections.

#   最小接続スケジューリングアルゴリズムはネットワーク接続を
#   アクティブな接続数の最も少ないサーバへ振り分けます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_WLC
tristate "weighted least-connection scheduling"
---help---
The weighted least-connection scheduling algorithm directs network
connections to the server with the least active connections
normalized by the server weight.

#   重み付き最小接続スケジューリングアルゴリズムはネットワーク接続を
#   アクティブな接続数をサーバの重みで正規化した値が最も少ない
#   サーバへ振り分けます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_LBLC
tristate "locality-based least-connection scheduling"
---help---
The locality-based least-connection scheduling algorithm is for
destination IP load balancing. It is usually used in cache cluster.
This algorithm usually directs packet destined for an IP address to
its server if the server is alive and under load. If the server is
overloaded (its active connection numbers is larger than its weight)
and there is a server in its half load, then allocate the weighted
least-connection server to this IP address.

#   所在ベース最小接続(訳注:LBLC)スケジューリングアルゴリズムは宛先IPロードバランス
#   のためのものです。これは通常キャッシュクラスタにおいて用いられます。
#   このアルゴリズムは通常あるIPアドレスを宛先としたパケットを、そのサーバ
#   が生きていて負荷が低い場合に振り分けます。もしそのサーバが過負荷の
#   場合(そのアクティブな接続数が重みよりも大きい場合)で、その半分の
#   負荷のサーバが他にある場合、そのIPアドレスに対するサーバを重み付き最小
#   接続で割り当てます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config  IP_VS_LBLCR
tristate "locality-based least-connection with replication scheduling"
---help---
The locality-based least-connection with replication scheduling
algorithm is also for destination IP load balancing. It is 
usually used in cache cluster. It differs from the LBLC scheduling
as follows: the load balancer maintains mappings from a target
to a set of server nodes that can serve the target. Requests for
a target are assigned to the least-connection node in the target's
server set. If all the node in the server set are over loaded,
it picks up a least-connection node in the cluster and adds it
in the sever set for the target. If the server set has not been
modified for the specified time, the most loaded node is removed
from the server set, in order to avoid high degree of replication.

#   レプリケーション付きの所在ベース最小接続スケジューリングアルゴリ
#   ズムもまた宛先IPロードバランスのためのものです。これは通常キャッシュ
#   クラスタにおいて用いられます。LBLCスケジューリングとの違いは以下の
#   通りです: ロードバランサはターゲットからターゲットのサービスを提供
#   可能なサーバノードの集合へのマッピングを保持します。ターゲットへの
#   リクエストはそのターゲットに対応するサーバ集合から最小接続のノード
#   へ割り当てられます。サーバ集合の全てのノードが過負荷の場合、クラスタ
#   のノードから最小接続のノードを選び、ターゲットに対するサーバ集合へ
#   追加します。サーバ集合が一定時間変更されなかった場合、最も負荷の高い
#   ノードがサーバ集合から削除されます。これはレプリケーションの度数が
#   高くなるのを避けるためです。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_DH
tristate "destination hashing scheduling"
---help---
The destination hashing scheduling algorithm assigns network
connections to the servers through looking up a statically assigned
hash table by their destination IP addresses.

#   宛先ハッシュスケジューリングアルゴリズムはネットワーク接続を宛先
#   IPアドレスにより静的に割り当てられたハッシュテーブルから見つけた
#   サーバへ割り当てます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_SH
tristate "source hashing scheduling"
---help---
The source hashing scheduling algorithm assigns network
connections to the servers through looking up a statically assigned
hash table by their source IP addresses.

#   送信元ハッシュスケジューリングアルゴリズムはネットワーク接続を
#   送信元IPアドレスにより静的に割り当てられたハッシュテーブルから
#   見つけたサーバへ割り当てます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_SED
tristate "shortest expected delay scheduling"
---help---
The shortest expected delay scheduling algorithm assigns network
connections to the server with the shortest expected delay. The 
expected delay that the job will experience is (Ci + 1) / Ui if 
sent to the ith server, in which Ci is the number of connections
on the ith server and Ui is the fixed service rate (weight)
of the ith server.

#   最小遅延予測スケジューリングアルゴリズムはネットワーク接続を
#   最小の遅延が予測されるサーバへ割り当てます。そのジョブが経験する
#   遅延はi番目のサーバに送られた場合 (Ci + 1) / Ui と予測されます。
#   ここでCiはi番目のサーバの接続数、Uiはi番目のサーバの固定された
#   サービス割合(重み)です。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_NQ
tristate "never queue scheduling"
---help---
The never queue scheduling algorithm adopts a two-speed model.
When there is an idle server available, the job will be sent to
the idle server, instead of waiting for a fast one. When there
is no idle server available, the job will be sent to the server
that minimize its expected delay (The Shortest Expected Delay
scheduling algorithm).

#   キューなしスケジューリングアルゴリズムは2スピードモデルを適用します。
#   あるサーバが仕事をしていない場合、ジョブは早いサーバを待つかわりに
#   その仕事をしていないサーバへ送られます。暇なサーバがない場合、
#   そのジョブは予想される遅延を最小にするサーバへ送られます(最小
#   遅延予測スケジューリングアルゴリズム)
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
comment 'IPVS application helper'

config IP_VS_FTP
tristate "FTP protocol helper"
depends on IP_VS_PROTO_TCP && NF_CONNTRACK && NF_NAT
select IP_VS_NFCT
---help---
FTP is a protocol that transfers IP address and/or port number in
the payload. In the virtual server via Network Address Translation,
the IP address and port number of real servers cannot be sent to
clients in ftp connections directly, so FTP protocol helper is
required for tracking the connection and mangling it back to that of
virtual service.

#   FTPはIPアドレスおよび/またはポート番号をそのデータ領域に入れて
#   送信するプロトコルです。NATによる仮想サーバにおいては、FTP接続の
#   中でリアルサーバのIPアドレスとポート番号をそのままクライアントに
#   送ることはできません。従って、接続の追跡とクライアントに送られる
#   IPアドレス、ポート番号を仮想サービスのものに変更するため、FTP
#   プロトコルヘルパーが必要とされます。
#
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.

#   これをカーネル内に組み込んでコンパイルしたい場合はYを、モジュー
#   ルとしてコンパイルする場合はMを選びます。自信がない場合はNを
#   指定してください。
#
config IP_VS_NFCT
bool "Netfilter connection tracking"
depends on NF_CONNTRACK
---help---
The Netfilter connection tracking support allows the IPVS
connection state to be exported to the Netfilter framework
for filtering purposes.

#   NetfilterコネクショントラッキングはIPVSの接続状態がフィルタ目的で
#   Netfilterフレームワークにエクスポートされることをサポートします。

config IP_VS_PE_SIP
tristate "SIP persistence engine"
depends on IP_VS_PROTO_UDP
depends on NF_CONNTRACK_SIP
---help---
Allow persistence based on the SIP Call-ID

#   SIP Call-IDに基づく接続維持を可能にします。

endif # IP_VS

1 件のコメント: