Keepalived配置和測試過程for linux
Keepalived配置和測試過程for linux
安裝環境:
兩臺server:System x3650 M3
Node1:硬碟:130G CPU:2顆E5620 @ 2.40GHz 記憶體:4G
Node2:硬碟:130G CPU:2顆E5620 @ 2.40GHz 記憶體:8G
1、 安裝redhat 6.4系統
用U盤安裝rhel-server-6.4-x86_64-dvd.iso
分割槽:
/boot 200M
/boot/efi 200M
Swap 4096M
/ 13000M
只安裝Basic版本,不要安裝桌面
需要在language裡面選擇chinese包
安裝系統完成後設定網路卡eth0
2、 設定keepalived
Node1:
! Configuration File for keepalived
global_defs {
router_id 234567 #router_id,配置一個網路唯一的ID
}
vrrp_instance VI_3 { #為keeplived例項號,一般一臺伺服器只有1個例項,不用更改
state BACKUP #為keepalived初始狀態,此處需要設定成BACKUP
nopreempt #配置為非搶佔模式,在node1切到node2,vip從node1飄到node2後,node1恢復後,服務不會再切回node1,而是繼續讓node2做MASTER,服務在node2上面繼續跑
interface eth0 #為啟用keepalived的介面,根據實際情況設定
virtual_router_id 40 #為keepalived虛擬ID,同一叢集必須相同
priority 100 #服務優先順序,MASTER設定為100,BACKUP設定為90
advert_int 1 #心跳區間設定為1秒
authentication {
auth_type PASS
auth_pass 10101010 #設定驗證密碼,同一叢集必須相同
}
virtual_ipaddress {
172.16.0.120 dev eth0 label eth0:0 #設定服務IP,dev label可省略
}
notify_master "/etc/keepalived/notify.sh master" #切換成master,執行一次指令碼
notify_backup "/etc/keepalived/notify.sh backup" #切換成backup,執行一次指令碼
notify_fault "/etc/keepalived/notify.sh fault" #切換成fault,執行一次指令碼
}
Node2:
! Configuration File for keepalived
global_defs {
router_id 123456
}
vrrp_instance VI_3 {
state BACKUP
nopreempt
interface eth0
virtual_router_id 40
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 10101010
}
virtual_ipaddress {
172.16.0.120 dev eth0 label eth0:0
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
3、 設定notify. sh
Node1:
#!/bin/bash
#
case $1 in
master)
service httpd restart #此行為應用啟動指令碼,根據應用更改
echo "master" >>/etc/keepalived/log
;;
backup)
service httpd stop #此行為應用啟動指令碼,根據應用更改
echo "backup" >>/etc/keepalived/log
;;
fault)
service httpd stop #此行為應用啟動指令碼,根據應用更改
echo "fault" >>/etc/keepalived/log
;;
esac
Node2:
#!/bin/bash
#
case $1 in
master)
service httpd restart
echo "master" >>/etc/keepalived/log
;;
backup)
service httpd stop
echo "backup" >>/etc/keepalived/log
;;
fault)
service httpd stop
echo "fault" >>/etc/keepalived/log
;;
esac
4、 其他設定
關閉兩個系統的防火牆
設定keepalived服務開機啟動:chkconfig keepalived on
5、 進行keepalived服務切換試驗
初始狀態:
Node1:
Node2:
重啟Node1上的keepalived服務:Vip從node1漂移到了node2
VIP掉了一個包(advert_int 1 #心跳區間設定為1秒)間隔是1秒
Node1上的httpd服務停止,Node1變成backup
Node2上的httpd服務啟動,Node2變成master
重啟Node2上的keepalived服務:
Vip從node2漂移到了node1
在重啟keepalived的時候,每個節點的VIP會進行漂移,在VIP漂移到某個節點的時候,這個節點的httpd服務也相應會起來。而沒有VIP節點的httpd服務會關閉。
比如:
Node1的IP:172.16.0.121
Node2的IP:172.16.0.122
VIP:172.16.0.120
Httpd的服務在哪個節點,那麼就可以透過那個節點的IP和VIP共同訪問Apache的測試網頁。
6、 用插拔網線來測試服務漂移情況
拔出Node1上的網線:
服務漂到Node2上
插上Node1上的網線:
Node2的VIP沒有漂回到Node1,因為在Node1上設定了非搶佔模式
拔出Node2的網線
VIP漂到了Node1上
插上Node2的網線
VIP仍然在node1上,沒有漂到node2上
測試OK
表示keepalived的非搶佔模式成功
如果遇到非搶佔模式不成功的話,因為這兩臺伺服器都是透過交換機連線的,可以把連線交換機的埠設定為快速轉發即可
int eth 1/0/1
stp disable
stp edged-port enable
因為可能是網路埠的延遲導致了非搶佔不生效,比如說拔下node1的網線再插上,可能系統認為網路埠已經起來了,但是因為stp的存在,導致兩臺伺服器網路之間的互信有延遲,node1可能認為node2是非存活狀態,就把自己當做master拉起來了,等兩端網路互信完成,就沒有透過非搶佔,而是直接比較優先順序,node1優先順序高,繼續維持master狀態。
所以這裡加快了網路埠的轉發速度,使網路埠在第一時間實現互通,node1第一時間認為node2是存活的,就應用了非搶佔模式,node1變成了backup,node2還是做master。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2121215/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體效能測試有哪些測試過程?
- 軟體測試面試過程解析面試
- 系統測試-從研發到測試過程
- JB的測試之旅-Linux下配置Linux
- APP自動化測試過程概述APP
- 滲透測試對app安全測試實戰過程分享APP
- 回顧專案測試全過程,測試如何回答 “測完了嗎?”
- MySQL主從配置及haproxy和keepalived搭建MySql
- springboot引導上下文載入過程和配置載入過程Spring Boot
- vue測試安裝和配置Vue
- keepalived配置問題
- 效能測試過程中最佳化-3:
- Mask RCNN測試過程經驗總結CNN
- 效能測試工具JMeter的安裝及環境配置--Windows和LinuxJMeterWindowsLinux
- centos7上keepalived的安裝和配置CentOS
- 軟體測試裁員後進入硬體行業做測試的過程和小感觸行業
- linux mysql5.6版本的安裝配置過程LinuxMySql
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 軟體系統測試有哪些測試過程?系統測試報告如何收費?測試報告
- 軟體測試過程中的痛點思考
- 測試過程需不需要踐行敏捷?敏捷
- 測試過程中如何快速定位一個 bug
- 測試過程中如何快速定位一個bug
- 在平時的測試過程中,測試需要做推進工作嗎?
- Linux測試上行和下載速率Linux
- keepalived(一)原理介紹和配置檔案詳解
- 15211-Repchain配置過程AI
- MGR測試過程中出現的問題彙總
- 電商APP測試過程中遇到的問題APP
- Zookeeper 在Windows下的安裝過程及測試Windows
- 神通資料庫測試環境調優過程資料庫
- 從測試小白到測試組長,談談我的測試過程及管理經驗總結
- Android中View的測量和佈局過程AndroidView
- Keepalived部署與配置詳解
- 教你如何用Keepalived和HAproxy配置高可用 Kubernetes 叢集
- Linux 啟動過程分析Linux
- linux呼叫儲存過程Linux儲存過程
- 軟體測試應該重點關注的測試過程,廣東軟體測試公司推薦
- 軟體驗收測試的測試過程和內容有哪些?權威的軟體檢測機構哪家比較好?