主節點安裝
環境
[root@test2 ~]# keepalived -v
Keepalived v1.3.5 (03/19,2017)
HostName | IP | DES |
---|---|---|
test1 | 192.168.180.46 | master |
test2 | 192.168.180.47 | node-1 |
test3 | 192.168.180.48 | node-2 |
test4 | 192.168.181.18 | node-3 |
一、安裝部署
二、配置檔案
檢視目前要指定虛IP的網卡
[root@test2 ~]# ip add | grep ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.180.46/24 brd 192.168.180.255 scope global noprefixroute ens160
[root@test2 ~]#
[root@test2 ~]# vim /etc/keepalived/keepalived.conf
# 1 全局塊
global_defs {
# 接收郵件的郵箱清單
notification_email {
[email protected]
}
notification_email_from [email protected] # 發送郵件的人
smtp_server smtp.exmail.qq.com # smtp伺服器位址
smtp_connect_timeout 30 # smtp逾時時間
router_id eric_keepalived_node_1 # 機器辨別
vrrp_skip_check_adv_addr
vrrp_garp_interval 0
vrrp_gna_interval 0
}
# 2 VRRP協定 執行個體塊
vrrp_instance ERIC_VI_1 { # 定義一個vrrp的執行個體塊,執行個體塊的名稱可以任意起,最好是字元串,這裡我們定義的是 ERIC_VI_1
state BACKUP # 定義目前安裝keepalived軟體的伺服器是 主節點(MASTER) 還是 備份節點(BACKUP)。
virtual_router_id 56 # 虛拟路由ID,主備必須要一緻,負責相同虛拟IP的keepalived叢集,範圍是0-255
priority 100 # 優先級,誰的優先級高,誰更容易成為主節點
nopreempt # 設定 nopreempt 防止搶占資源
advert_int 1 # 主備伺服器之間的通信間隔,機關是秒。
# 伺服器之間的認證方式
authentication {
auth_type PASS # 指定認證方式。PASS簡單密碼認證(推薦),AH:IPSEC認證(不推薦)。
auth_pass 1111 # 指定認證所使用的密碼。最多8位。
}
interface ens160 # 指定虛拟IP定義在那個網卡上面(本機指定為 ens160 網卡)
# 定義虛拟IP塊。客戶通過該ip通路伺服器
virtual_ipaddress {
192.168.180.168/24 # 與指定的網卡是同一網段虛拟IP(使用ip add進行檢視ens160 網卡的網段)
}
}
三、啟動
四、檢視是否建立成功
備節點與主節點不同,需要停掉主節點,備節點才可以查到虛拟IP;
由此可見,
KeepAlived 高可用是通過動态切換生成虛拟IP位址來達到的高可用!
[root@test2 ~]# ip add | grep ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.180.46/24 brd 192.168.180.255 scope global noprefixroute ens160
# 發現多了一個虛拟IP就是成功了
inet 192.168.180.168/24 scope global secondary ens160
[root@test2 ~]#