在虚拟机上搭建LVS+Keepalived服务器集群

1、在VMwareWorkstation上搭建三台虚拟机,均安装Centos 6.5系统,配置网络环境,使三台虚拟机能互相ping通。

1.1、配置网络环境:在这三台虚拟机中均是用网络地址转换(NAT)方法,具体操作见参考网址:http://blog.csdn.net/whatday/article/details/7939406注意一定要关闭主机和虚拟机的防火墙,否则即使配置好也不能让三台虚拟机和主机之间互相通信

2、将上述三台虚拟机中的任何一台作为Master,将其他两台则作为realserver,分别命名为realserver1和realserver2。

3、先是在Master中做如下操作:

3.1、配置Linux虚拟服务器(LVS)环境

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器(Master)具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器在自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。

配置操作如下:

3.1.1、安装依赖包

yum install gccgcc-c++ makepcre pcre-devel kernel-devel openssl-devel libnl-devel popt-devel

3.1.2、检查linux内核是否集成lvs模块:modprobe –l| grep ipvs

3.1.3、开启路由转发功能:echo“1” > /proc/sys/net/ipv4/ip_forward

3.1.4、安装ipvsadm

  • 下载ipvsadm-1.26.tar.gz
  • tar  -zxvf ipvsadm-1.26.tar.gz
  • cd  ipvsadm-1.26
  • make && makeinstall

3.1.5、安装keepalived

  • 下载keepalived-1.2.7.tar.gz
  • tar zxvf  keepalived-1.2.7.tar.gz
  • cd keepalived-1.2.7
  • ./configure  --prefix=/usr/local/keepalived
  • make && make install

 3.1.6、将keepalived配置成系统服务

  • cp /usr/local/keepalived/etc/rc.d/init.d/keepalived/    etc/init.d/
  • cp /usr/local/keepalived/etc/sysconfig/keepalived/    etc/sysconfig/
  • mkdir /etc/keepalived/
  • cp /usr/local/keepalived/etc/keepalived/keepalived.conf /   etc/ keepalived/
  • cp /usr/local/keepalived/sbin/keepalived/   usr/sbin/

3.1.7、修改主keepalived配置文件,是/etc/keepalived/keepalived.conf文件。配置文件的内容如下:

! Configuration File for keepalived

global_defs {
notification_email {
#acassen@firewall.loc
#failover@firewall.loc
#sysadmin@firewall.loc
}
#notification_email_from Alexandre.Cassen@firewall.loc
#smtp_server 192.168.200.1
#smtp_connect_timeout 30
router_id LVS_MASTER
}

vrrp_instance VI_1 {
state MASTER
interface eth4
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.31/24
}
}

virtual_server 192.168.0.31 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.0.131 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.0.132 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}

这里需要注意一点的是,在配置文件中的

TCP_CHECK  {

connect_timeout  3

nb_get_retry   3

delay_before_retry  3

}

TCP_CHECK后一定加一个“空格”,否则在配置完整个运行环境并运行ipvsadm –ln后,仅能成功添加一个真实服务器的ip,而不是两个

 

4、  两个realserver虚拟机中安装httpd

Httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计成一个独立运行的后台进程,会建立一个处理请求的子进程或线程的池。

4.1、安装步骤

  • 下载httpd-2.4.4
  • ./configure  --prefix=/usr/local/httpd
  • make && make install

   4.2、在realserver1中,修改httpd的配置文件,使其能显示“This is realserver1”

   4.3 、在realserver2中,同样也修改httpd的配置文件,使其能显示“This is realserver2”

   4.4 、编写lvs.sh脚本文件,分别在realserver1和realserver2的家目录下。lvs.sh的脚本内容如下:

ifconfig lo:0 192.168.40.31 netmask 255.255.255.0 up
route add -host 192.168.40.31 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

   4.5 、将lvs.sh脚本文件修改为可执行文件

  • chmod u+x lvs.sh

 

5、  在两个realserver中启动httpd服务和lvs.sh脚本

  • /etc/init.d/httpd  start
  • ~/lvs.sh  start

6、  在Master中启动keepalived服务

  • /etc/init.d/keepalived start

7、  在Master运行如下命令:

  • ipvsadm  -ln

若结果如下显示,则表明环境配置成功,服务器集群搭建成功。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值