LVS KeepaLived集群

       LVS Keepalived 方案是和LVS Heartbeat 同样的高可用加负载均衡方案, Keepalived 于node

Heartbeat 相比在部署和管理方面都大大简化了。linux

 

 

 

1.0 集群环境列表算法

 

IP 地址主机名说明后端

---------------loader Balance 负载层----------------服务器

192.168.140.140 VIP负载均衡

192.168.140.141 Web-Director LVS Directoride

192.168.140.143 Web-Backup Keepalived Backupoop

---------------Sserver custer 服务器集群层----------------测试

192.168.140.137 Web-node1 Web 节点  网站

192.168.140.139 Web-node2 Web 节点

---------------Storage 存储层-----------------------

 

1.1 其它注意事项

 

1> LVS Keepalived 方案ipvsadm 的管理有keepalived 负责。

2> LVS 后端节点的监控检查也是keepalived 进行。

3> 注意内核版本和ipvsadm 版本的对应。

4> 注意ip_vs 模块是否载入内核。

 

1.2 部署LVS Keepalived

 

检查内核版本和模块

 

[root@Web-Director ~]# uname -r

2.6.18-164.el5

[root@Web-Director ~]# modprobe ip_vs

[root@Web-Director ~]# lsmod | grep ip_vs

ip_vs 121473 0

 

 

1.3 下载软件包

 

[root@Web-Director ~]# ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux

[root@Web-Director ~]# cd /usr/local/src

[root@Web-Director src]# wget

http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

[root@Web-Director src]# wget

http://www.keepalived.org/software/keepalived-1.1.20.tar.gz

 

1.4 安装ipvsadm

 

注意:Web-Director 和Web-Backup 安装相同

 

[root@Web-Director src]# tar zxvf ipvsadm-1.24.tar.gz

[root@Web-Director src]# cd ipvsadm-1.24

有关安装的相关信息,能够查看该目录下的README 文件。

[root@Web-Director ipvsadm-1.24]# make && make install

安装完毕后会产生如下文件:

/sbin/ipvsadm

/sbin/ipvsadm-save

/sbin/ipvsadm-restore

/usr/man/man8/ipvsadm.8

/usr/man/man8/ipvsadm-save.8

/usr/man/man8/ipvsadm-restore.8

/etc/rc.d/init.d/ipvsadm

 

 

1.5 安装Keepalived

注意:Web-Director 和Web-Backup 安装相同

 

[root@Web-Director src]# tar zxvf keepalived-1.1.20.tar.gz

[root@Web-Director src]# cd keepalived-1.1.20

[root@Web-Director keepalived-1.1.20]# ./configure --prefix=/usr/local/keepalived

Keepalived configuration

------------------------

Keepalived version : 1.1.20

Compiler : gcc

Compiler flags : -g -O2

Extra Lib : -lpopt -lssl -lcrypto

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

Use VRRP Framework : Yes

Use Debug flags : No

若是出现以上输出,说明能够正常编译安装。

[root@Web-Director keepalived-1.1.20]# make && make install

[root@Web-Director ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived

/etc/rc.d/init.d/

[root@Web-Director ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@Web-Director ~]# /usr/local/keepalived/sbin/keepalived --help

若是你执行了keepalived 命令,你会发现它默认去/etc/keepalived/keepalived.conf 找配置文件,

因此咱们要把配置文件建立到此处方便启动,固然,你也能够本身制定配置文件位置。

[root@Web-Director ~]# mkdir /etc/keepalived

[root@Web-Director ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf

/etc/keepalived/

[root@Web-Director ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

 

1.6 LVS 配置

 

   LVS 配置是由keepalived 依靠/etc/keepalived/keepalived.conf 来进行配置的,也就是说我

们不须要手动配置ipvsadm 程序,可是咱们作为LVS DR 模式运行,不能忘了对真实机的配。

 

RealServer 配置 -------这里直接用脚本执行

 

[root@Web-node1 ~]# /sbin/realserver.sh start

RealServer Start OK

[root@Web-node2 ~]# /sbin/realserver.sh start

RealServer Start OK

 

在RealServer 执行完realserver.sh 后,必定要检查:

 

[root@Web-node1 ~]# ifconfig lo:0

lo:0 Link encap:Local Loopback

inet addr:192.168.140.140 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

[root@Web-node2 ~]# ifconfig lo:0

lo:0 Link encap:Local Loopback

inet addr:192.168.140.140 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

这样才表示与VIP地址绑定好了。

 

1.7 Keepalived 配置

 

   这是LVS Keepalived 集群方案的核心,主要集中在/etc/keepalived/keepalived 文件上。

Keepalived 有两种状态,MASTER 和BACKUP,配置大体类似。

 

Web-Director 配置

 

下面是一个配置好的keepalived.conf 文件,对于每行用注释说明。

[root@Web-Director ~]# cat /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs { #全局定义块

notification_email {

admin@unixhot.com #邮件通知模块,定义通知邮件地址。

}

notification_email_from localhost #

smtp_server 127.0.0.1 #定义SMTP Server

smtp_connect_timeout 30 #SMTP 连接超时时间

router_id LVS_MASTER #运行keepalived 机器的一个标识,注意:Web-Backup 应该不

同,修改成LVS_BACKUP

}

 

vrrp_instance VI_1 {

state MASTER #实例状态,注意:Web-Backup 应该修改成BACKUP

interface eth0 #指定对外服务的网卡。

virtual_router_id 51

priority 101 #优先级,注意:Web-Backup 应该修改比这个值小

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.140.140

}

}

virtual_server 192.168.140.140 80 {

delay_loop 6 #健康检查的时间间隔

lb_algo wrr #负载均衡的调度算法

lb_kind DR #负载均衡转发模式

nat_mask 

255.255.255.0

persistence_timeout 50 #会话保持时间,针对动态网站

protocol TCP #转发的协议

real_server 192.168.140.137 80 { #真实机的设置

weight 1 #真实机的权重,在带有加权调度的调度算法中有用

TCP_CHECK { #TCP 健康检查

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

 

}

}

real_server 192.168.140.139 80 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

 

BACKUP 端配置

BACKUP 端配置和MASTER 几乎同样,能够直接用scp 从MASTER 端复制一份过来,作如下修改即

可:

router_id LVS_MASTER

state MASTER

priority 101

 

 

1.8  LVS Keepalived 方案测试

 

 启动keepalived 服务

[root@Web-Director ~]# /etc/init.d/keepalived start

[root@Web-Backup ~]# /etc/init.d/keepalived start

 

  VIP 切换测试

 

[root@Web-Director ~]# ip ad li eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:0c:29:57:04:db brd ff:ff:ff:ff:ff:ff

inet 192.168.140.141/24 brd 192.168.140.255 scope global eth0

inet 192.168.140.140/32 scope global eth0

inet6 fe80::20c:29ff:fe57:4db/64 scope link

valid_lft forever preferred_lft forever

 

能够发现,默认的VIP 是绑定在优先级比较高的这台MASTER 上,也就是Web-Director 服务器。

 

[root@Web-Backup ~]# ip ad li eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:0c:29:45:5e:0e brd ff:ff:ff:ff:ff:ff

inet 192.168.140.143/24 brd 192.168.140.255 scope global eth0

inet6 fe80::20c:29ff:fe45:5e0e/64 scope link

valid_lft forever preferred_lft forever

 

你能够手动来停掉Web-Director 上的keepalived 服务,VIP 就会自动切刀Web-Backup 上。

相关文章
相关标签/搜索