linux集群系列(一):LVS+Keepalived以DR模式实现负载均衡
Linux 下LVS+Keepalived负载均衡的搭建本负载均衡采用DR模式,是在vmware虚拟机下做的搭建。1 搭建前的准备1.1 软件目录规划windows下目录规划K:\VMWare 安装虚拟机软件K:\VMWareOS 安装CentOSK:\Download 用于保存下载软件linux中目录规划/home/download 用于保存下
Linux 下LVS+Keepalived负载均衡的搭建
本负载均衡采用DR模式,是在vmware虚拟机下做的搭建。
1 搭建前的准备
1.1 软件目录规划
windows下目录规划
K:\VMWare 安装虚拟机软件
K:\VMWareOS 安装CentOS
K:\Download 用于保存下载软件
linux中目录规划
/home/download 用于保存下载软件
/usr/local/tomcat7 用于保存apache服务器
/root/用于保存启动脚本文件
1.2 下载所需软件
注:本系统和软件均为:64位
CentOS下载
系统版本:CentOS-7-x86_64-Everything-1503-01.iso
下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1503-01.iso
ipvadm下载
软件版本:ipvsadm-1.25-10.el6.src.rpm
下载地址:http://rpm.pbone.net/index.php3/stat/3/srodzaj/2/search/ipvsadm-1.25-10.el6.src.rpm
keepalived下载
软件版本:keepalived-1.1.20-1.1.x86_64.rpm
下载地址:
http://rpm.pbone.net/index.php3/stat/4/idpl/23618185/dir/centos_5/com/keepalived-1.1.20-1.1.x86_64.rpm.html
tomcat下载
软件版本:apache-tomcat-7.0.62.tar.gz
下载地址:http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
mysql下载
软件版本:MySQL Database 5.6.22 RPM for Oracle Linux / RHEL7 x86 (64bit)
下载地址:http://pan.baidu.com/s/1dDu6n9R
ssh下载
软件版本:SSH Secure File Transfer Client
下载地址:
http://xiazai.zol.com.cn/down.php?nn=51f96998d48039bb2&softid=372685&subcateid=49&site=10&server=10&rand=195128
2 CentOS系统的安装
系统安装请参看: http://jingyan.baidu.com/article/eae0782787b4c01fec548535.html
注意:1.本集群需要在外网访问,所有系统的网络模式选择host-only(选择nat模式可能监测不出网卡),硬件配置根据自己的需求设定。
2.无法安装虚拟系统的,需要设置BIOS
设置BIOS请参看:http://www.jianhui.org/his-host-supports-intel-vt-x-but-intel-vt-x-is-disabled-issue.html
3.CentOS安装过程中软件选择:选择开发和工作站
2.1 网络设置
统一将vmware内部系统的网络设置为192.168.184.1
1. windows网络设置
注意:在网络共享时,网络会改成192.168.137.1,这时要重新更改vmnet1的网络地址。
1.1网络共享设置
1.2网络ip设置
2. vmware网络设置
3. centOS网络设置
3.1命令模式
1.网络脚本文件夹
2.修改网卡属性
3.2界面模式
1.进入到网络管理界面
2.配置网卡属性
附:vim的使用,按i字母进入编辑模式
按esc退出编辑模式
按“shift+:”进入命名行(需要先按esc)
在命令行输入”wq!” 为保存退出,”q!”为退出。
2.2 下载源设置
软件下载源配置,主要是有些下载源无法下载软件,配置下载源,方便下载以前版本的软件。
1. 界面模式
2. 命令模式
2.3 selinux设置
2.4 防火墙设置
centos 7:
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
之前的版本:
service iptables stop #停止
chkconfig iptables off #禁用
查看防火墙状态:
3 SSH安装
请参看:http://www.centoscn.com/CentOS/config/2013/0926/1713.html
4 网络拓扑规划
5 LVS的搭建(ipvsadm)
在linux内核版本为2.6以上的版本可以免安装此软件,因为高版本已经集成。
1. 安装
在线安装
wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz
tar zxvf keepalived-1.2.4.tar.gz
cd keepalived-1.2.4
./configure && make&& make install
2. 文件配置
负载均衡上的脚本配置(负载均衡服务器)
名称:lvs.sh
#!/bin/bash
vip=192.168.184.130
rs1=192.168.184.133
rs2=192.168.184.134
#ifconfigens33:0 $vip netmask 255.255.255.255 broadcast $vip up
#routeadd -host $vip dev ens33:0
#routeadd -host $vip dev ens33
echo"1">/proc/sys/net/ipv4/ip_forward
echo"0" >/proc/sys/net/ipv4/conf/all/send_redirects
echo"0" >/proc/sys/net/ipv4/conf/default/send_redirects
echo"0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
#clearipvs tables
ipvsadm-C
#setLVS Server
ipvsadm-A -t $vip:8080 -s rr
ipvsadm-a -t $vip:8080 -r $rs1:8080 -g -w 1
ipvsadm-a -t $vip:8080 -r $rs2:8080 -g -w 1
#update/etc/sysctl.conf # ,以下配置重启后将复原
#echo"1" >/proc/sys/net/ipv4/ip_forward
#echo"1" >/proc/sys/net/ipv4/conf/all/send_redirects
#echo"1" >/proc/sys/net/ipv4/conf/default/send_redirects
#echo"1" >/proc/sys/net/ipv4/conf/eth0/send_redirects
ipvsadm
#sysctl –p
真实服务器上的脚本文件(web服务器)
名称:rs.sh
#!/bin/bash
vip=192.168.184.130
ifconfiglo:0 $vip netmask 255.255.255.255 broadcast $vip up
routeadd -host $vip dev lo:0
#gw $vip
#echo"1">/proc/sys/net/ipv4/ip_forward
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
6 Keeppalived的搭建
keeppalived的安装
在线安装
wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz
tar zxvf keepalived-1.2.4.tar.gz
cd keepalived-1.2.4
./configure && make&& make install
rpm安装
rpm –ivh keepalived-1.2.7-3.el6.x86_64.rpm
keeppalived的配置
主机keepalived配置
!Configuration File for keepalived
global_defs{
notification_email {
458294684@qq.com
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS01
}
vrrp_instanceVI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.184.130
}
}
virtual_server192.168.184.130 8080 {
delay_loop 3
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.184.133 8080 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
real_server 192.168.184.134 8080 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
}
备机keepalived配置
!Configuration File for keepalived
global_defs{
notification_email {
458294684@qq.com
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS02
}
vrrp_instanceVI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.184.130
}
}
virtual_server192.168.184.130 8080 {
delay_loop 3
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.184.133 8080 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
real_server 192.168.184.134 8080 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 8080
}
}
}
7 apatch的搭建
注:不用绑定ip地址,否则会出错。
7.1下载apatch服务器软件apache-tomcat-7.0.40.tar.gz
下载地址:http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
7.2 解压
tar –xzf apache-tomcat-7.0.40.tar.gz
7.3 将apache-tomcat-7.0.40改名为tomcat
mv apache-tomcat-7.0.40 tomcat
7.4 放入/usr/local/
sudo mv tomcat /usr/local/
7.5进入/usr/local/tomcat
cd /usr/local/tomcat
7.6进入到/tomcat/bin目录下修改vim catalina.sh
#OS specific support. $var _must_ be set to either true or false.
在这行上面再定义一次CATALINA_HOME以及JAVA_HOME:
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java/jdk1.7.0_21
保存退出
7.7 启动tomcat
sudo ./bin/startup.sh
7.8停止tomcat:
sudo ./bin/shutdown.sh
如有不懂请参看:http://www.33lc.com/article/7459.html
7.9进入到tomcat web管理界面,需要配置权限,配置权限请参看
http://tonysmith.iteye.com/blog/1295288
8 mysql的搭建
注:高版本的centos不再集成mysql数据库,因为oracle的原因。centos使用了mysql数据库的另一分支:mariadb,mariadb原理和操作方式几乎和mysql一样。
搭建mysql前需要将原理的mariadb卸载掉。
1.安装mysql和卸载mariadb的方法请参看:
http://www.it165.net/database/html/201501/10403.html
http://mrlee23.iteye.com/blog/2103729
2.配置远程访问:http://www.cnblogs.com/24la/p/mariadb-remoting-access.html
3.Linux系统下安装完MySQL,启动MySQL报错:http://www.splaybow.com/post/linux-mysql.html
9.启动顺序
1.启动keepalived
service keepalived start
2.启动ipvadm
ipvadm -ln
3.启动路由脚本
./lvs.sh
./rs.sh
4.启动tomcat
./cataline.sh
先启动web,再启动lvs
注:如有问题,请留意截图。源文件将上传至百度网盘中。
更多推荐
所有评论(0)