一、IP信息列表: 名稱 IP LVS-DR-VIP 192.168.50.245 LVS-DR-Master 192.168.50.216 LVS-DR-BACKUP 192.168.50.217 MySQL1-Realserver 192.168.50.212 MySQL2-Realserver 192.168.50.213 GateWay 192.168.50.254 其他(部署LVS過程中無需配置): MGM管理節
一、IP信息列表:
名稱 IP
LVS-DR-VIP 192.168.50.245
LVS-DR-Master 192.168.50.216
LVS-DR-BACKUP 192.168.50.217
MySQL1-Realserver 192.168.50.212
MySQL2-Realserver 192.168.50.213
GateWay 192.168.50.254
其他(部署LVS過程中無需配置):
MGM管理節點 192.168.50.211
NDBD存儲節點1 192.168.50.214
NDBD存儲節點2 192.168.50.215
一. 安裝LVS和Keepalvied軟件包
1. 下載相關軟件包
#cd /usr/local/src/tarbag
#wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
#wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz
2. 安裝LVS和Keepalived
#lsmod |grep ip_vs
#uname -r
2.6.18-128.el5
#ln -s /usr/src/kernels/2.6.18-128.el5-i686/ /usr/src/linux
//這步一定要做,否則ipvsadm編譯會報錯
#tar zxvf ipvsadm-1.24.tar.gz
#cd ipvsadm-1.24
#make && make install
#tar zxvf keepalived-1.1.15.tar.gz
#cd keepalived-1.1.15
#./configure && make && make install
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
#mkdir /etc/keepalived
#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
#cp /usr/local/sbin/keepalived /usr/sbin/
#chkconfig add keepalived
#chkconfig keepalived on #做成系統服務
#service keepalived start|stop|status
二、配置lvs與RealServer腳本
1.lvs腳本(主備兩臺LVS上操作)
#vi /usr/local/sbin/lvs-dr.sh
//以下為腳本內容
#!/bin/bash
# description: start LVS of DirectorServer
#Written by :NetSeek http://www.linuxtone.org
GW=192.168.50.254 #當前局域網網關ip
# website director vip.
MySQL_VIP=192.168.50.246 #MySQL虛擬IP地址
MySQL_RIP1=192.168.50.212
MySQL_RIP2=192.168.50.213
/etc/rc.d/init.d/functions
logger $0 called with $1 #記錄到系統日志messages
case "$1" in
start)
# set squid vip
/sbin/ipvsadm --set 30 5 60 #分別為協議tcp tcpfin udp 的超時時間
/sbin/ifconfig eth0:0 $MySQL_VIP broadcast $MySQL_VIP netmask 255.255.255.255 broadcast $MySQL_VIP up #新建VIP
/sbin/route add -host $MySQL_VIP dev eth0:0 #為VIP添加路由
/sbin/ipvsadm -A -t $MySQL_VIP:3306 -s wrr -p 3 #添加一個VIP
/sbin/ipvsadm -a -t $MySQL_VIP:3306 -r $MySQL_RIP1:3306 -g -w 1 #將VIP:3306的請求轉發到RIP1上,-g表示使用DR模式,-w表示權重為1
/sbin/ipvsadm -a -t $MySQL_VIP:3306 -r $MySQL_RIP2:3306 -g -w 1
touch /var/lock/subsys/ipvsadm >/dev/null 2>&1 #新建文件ipvsadm,主要用來表示服務器已經啟動,為status做準備
;;
stop)
/sbin/ipvsadm -C #清空LVS所有規則
/sbin/ipvsadm -Z #所有服務器計數器清零
ifconfig eth0:0 down #禁用虛擬網卡eth0:0
route del $MySQL_VIP #刪除VIP的路由
rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
echo "ipvsadm stoped"
;; #相當于C語言中的break,跳出case
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then #如果ipvsadm不存在則輸出ipvsadm stoped
echo "ipvsadm stoped"
exit 1
else
echo "ipvsadm OK"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
2.RealServer腳本(所有MySQL上操作)
#vi /usr/local/sbin/realserver.sh
#!/bin/bash
# description: Config realserver lo and apply noarp
#Written by :NetSeek http://www.linuxtone.org
MySQL_VIP=192.168.50.245 #虛擬IP
/etc/rc.d/init.d/functions #這個作用暫時不知道,知道的同學幫忙修改一下
case "$1" in
start)
ifconfig lo:0 $MySQL_VIP netmask 255.255.255.255 broadcast $MySQL_VIP #新建虛擬ip,LVS中所有的VIP都一致
/sbin/route add -host $MySQL_VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $MySQL_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
三、啟動相關服務
1.主備LVS
#chmod 755 /usr/local/sbin/lvs-dr.sh #賦予執行權限
#/usr/local/sbin/lvs-dr.sh #啟動lvs
#service keepalived start #啟動keepalived服務
2.MySQL Cluster中的2臺SQL節點
#cd /usr/local/sbin
#chmod 755 realserver.sh
#./realserver.sh
四、測試
方法1:
#telnet 192.168.50.245 3306
N
5.1.39-ndb-7.0.9-cluster-gpl-log菔1sti5i5+;*^{qFI{OWJ
//出現以上內容說明請求轉發成功
方法二:
使用mysql的各種客戶端工具連接mysql。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com