LVS(DRモード)+ keepalivedの高可用性クラスタを構築し、あなたが今行うことができます!!!

keepalivedの設計目標は、あなただけではなく、ホットスタンバイとして、サーバー・プールの管理、仮想サーバーを作成するためのツールをipvsadmの呼び出すことができ、高可用性LVSロードバランシングクラスタを構築することです。LVSロードバランサは、ホットスタンバイスイッチングを実現する可用性、サーバノードプールのヘルスチェックを増やし、自動的に障害が発生したノードを削除し、復元し、再参加するkeepalivedのは、使用のより多くのしやすさを構築使用してLVSクラスタは、主な利点は、中に反映されています。

ベースLVS(DRモード)+ LVSクラスタ構造は、荷重を加えると、本実験LVS DRモデルベースのクラスタリングでは、少なくとも2つのホットスタンバイロードバランサ、二つ以上のサーバノードを含む、実装keepalivedの:スケジューラは、両方の負荷分散を構築するために、ホットスタンバイスケジューラから、keepalivedのマスターを使用して、高可用性サイトLVSクラスタの両方のプラットフォーム機能を、実験は図のトポロジに示した実装
LVS(DRモード)+ keepalivedの高可用性クラスタを構築し、あなたが今行うことができます! ! !
のWebを伴う実験環境に、その二つの構造サイトサーバー、スケジューラとNFS共有ストレージは、同じネットワークセグメント上のWebノードは、実験手順を簡素化します。本番環境では、通常の状況下では、共有ストレージに読み取りおよび書き込み操作を向上させるために、スイッチを単離する必要性と、スケジューラ、同じセグメント上のWebノードとメモリを共有することはできません。実際の環境では、スケジューラは、ウェブ・ノードは、共有ストレージとの通信を容易にするために、少なくとも2枚のネットワークカードを必要とします。実験環境、ビットを簡素化する、誰も理解がたくさん!

keepalivedのを使用する場合はLVSクラスタ管理ツールもipvsadmの(負荷スケジューリング効果を確認するために使用)を使用する必要が構築し、仕事のほとんどは、手動で(クラスタ外の表示と監視に加えて)ipvsadmのを実行しなくても、自動的にkeepalivedので行います。NFSは、共有ストレージを設定する方法で、設定NFSはストレージが特に簡単で共有しました!実験では、NFSクラスタが友人ボーエンを参照することができためかわからない、それをしない:LVSロードバランシングNATモードを構築するクラスタを、あなたが今行うことができます!

実験手順:

構成されたマスター・スケジューラ

1.グローバルコンフィギュレーション、ホット・スタンバイ構成

スケジューラから達成するための第一主ホットスタンバイ機能、ドリフトVIPは、LVSクラスタアドレスに対応しています。

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
//关闭防火墙和SELinux
[root@localhost ~]# yum -y install keepalived ipvsadm
//安装相应的服务、工具
[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
//编辑Keepalived服务的配置文件
  //配置文件少了许多没必要的东西,比如关于邮件的内容,为了更加简便的理解其配置文件内容
global_defs {                                              
   router_id LVS_DEVEL1                     //主调度器名称
}

vrrp_instance VI_1 {
    state MASTER                               //主调度器的热备状态
    interface ens33
    virtual_router_id 1
    priority 100                                     //主调度器的优先级
    advert_int 1
    authentication {                              //主、从热备认证信息
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {                        //指定群集VIP地址(可以有多个)
        192.168.1.254
    }
}

keepalivedのサービスに関するプロフィール詳細はボーエンを参照することができます。keepalivedのは、ホットスタンバイは詳細な実現を使用します

2.Keepalivedプロファイルウェブサービスプールの構成

追加「VIRTUAL_SERVERのVIPポートは、{...}」keepalivedのに基づくスペアエリア設定で仮想サーバーを構成し、負荷がヘルスチェック間隔、実サーバアドレスのパラメータを設定するスケジューラアルゴリズム、クラスタモードを、含まれています。

[root@localhost ~]# vim /etc/keepalived/keepalived.conf 
                                           ……………………………………
//省略Keepalived配置文件的全局配置、热备配置
virtual_server 192.168.1.254 80 {                                 //虚拟服务器地址(VIP)、端口
    delay_loop 15                                                           //健康检查的间隔时间(秒)
    lb_algo rr                                                                  //轮询(rr)调度算法
    lb_kind DR                                                               //直接路由(DR)群集工作模式
    !  persistence_timeout 50                                        
        //连接保持时间(秒),“!”表示不启用的意思,为了验证效果,建议禁用。
    protocol TCP                                                            //应用服务采用的是TCP协议

    real_server 192.168.1.3 80 {                                  //第一个Web节点的地址
        weight 1                                                             //节点的权重
        TCP_CHECK {                                                  //健康检查方式
            connect_port 80                                            //检查的目标端口
            connect_timeout 3                                        //连接超时(秒)
            nb_get_retry 3                                              //重试次数
            delay_before_retry 4                                    //重试间隔
        }
    }

    real_server 192.168.1.4 80 {                              //第二个Web节点的地址、端口
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }
    }
        //如果有多个Web节点服务器,依次添加即可!
}
//注意配置文件的“{}”,较多,小心修改
[root@localhost ~]# systemctl start keepalived
//启动Keepalived服务

スケジューラからの第二に、コンフィギュレーション

ルータの名前ホットスタンバイ状態(状態)(のROUTER_ID)、プライオリティ(優先度):実質的にグローバルコンフィギュレーションを含むマスタースケジューラからスケジューラ、同様の構成は、ホット・スタンバイ構成、プール構成サーバは、単にグローバルコンフィギュレーションを変更します。

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
//关闭防火墙和SELinux
[root@localhost ~]# yum -y install keepalived ipvsadm
//安装相应服务、工具
[root@localhost ~]# vim /etc/keepalived/keepalived.conf
//编辑Keepalived服务的配置文件
global_defs {
   router_id LVS_DEVEL2                        //从调度器名称
}

vrrp_instance VI_1 {
    state BACKUP                                    //热备状态(备用)
    interface ens33
    virtual_router_id 1
    priority 99                                           //从调度器的优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.254
    }
}

