keepalivedの設計目標は、あなただけではなく、ホットスタンバイとして、サーバー・プールの管理、仮想サーバーを作成するためのツールをipvsadmの呼び出すことができ、高可用性LVSロードバランシングクラスタを構築することです。LVSロードバランサは、ホットスタンバイスイッチングを実現する可用性、サーバノードプールのヘルスチェックを増やし、自動的に障害が発生したノードを削除し、復元し、再参加するkeepalivedのは、使用のより多くのしやすさを構築使用してLVSクラスタは、主な利点は、中に反映されています。
ベースLVS(DRモード)+ LVSクラスタ構造は、荷重を加えると、本実験LVS DRモデルベースのクラスタリングでは、少なくとも2つのホットスタンバイロードバランサ、二つ以上のサーバノードを含む、実装keepalivedの:スケジューラは、両方の負荷分散を構築するために、ホットスタンバイスケジューラから、keepalivedのマスターを使用して、高可用性サイトLVSクラスタの両方のプラットフォーム機能を、実験は図のトポロジに示した実装
の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共有ストレージを構築することをお勧めします!
--------この記事の最後に、これまで、読んでくれてありがとう--------