Linux Virtual Server ( LVS ) は、Linuxカーネルベースのオペレーティングシステム向けの負荷分散ソフトウェアです。
LVSは、 1998年5月にWensong Zhang氏によって開始された、 GNU一般公衆利用許諾契約書(GPL)バージョン2の要件に準拠した、無料のオープンソースプロジェクトです。このプロジェクトの使命は、クラスタリング技術を用いて、優れた拡張性、信頼性、保守性を備えた、高性能かつ高可用性のLinuxサーバーを構築することです。

LVSプロジェクトの主な作業は、高度なIP負荷分散ソフトウェア(IPVS)、アプリケーションレベル負荷分散ソフトウェア(KTCPVS)、およびクラスタ管理コンポーネントを開発することです。
LVSは、Web、電子メール、メディア、VoIPサービスなどの拡張性と可用性に優れたネットワークサービスの構築や、大規模で信頼性の高い電子商取引や電子政府アプリケーションへの拡張可能なネットワークサービスの統合に利用できます。LVSベースのソリューションは、 Wikipediaをはじめとする世界中の多くの実用アプリケーションで既に導入されています。
LVSコンポーネントはLinux Netfilterフレームワークに依存しており、そのソースコードはLinuxカーネルnet/netfilter/ipvsソース内のサブディレクトリにあります。LVSは、UDP、TCPレイヤ4プロトコル、およびレイヤ7パケットを検査することでFTPパッシブ接続を処理できます。ディレクトリ内にカウンタの階層構造を提供します。/proc
LVSの設定に使用されるユーザーランドユーティリティプログラムはipvsadmと呼ばれ、実行にはスーパーユーザー権限が必要です。
LVS は、関連するソース ファイルとともに以下にリストされているいくつかのバランシング スケジューラを実装しています。[ 3 ]
ip_vs_rr.c)ip_vs_wrr.c)ip_vs_lc.c)ip_vs_wlc.c)ip_vs_lblc.c)ip_vs_lblcr.c)ip_vs_dh.c)ip_vs_sh.c)ip_vs_sed.c)ip_vs_nq.c)ip_vs_mh.c)一般的に使用される用語には、次のものがあります。[ 4 ]
2台の実機サーバーを使用して仮想HTTPサーバーをセットアップする:
ipvsadm -A -t 192.168.0.1:80 -s rr ipvsadm -a -t 192.168.0.1:80 -r 172.16.0.1:80 -m ipvsadm -a -t 192.168.0.1:80 -r 172.16.0.2:80 -m 最初のコマンドは、仮想サーバーにIPアドレス192.168.0.1のTCPポート80を割り当てます。負荷分散に選択されたスケジューリングアルゴリズムはラウンドロビンです()。2番目と3番目のコマンドは、実サーバーのIPアドレスをLVS設定に追加します。転送されるネットワークパケットはマスクされます()。[ 5 ]-s rr-m
上記で設定したLVSセットアップのステータスを照会します。
# ipvsadm -L -n IP仮想サーバー バージョン1.0.8 (サイズ=65536) 保護ローカルアドレス:ポートスケジューラフラグ -> リモートアドレス:ポート転送ウェイト アクティブ接続 非アクティブ接続 TCP 192.168.0.1:80 rr -> 172.16.0.2:80 Masq 1 3 1 -> 172.16.0.1:80 Masq 1 4 0