virtual_server 192.168.1.254 80 {
    delay_loop 15
    lb_algo rr 
    lb_kind DR 
    !  persistence_timeout 50
    protocol TCP

    real_server 192.168.1.3 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }   
    }   

    real_server 192.168.1.4 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 4
        }   
    }   
}   

マーク、および同じマスタースケジューラと場所の残りの部分は、(同じでなければならない)場合を除き!
スタートはkeepalivedの[ルートlocalhostの@〜]#systemctlの
//はkeepalivedのサービスを開始

第三に、Webサーバー・ノードを構成します


選択されたクラスタ(DRまたはNAT)、また、異なる構成サーバノードの動作モードに応じ。DRモードでの実験は、例えば、必要に加えて、仮想インタフェース(LO:0)に必要な/ PROC ARP応答システムパラメータ、調整するVIPアドレスの設定をし、VIPのローカルルーティングを追加します。ボーエンを参照することができますWebサーバー・ノードを構築する方法についてはDRモード:負荷のLVSクラスタをDRモードを構築均衡は、あなたが今行うことができます!

手順は以下のとおり:

[root@localhost ~]# systemctl stop firewalld
s[root@localhost ~]# setenforce 0
//关闭防火墙与SELinux
[root@localhost ~]# yum -y install httpd
//安装http服务
[root@localhost ~]# echo qqqqq > /var/www/html/index.html
[root@localhost ~]# systemctl start httpd
//修改Web节点服务器的主页内容,并启动http服务
[root@localhost ~]# vim /etc/sysctl.conf
//修改内核参数,添加以下内容
net.ipv4.conf.all.arp_ignore  =  1
net.ipv4.conf.all.arp_announce  =  2
net.ipv4.conf.default.arp_ignore  =  1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore  =  1
net.ipv4.conf.lo.arp_announce  = 2
[root@localhost ~]# sysctl -p
//加载内核参数
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.254
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0
[root@localhost network-scripts]# ifup lo
[root@localhost network-scripts]# ifconfig lo:0
lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 192.168.1.254  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)
//为本机(lo)网卡添加虚拟IP
[root@localhost ~]# route add -host 192.168.1.254 dev lo:0
//添加一条到VIP的本地路由

かかわらず、いくつかのWebサーバー・ノードの、構成は同じです!
2つのWebサーバー・ノードのホーム・ページを示唆されていないテスト用と同じ!実際の生産環境では、NFSは、共有ストレージを設定されます自動的にWebサーバー・ノードのホーム・ページの内容を同期させるために(ブログを構築する方法についてのNFS共有ストレージは、冒頭で言及されています)!

第四に、試験LVS(DRモード)+ keepalivedの高可用性クラスタ

ブラウザクライアントでは、メインは、スケジューラのいずれかの障害から、あなたはまだ(必要とすることができるWebサイトにアクセスすることができたときに、クラスタの可能keepalivedの+のVIPアドレス(192.168.1.254)LVS(DRモード)を介してWebページのコンテンツへの通常のアクセスでありますまたは)、ブラウザを再オープンするために数回を更新し、サーバー・プールが二つ以上のノードを持つか、二つの実Webサーバーが利用可能である限り、あなたがして(ロードバランシングは効果のバランスをとるト​​ラフィック負荷を達成することができLVSロードバランシング効果)よりもはるかに多くの!自分自身を認証します!

メインでは、に応じての/ var / log / messagesには、スケジューラからファイル追跡フェイルオーバーをログに記録します。負荷の分布を確認するには、マスタースケジューラにすることができ、次のコマンドを実行します。

[root@localhost ~]# 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.1.254:80 rr
  -> 192.168.1.3:80               Route   1      1          0         
  -> 192.168.1.4:80               Route   1      1          0   

あなたがツールをipvsadmのインストールしたい理由です。
結局LVS(DRモード)+堅牢性keepalivedの可用性負荷分散クラスタを検証!

(実際の環境がそうしなければなりません)、一貫したサービスノードのWebコンテンツを確保するために、NFS共有ストレージを構築することをお勧めします!

--------この記事の最後に、これまで、読んでくれてありがとう--------

おすすめ

転載: blog.51cto.com/14157628/2439181