RHEL6.5 + Keepalived 實現雙機熱備
目錄:
3.2 Master/slaver分別配置防火牆........................................................................ 3
3.3 配置RHEL6.5本地鏡像yum源........................................................................... 4
3.3.1 爲本地鏡像創建掛載目錄......................................................................... 4
3.3.2 掛載DVD至本地新建目錄......................................................................... 4
3.3.3 備份yum源配置文件................................................................................ 4
3.3.4 修改yum源配置文件................................................................................ 4
3.3.5 清除舊的緩存數據................................................................................... 5
3.3.6 配置本地yum源完成................................................................................ 5
6.1 在本機上查看虛擬ip狀態................................................................................ 8
6.2 在同一網段的其他機器上查詢arp緩存............................................................. 9
6.3 停掉master的master網絡/keepalived........................................................... 9
6.4 重啓master網絡/keepalived服務................................................................. 10
7.1 (master/slave)分別安裝http服務:......................................................... 11
7.3 Master正常情況訪問測試............................................................................... 11
7.4 Master宕機或者keepalived服務異常............................................................ 12
Keepalived實現雙機熱備
首先有一個虛擬ip暴露給客戶端,虛擬ip對應的mac地址爲一臺真實服務器,即用戶向虛擬ip發送一個請求,該請求會被分發到真實服務器上。
現在有2臺真實服務器,一臺master,一臺backup,master和backup上都運行着keepalived,當master掛了的時候,backup檢測之後,自己成爲master,且arp緩存虛擬ip對應的mac地址將變爲backup的mac地址,這樣請求虛擬ip的報文會被髮送到backup。
架構圖如下:
主機:192.168.1.171
備機:192.168.1.172
虛擬ip:192.168.1.173
操作系統:RedHat Enterprise Linux 6.5 x86_64
操作系統安裝過程網上安裝文檔較多,此過程省略。
分別在master和slaver主機寫入
#vim /etc/hosts
192.168.1.171 rhelha01.site
192.168.1.172 rhelha02.site
關閉防火牆
#serviceiptables stop
#vim/etc/selinux/config
SELINUX=disabled
利用RHEL6.5操作系統光盤製作一個本地yum源,具體配置步驟如下:
#mkdir /media/mnt
#mount /dev/cdrom /media/mnt
#cp /etc/yum.repos.d/rhel-source.repo/etc/yum.repos.d/rhel-source.repo.backup
#vim /etc/yum.repos.d/rhel-source.repo
刪除原有內容,添加如下:
[RHEL-Source]
name=local ios
baseurl=file:///media/mnt/
enabled=1
gpgcheck=0
gpgkey=file:///media/mnt/RPM-GPG-KEY-redhat-release
yum clean all
yum makecache
yum list
下載:keepalived-1.2.16.tar.gz
http://www.keepalived.org/download.html
# tar zxf keepalived-1.2.16.tar.gz
cd keepalived-1.2.16
#./configure --disable-fwmark--prefix=/usr/local/keepalived
#make && make install
mkdir/etc/keepalived/
cp/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp/usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/
ln -s/usr/local/keepalived/sbin/keepalived /sbin/
vi /etc/keepalived/keepalived.conf
###############################################
Maste! Configuration File forkeepalived
global_defs {
notification_email {
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_typePASS
auth_pass1111
}
virtual_ipaddress {
192.168.1.173
}
}
######################################################
vi /etc/keepalived/keepalived.conf
Backup 和master一樣,只要修改如下地方:
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99 # 這裏改爲99,master優先級是100
advert_int 1
authentication {
auth_typePASS
auth_pass1111
}
virtual_ipaddress {
192.168.1.173
}
}
停止
service keepalived stop
啓動
service keepalived start
重啓
service keepalived restart
查看狀態
service keepalived status
ip add
#arp -a
這裏的1.73對應的mac地址6a:c7(即master的MAC地址)。
6.3 停掉master的master網絡/keepalived
#servicekeepalived stop
在同一網段的其他機器上查詢arp緩存
#arp –a
發現1.173的mac地址已經變爲5a:7c(即slave的mac地址)。
在同一網段的其他機器上,測試連接1.173,發現成功切換到ha02(1.172)主機。
# arp -a
這裏的1.73重新對應的mac地址6a:c7(即master的MAC地址)。
在同一網段的其他機器上,測試連接1.173,發現成功切換到ha01(1.171)主機。
那麼主備雙機熱備就完成了!
#cd/media/mnt/Packages/
#yum install -yhttpd*
#service httpdstart
#chkconfighttpd on
Master:
#echo"redhat-ha-master-server01">>/var/www/html/index.html
Slaver:
#echo"redhat-ha-master-server02">>/var/www/html/index.html
可以看到服務已經由redhat-ha-master-server01自動轉換至redhat-ha-master-server02.
1.master主機掛了,或者master 上keepalived掛了之後,可以切換到slave
2.在主機宕機或斷網後可能需要重啓keepalived服務。