SELS 11 SP3负载均衡LVS+keepalived.docx
《SELS 11 SP3负载均衡LVS+keepalived.docx》由会员分享,可在线阅读,更多相关《SELS 11 SP3负载均衡LVS+keepalived.docx(14页珍藏版)》请在冰豆网上搜索。
SELS11SP3负载均衡LVS+keepalived
SUSE11SP3负载均衡部署方法
把开发包gccC++选上,编译安装软件时需用上。
到了网络配置
要把防火墙关掉,点击“disable”
按默认配置全部配置完成。
中途会要求设置root用户密码和创建一个新用户密码。
二.LVSMASTER机器安装配置
更改网卡IP地址
cd/etc/sysconfig/network
viifcfg-eth0
以下是参考内容:
BOOTPROTO='static'把原来的dhcp改成static
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.168.10'
MTU=''
NAME='VMXNET3EthernetController'
NETMASK='255.255.255.0'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
增加网关:
在同一目录/etc/sysconfig/network
新增一个名为routes的文件,直接命令
Viroutes
内容为default192.168.168.254
重启网卡服务
Servicenetworkrestart
用ifconfig–a命令查看ip地址配置是否正确。
用netstat–rn命令查看路由是否正确启用。
使用远程工具SecureCRT登录。
并使用工具自带的Sftp功能把需要安装的软件包上传到服务器上
放软件包的本地电脑
以下是sftp的操作过程:
sftp>lcdE:
\software\linux_open
sftp>cd/tmp
sftp>putcluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64.rpm
Uploadingcluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64.rpmto/tmp/cluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64.rpm
100%86KB86KB/s00:
00:
00
E:
/software/linux_open/cluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64.rpm:
88709bytestransferredin0seconds(86KB/s)
sftp>putipvsadm-1.26-5.9.1.x86_64.rpm
Uploadingipvsadm-1.26-5.9.1.x86_64.rpmto/tmp/ipvsadm-1.26-5.9.1.x86_64.rpm
100%37KB37KB/s00:
00:
00
E:
/software/linux_open/ipvsadm-1.26-5.9.1.x86_64.rpm:
38828bytestransferredin0seconds(37KB/s)
sftp>putopenssl-devel-0.9.8j-2.1.x86_64.rpm
Uploadingopenssl-devel-0.9.8j-2.1.x86_64.rpmto/tmp/openssl-devel-0.9.8j-2.1.x86_64.rpm
100%995KB995KB/s00:
00:
00
E:
/software/linux_open/openssl-devel-0.9.8j-2.1.x86_64.rpm:
1018912bytestransferredin0seconds(995KB/s)
sftp>putkeepalived-1.2.15.tar.gz
Uploadingkeepalived-1.2.15.tar.gzto/tmp/keepalived-1.2.15.tar.gz
100%337KB337KB/s00:
00:
00
E:
/software/linux_open/keepalived-1.2.15.tar.gz:
345471bytestransferredin0seconds(337KB/s)
sftp>
已经上传到/tmp目录上。
安装
查看ip_vs模块是否在核心里
susetest:
/tmp#lsmod|grepip_vs
没有,需要安装下面这个包才有
susetest:
/tmp#rpm-ivhcluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64.rpm
Preparing...###########################################[100%]
packagecluster-network-kmp-default-1.4_3.0.76_0.9-2.23.24.x86_64isalreadyinstalled
susetest:
/tmp#modprobeip_vs
再查看,已经有了,表示支持LVS.
susetest:
/tmp#lsmod|grepip_vs
ip_vs_wlc125191
ip_vs1543223ip_vs_wlc
nf_conntrack871191ip_vs
ip6_tables275241ip_vs
libcrc32c126441ip_vs
ipv6_lib34491430ip_vs,ipv6
接下来安装下面的包
susetest:
/tmp#rpm-ivhipvsadm-1.26-5.9.1.x86_64.rpm
Preparing...###########################################[100%]
packageipvsadm-1.26-5.9.1.x86_64isalreadyinstalled
susetest:
/tmp#rpm-ivhopenssl-devel-0.9.8j-2.1.x86_64.rpm
warning:
openssl-devel-0.9.8j-2.1.x86_64.rpm:
HeaderV3DSAsignature:
NOKEY,keyID3e34cec9
Preparing...###########################################[100%]
packageopenssl-devel-0.9.8j-2.1.x86_64isalreadyinstalled
susetest:
/tmp#
解压keepalived
susetest:
/tmp#tar-zxvfkeepalived-1.2.15.tar.gz
susetest:
/tmp#cdkeepalived-1.2.15/
编译安装
susetest:
/tmp/keepalived-1.2.15#./configure
susetest:
/tmp/keepalived-1.2.15#echo$?
这句验证上一句执行返回码,如果为0则正常,1或2为不正常。
0
susetest:
/tmp/keepalived-1.2.15#make
susetest:
/tmp/keepalived-1.2.15#echo$?
0
susetest:
/tmp/keepalived-1.2.15#makeinstall
susetest:
/tmp/keepalived-1.2.15#echo$?
0
新建目录keepalived在/etc下
susetest:
/usr/local/etc/keepalived#mkdir-p/etc/keepalived
susetest:
/usr/local/etc#cd/etc/keepalived/
创建keepalived.conf配置文件
susetest:
/etc/keepalived#vikeepalived.conf
!
ConfigurationFileforkeepalived
global_defs{
router_idLVS_DEVEL
}
vrrp_instanceVI_1{
stateBACKUP
interfaceeth0
virtual_router_id51
priority100
advert_int1
nopreepmt#此句作用为防止强制接管服务
authentication{
auth_typePASS
auth_pass1111
}
virtual_ipaddress{
192.168.168.100
}
}
virtual_server192.168.168.10080{
delay_loop6
lb_algowlc
lb_kindDR
persistence_timeout300
protocolTCP
real_server192.168.168.11180{
weight1
HTTP_GET{
url{
path/
status_code200
}
connect_timeout3
nb_get_retry3
delay_before_retry1
}
}
real_server192.168.168.11280{
weight1
HTTP_GET{
url{
path/
status_code200
}
connect_timeout3
nb_get_retry3
delay_before_retry1
}
}
}
保存退出。
把启动脚本写入系统自启动
susetest:
/etc/rc.d#vi/etc/rc.d/boot.local
#!
/bin/sh
#
#Copyright(c)2002SuSELinuxAGNuernberg,Germany.Allrightsreserved.
#
#Author:
WernerFink,1996
#BurchardSteinbild,1996
#
#/etc/init.d/boot.local
#
#scriptwithlocalcommandstobeexecutedfrominitonsystemstartup
#
#Hereyoushouldaddthings,thatshouldhappendirectlyafterbooting
#beforewe'regoingtothefirstrunlevel.
#启动加入下面这句
/usr/local/sbin/keepalived
启动时直接执行/usr/local/sbin/keepalived
更改了配置以后,直接使用kill–HUP进程号进行更新,此方法不中断进程运行。
susetest:
/etc/keepalived#ps-ef|grepkeepalived
root41851010:
14?
00:
00:
00/usr/local/sbin/keepalived
root41864185010:
14?
00:
00:
00/usr/local/sbin/keepalived
root41874185010:
14?
00:
00:
00/usr/local/sbin/keepalived
root42823988010:
17pts/200:
00:
00grepkeepalived
susetest:
/etc/keepalived#kill-HUP4185
停止时使用kill的方式来杀进程,使用ps–ef|grepkeepalived查看进程号。
三.LVSBACKUP机器安装配置
安装软件包及方法与MASTER一样,只有/etc/keepalived/keepalived.conf的配置把以下两句修改成:
为了防止让主LVS在重新online的时候把服务接管,则主备都把state改成BACKUP
priority100改为90(比主LVS的小一点)
其他一样。
四.app服务器上的LVS部署
无论有多少台应用服务器,配置都一致。
只需运行一个脚本就可以实现,运行前请修改脚本内容IP地址为实际IP。
在系统启动脚本中加入以下红色内容:
susetest:
/etc/rc.d#vi/etc/rc.d/boot.local
#!
/bin/sh
#
#Copyright(c)2002SuSELinuxAGNuernberg,Germany.Allrightsreserved.
#
#Author:
WernerFink,1996
#BurchardSteinbild,1996
#
#/etc/init.d/boot.local
#
#scriptwithlocalcommandstobeexecutedfrominitonsystemstartup
#
#Hereyoushouldaddthings,thatshouldhappendirectlyafterbooting
#beforewe'regoingtothefirstrunlevel.
#
#下面的IP地址请改为实际IP,不要改掩码。
ifconfiglo:
0192.168.168.100netmask255.255.255.255broadcast192.168.168.100
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
五.压力测试
5.1冗余功能测试
测试的方法可以使用拔网线、停止keepalived进程服务。
可以使用apr–a的方法来查看切换是否成功。
判断的方法为,如果MAC地址改变了,则切换成功,如以下例子:
Windows测试端
持续ping测试连续性
你会发现,在切换的时候ping是持续的,没有中断。
六.小结
以上例子是以tcp80端口服务作为LVS负载均衡例子,如需其他端口请修改配置。