1. 程式人生 > >HA+LVS 高可用叢集

HA+LVS 高可用叢集

在這裡插入圖片描述
keepalived:採用VRRP熱備份協議,可一主多備,優先順序不同。
NFS不做 NAT模式那一篇有

使用keepalived實現雙機熱備。

chkconfig NetworkManager off
chkconfig iptables off
cat /etc/sysconfig/selinux  #例行公事四臺都要這樣。

裝外掛兩臺lvs都要裝
yum -y install kernel-devel openssl-devel popt-devel ipvsadm keepalived

在這裡插入圖片描述

modprobe ip_vs #載入ipvs模組 兩臺lvs都需要

在這裡插入圖片描述

#修改核心引數( /etc/sysctl.conf)檔案,關閉ICMP重定向。
vim /etc/sysctl.conf 
sysctl -p

在這裡插入圖片描述
在這裡插入圖片描述

chkconfig --add keepalived 
chkconfig keepalived on
#新增為系統服務 開機自啟 兩臺都要

在這裡插入圖片描述

配置主排程器

/etc/keepalived/keepalived.conf # 主配檔案 以下為主配檔案的內容
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
[email protected] [email protected] } notification_email_from [email protected] #郵箱 smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL1 #本路由器名稱 } vrrp_instance VI_1 { #定義vrrp熱備份例項 state MASTER #熱備狀態 MASTER表示主伺服器 BACKUP表示備份 interface eth0 #承載VIP地址的物理介面 virtual_router_id 51 #承載路由器的ID號,每個熱備組要保持一致 priority 100 #優先順序,越大優先順序越高,也叫佔先權 advert_int 1 #通告間隔秒數(心跳頻率) authentication { #認證資訊 每個熱備組保持一致 auth_type PASS #認證型別 auth_pass 1111 #密碼字串 } virtual_ipaddress { #指定漂移地址(vip)可以有多個 200.0.0.100 } } virtual_server 200.0.0.100 80 { #虛擬伺服器(vip)地址、埠 delay_loop 15 #健康檢查的間隔時間 lb_algo rr #rr輪詢排程演算法 lb_kind DR #直接路由(DR)群集模式 !persistence_timeout 50 #連線保持時間,啟用就去掉感嘆號,這個配置檔案"!"代表註釋 protocol TCP #應用服務採用TCP協議 real_server 200.0.0.4 80 { #第二個web節點地址、埠 weight 1 #權重 TCP_CHECK { #健康檢查方式 connect_port 80 #檢查的目標埠 connect_timeout 3 #連線超時(秒) nb_get_retry 3 #重試次數 delay_before_retry 3 #重試間隔(秒) } } real_server 200.0.0.3 80 { #第三個web節點地址、埠 weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

service keepalived start
ip a #啟動服務 檢視漂移地址

在這裡插入圖片描述

從排程器配置

scp [email protected]:/etc/sysctl.conf /etc/
sysctl -p  #從主伺服器複製檔案,重新整理
scp [email protected]:/etc/keepalived/keepalived.conf  /etc/keepalived/

在這裡插入圖片描述
這裡把主配檔案需要改的東西列出來

   router_id LVS_DEVEL2 #改本路由器名字
   state BACKUP         #BACKUP從伺服器模式
   priority 90          #優先順序  要低於主排程器

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

chkconfig --add keepalived 
chkconfig keepalived on
service keepalived start

在這裡插入圖片描述

web1伺服器的配置

#修改核心引數 /etc/sysctl.conf檔案,關閉ARP應答。
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
sysctl -p

在這裡插入圖片描述
在這裡插入圖片描述

# ifcfg-lo:0配置群集ip地址200.0.0.100,子網掩碼為255.255.255.255
DEVICE=lo:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=200.0.0.100
NETMASK=255.255.255.255
ifup lo:0

在這裡插入圖片描述
在這裡插入圖片描述

#建立測試網頁
echo 111111 > /var/www/html/index.html
service httpd start

在這裡插入圖片描述

route add -host 200.0.0.100 dev lo:0 #寫路由記錄,最好寫進/etc/rc.local  開機自動執行

在這裡插入圖片描述

web 2 配置與web1基本相同

scp [email protected]:/etc/sysctl.conf  /etc/
sysctl -p

在這裡插入圖片描述

scp [email protected]:/etc/sysconfig/network-scripts/ifcfg-lo:0 /etc/sysconfig/network-scripts/

ifup lo:0     #遠端複製過來,啟用

在這裡插入圖片描述

echo 55555555 > /var/www/html/index.html
service httpd start

在這裡插入圖片描述

route add -host 200.0.0.100 dev lo:0

在這裡插入圖片描述
client訪問
在這裡插入圖片描述
分配給了不同的伺服器
在這裡插入圖片描述

poweroff
#關閉主排程器

在這裡插入圖片描述
主出現問題 由從接管服務
在這裡插入圖片描述
在這裡插入圖片描述

#主正常之後,漂移地址變回來了。

在這裡插入圖片描述