LVSは+ keepalivedの非常に良い(高可用性システムでは、システムのスケーラビリティ、負荷分散)を達成することができ、LVSは、健康診断、フェイルオーバーを提供し、システムの可用性を向上させるkeepalivedの、ロード・バランシングを提供します。
keepalivedの作品
keepalivedのは、VRRPに基づいたプロトコルで、LVSサービスの可用性ソリューション仮想ルータ冗長プロトコル(VRRPと呼ばれる仮想ルータ冗長プロトコル)を達成するために、あなたは、単一障害点を避けるためにそれを使用することができます。
冗長プロトコルをルーティングする仮想、プロトコルルータは、ステージNルータへについて、高可用性と考えることができるルータ群の同じ機能を提供し、マスタと複数のバックアップを持つグループは、VIPがある(上記マスタの外部サービスを提供VIPのためにルーティングされるルータLAN)バックアップがマスター遊び人アウトは、その後、あなたは選挙がVRRPの優先順位に応じたときに、バックアップが必要であることを考慮VRRPパケットを受信しない場合、マスターは、マルチキャスト送信されます内の他のマシンをデフォルトマスター。だから我々は、ルータの高可用性を確保することができます。
はじめとLVS作品
LVSはLinuxの仮想サーバが仮想サーバクラスタであることを意味しており、Linuxの仮想サーバーの略です。プロジェクトは1998年に博士張温-歌によって設立されました、それは最初に登場し、中国でのフリーソフトウェアプロジェクトの一つです。
3つのIP負荷分散技術は現在ありません。
DR (Direct Routing)
NAT (Network Address Translation)
TUN
スケジューリングアルゴリズムの10種類(RRR | WRR | LC | WLC | LBLC | lblcr | DH | SH | sedの| NQ)。
LVSは、主にサーバロードバランシングクラスタに使用されます。それは、高パフォーマンス、高可用性サーバーのクラスタリング技術を実現することができ、ネットワーク層で動作します。これは、スーパーサーバーを形成するために一緒に、低性能サーバーの数の組み合わせで安価です。それは、使用、シンプルな構成、およびロードバランシングの様々な方法に簡単です。これは、サーバーでも、サーバークラスタ内では動作しません、それは全体的な結果には影響しない、安定性と信頼性です。さらに、拡張性にも非常に良いです。
(1)LVSは、OSIモデルの第四の層の上に構築されている4層のロード・バランシング、ある - 輸送層の上に、輸送層は馴染みのTCP / UDPを有し、LVSは、TCP / UDPロードバランシングをサポートします。LVSロードバランシングが4であるので、それはそのような代替のDNSドメイン名の解決、アプリケーション層負荷スケジューリング、クライアント・スケジューリングのような他の高レベルの負荷分散ソリューションと比較している場合、その効率は非常に高いです。
(2)は、主に(ソースアドレス及び宛先アドレスの変更修正SNAT DNATにNATモード)IPアドレスを変更することによって達成転送LVS、MAC(DRモード)先を変更します。
モードNAT:ネットワークアドレス変換
NAT(ネットワークアドレス変換)技術ネットワークと外部ネットワークアドレスのマッピングです。NATモード、内外のネットワークパケットがLVSプロセスを通過します。ゲートウェイRS(実サーバ)として必要LVS。パケットがLVSに到達すると、LVSターゲットはアドレス変換(DNAT)、IP RSへの送信先IPを行います。それは同じのクライアントに直接送信されている場合、RSパッケージを受け取った後。処理されたRSは、応答が返され、IP RSは、送信元IP、送信先IPクライアントのIPです。クライアントのルックスに、このパッケージは、LVSがそれに直接返されるかのように、そして、ゲートウェイ(LVS)トランジットを介してパッケージをRS、LVSは(SNAT)をソースNATを行います、パケットの送信元アドレスは、VIPに変更されます。クライアントは、バックエンドのRSの存在を認識することはできません。
DRモード:直接ルーティング
(VIPはRSループバック実装によって結合)LVSとDRモードRSのクラスタが同じVIPをバインドする必要がありますが、そのNATで異なる:LVSからの要求を受信し、サービスを提供するために、実サーバを( LVSずに戻ったときにRealServerは、RS)を直接、ユーザーに返されます。リクエストが来たビューの詳細、ネットワークのLVS MACアドレスがパケットのみを処理する対応するRSに転送されます、MACのRSのフレームを変更する必要があります。ご注意送信元と送信先IPがないこと変更、LVSはちょうどビット詐欺を行います。RSはまた、彼はIP、パケットが合法的に受け入れられ、RS知覚できないLVSは、以前に存在している見つけ、上位ネットワーク層に、LVS、リンクレイヤ検出MAC自分自身で転送されたパケットを受信します。RSの応答を返すには、LVSを受けることなく、長いIP(すなわち、ユーザーのIP)できる限りソースに直接戻ったとき。
(3)DRロードバランシングモードデータ配信処理は、IPアドレスと宛先IPアドレスの一致を要求する実際の実際の物理的な処理要求データは、アドレス変換が負荷分散サーバによって必要とされないため、MACアドレスのみを変更し、IPアドレスを変更しません、応答パケットは、ユーザーのブラウザ、NICのボトルネック帯域を回避するために、サーバロードバランシングに直接返されます。そのため、DRモデルは、より良いパフォーマンスが、大規模なサイトでは現在、負荷分散の最も広く使用される手段である持っています。
実際:LVS + keepalivedの-DRモード
環境を準備します
Centos6(LVSを行う2つは)4台のサーバ
サービスが停止iptablesの
setenforceを0
プライマリおよびスタンバイ動作のLVS、およびインストールする必要がありipvsadmi keepalivedの
#yum ipvsadmのkeepalivedの-Y
主要LVSの操作
キープアライブの設定ファイルを変更します
[root@ localhost ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER \\初始状态
interface eth0 \\VIP的网卡
virtual_router_id 51
priority 100 \\优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.189.181 \\VIP地址
}
}
virtual_server 192.168.189.181 80 { \\虚拟服务器
delay_loop 6
lb_algo rr \\算法
lb_kind DR \\模式
nat_mask 255.255.255.0 \\子网掩码
protocol TCP \\虚拟服务器协议
real_server 192.168.189.163 80 { \\真实服务器web1的ip地址和端口
weight 1 \\权重
TCP_CHECK { \\健康检查模块
connect_timeout 3
connect_port 80
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.189.164 80 { \\真实服务器web2的ip地址和端口
weight 1 \\权重
TCP_CHECK { \\健康检查模块
connect_timeout 3
connect_port 80
nb_get_retry 3
delay_before_retry 3
}
}
}
設定が完了すると、ファイアウォールをオフにして、keepalivedの開始
サービスがスタートしkeepalivedの
VIP生成するかどうかを確認するために
ip a
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fc:d6:23 brd ff:ff:ff:ff:ff:ff
inet 192.168.189.161/24 brd 192.168.189.255 scope global eth0
inet 192.168.189.181/32 scope global eth0
LVSバックアップホスト動作
备份主机keepalived的配置文件和主的基本相同,需要修改初始状态和优先级即可
vrrp_instance VI_1 {
state BACKUP \\初始状态BACKUP
interface eth0 \\VIP的网卡
virtual_router_id 51
priority 90 \\优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.189.181 \\VIP地址
}
}
其他配置和LVS主机一样
配置完毕后关闭防火墙并启动keepalived
service iptables stop
setenforce 0
service keepalived start
Webサービスの設定
の構成や内容などの前に
1.のhttpdをインストールし、テストページを作成
2.増加のLO:0を、バインドおよびVIP
3.修正ARPレベルは
静的ルーティング増やす4.
ファイアウォールオフ5.ターン
すべての設定が完了したら、主要LVSで次のコマンドを実行し、LVSは増加し、成功するかどうかを確認するためにルール
ipvsadmの-Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.189.181:80 rr
-> 192.168.189.163:80 Route 1 0 0
-> 192.168.189.164:80 Route 1 0 0
若有规则输出说明成功
テスト結果へのVIPアクセス
そして、私たちはLVS +は、クラスタ構成、keepalvied実現することを、成功したエレガントな場合は、エレガントなLVSかどうか、バックアップホストの主のVIP keepalivedのテストを停止し、通常の訪問することができ
、可用性の高いLVSの実装を成功さを