一、去官方網站下載最新版本的軟件包http://www.keepalived.org/software/keepalived-1.2.22.tar.gz
准備3台服務器,可以使用VMware虛擬機
IP 192.168.1.104 Windows7 用來測試
IP 192.168.1.107 Linux 主機
IP 192.168.1.108 Linux 主機
虛擬IP 192.168.1.220
二、安裝
1:加壓縮
tar -zxvf keepalived-1.2.2.tar.gz
2:進入到解壓完的目錄
cd keepalived-1.2.2
3:配置安裝位置,在這步之前需要安裝 openssl 和 openssl-devel YUM分別安裝 yum install openssl 和 yum install openssl-devel
./configure --prefix=/home/wangpl/mine/soft/keepalived-1.2.2 (/home/wangpl/mine/soft/keepalived-1.2.2路徑隨便哪裡都可以)
成功以後的樣子,注意 USE IPVS Framework 一定要先已經裝載,否則先安裝LVS
LVS的RPM包地址http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26-1.src.rpm 直接用YUM安裝
4:編譯與安裝
make && make install
5:安裝完成後系統會在/home/wangpl/mine/soft/keepalived-1.2.2目錄下生成 bin etc sbin share 這 4 個目錄。
其中一個模板的配置文件(keepalived.conf)在 /home/wangpl/mine/soft/keepalived-1.2.2/etc/keepalived 這個路徑下
創建一個目錄,並拷貝配置文件
mkdir -p /etc/keepalived/ keepalived啟動時默認去這個路徑加載配置文件
cp /home/wangpl/mine/soft/keepalived-1.2.2/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
6:修改配置文件
默認的配置文件中,使用第三方smtp服務器,但這在現實中幾乎沒有意義(需要驗證的原因),我們將其指定為localhost, 將通知信息的發送交給本地sendmail服務處理。查閱說明文檔得知route_id配置是為了標識當前節點,我將其設置為NodeA。當然兩個節點的此項設置可相同,也可不相同。
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id NodeA
}
vrrp_instance VI_1 {
state MASTER #指定A節點為主節點 備用節點上設置為BACKUP即可
interface eth0 #綁定虛擬IP的網絡接口
virtual_router_id 51 #VRRP組名,兩個節點的設置必須一樣,以指明各個節點屬於同一VRRP組
priority 100 #主節點的優先級(1-254之間),備用節點必須比主節點優先級低
advert_int 1 #組播信息發送間隔,兩個節點設置必須一樣
authentication { #設置驗證信息,兩個節點必須一致
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #指定虛擬IP, 兩個節點設置必須一樣
192.168.1.220
}
}
需要注意的是
<span >interface eth0 這個的網卡名稱一定別弄錯了,要弄成自己的。可以使用 ip a 命令查看</span>
按同樣的方法配置節點B並修改配置文件,可將A節點的配置文件復制到B節點,並修改以下幾項:
router_id NodeB
state BACKUP
priority 99
其它項不必修改。
7:啟動keepalived
/home/wangpl/mine/soft/keepalived-1.2.2/sbin/keepalived -D
8:查看進程
ps aux | grep keepalived
Keepalived 正常運行時,共啟動 3 個進程,其中一個進程是父進程,負責監控其子進程;一個是 vrrp 子進程;另外一個是 checkers 子進程
9:我們可以在查看網卡綁定情況,可以看到虛擬IP已經綁定到網卡上了。
10:測試
在192.168.1.104 Windows7機器上可以 ping 192.168.1.220 ,發現可以通了。也可以在倆台主機上開啟tomcat測試。
我們通過ARP -a 命令來查看220的MAC地址,看它現在綁定在哪台服務器上,下圖可以看到綁定在了107上,
現在讓我們把107關機,再看看效果。發現MAC地址馬上綁定在108主機上了。也就是說虛擬IP已經漂到備機上了。
11、在真實環境中,如果出現VIP訪問不到的情況,我們可以使用抓包工具來分析數據包,解決問題。
參考資料
http://blog.csdn.net/conquer0715/article/details/47955553 http://www.keepalived.org/pdf/sery-lvs-cluster.pdf