LinuxのLVS + keepalivedの高可用性、負荷分散/(DR)戦闘の下で

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の実装を成功さを

公開された32元の記事 ウォンの賞賛6 ビュー3068

おすすめ

転載: blog.csdn.net/SKTONE_SHUAI/article/details/104387808