linux 跨物理 集群,linux学习之使用keepalived结合lvs搭建高可用负载均衡集群

环境如下:

192.168.2.199 vm1.example.com HA主服务器

192.168.2.202vm2.example.com HA备服务器

192.168.2.205vm3.example.com

192.168.2.175vm4.example.com

其中1和2做HA,3和4做httpd的lvs。虚拟IP为192.168.2.213

ccbefd4640a8aca404cfbc2dee43513a.png

1、使用keepalived+lvs

[root@vm1 ~]# /etc/init.d/pulse stop

lftp i:~> get pub/docs/keepalived/keepalived-1.2.12.tar.gz

[root@vm1 ~]# yum install gcc make openssl-devel libnl-devel -y

[root@vm1 ~]# tar zxf keepalived-1.2.12.tar.gz

[root@vm1 ~]# cd keepalived-1.2.12

[root@vm1 keepalived-1.2.12]# ./configure --prefix=/usr/local/keepalived

[root@vm1 keepalived-1.2.12]# make && make install

制作软链接,包含配置文件路径和启动脚本

[root@vm1 ~]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

[root@vm1 ~]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@vm1 ~]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/

[root@vm1 ~]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/

修改配置文件

[root@vm1 ~]# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

root@localhost 通知邮件地址

}

notification_email_from keepalived@vm1.example.com 邮件发送者

smtp_server 127.0.0.1 本机做为smtp服务器

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state MASTER 状态,可以是MASTER和BACKUP

interface eth0

virtual_router_id 94 主从相同,和其他人不同,0-255

priority 100 主的大于从的,BACKUP设置为50

advert_int 1

authentication {

auth_type PASS 验证

auth_pass 1111 密码

}

virtual_ipaddress {

192.168.2.213 虚拟ip

}

}

virtual_server 192.168.2.213 80 {

delay_loop 3

lb_algo rr 算法为rr

lb_kind DR 方式为DR

#   nat_mask 255.255.255.0

#   persistence_timeout 50

protocol TCP

下面是两台真实服务器

real_server 192.168.2.205 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.2.175 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

2、发送软件到另一HA结点

[root@vm1 ~]# scp -r /usr/local/keepalived/ vm2.example.com:/usr/local/

制作软链接

[root@vm2 ~]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

[root@vm2 ~]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@vm2 ~]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/

[root@vm2 ~]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/

[root@vm2 ~]# vim /etc/keepalived/keepalived.conf 修改配置文件

notification_email_from keepalived@vm2.example.com

state BACKUP

priority 50

依次开启vm1和vm2的keepalived,可查看tail -f /var/log/messages 日志信息

[root@vm1 ~]# /etc/init.d/keepalived start

[root@vm2 ~]# /etc/init.d/keepalived start

访问192.168.2.213

[root@vm1 ~]# ip addr show 查看IP接口

[root@vm1 ~]# ipvsadm -l 查看调度列表

测试,关闭HTTP会有邮件提示,调度列表也会随之改变,主HA服务停止,BACKUP会切换到MASTER,服务恢复会再切换回去。

3、添加ftp服务

[root@vm3 ~]# yum install vsftpd -y

[root@vm3 ~]# /etc/init.d/vsftpd start

[root@vm3 ~]# chkconfig vsftpd on

[root@vm3 ~]# touch /var/ftp/3

3和4安装ftp,开启,写入不同文件

1和2配置文件添加ftp服务

[root@vm1 ~]# vim /etc/keepalived/keepalived.conf 添加

virtual_server 192.168.2.213 21 {

delay_loop 3

lb_algo rr

lb_kind DR

#   nat_mask 255.255.255.0

persistence_timeout 50 这个打开,持续连接

protocol TCP

real_server 192.168.2.205 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.2.175 21 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

[root@vm2 ~]# /etc/init.d/keepalived stop

[root@vm1 ~]# /etc/init.d/keepalived reload

[root@vm2 ~]# /etc/init.d/keepalived start

使用其他主机lftp 192.168.2.213

[root@vm1 ~]# ipvsadm -l

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.2.213:ftp rr persistent 10

-> vm4.example.com:ftp          Route   1      1          2

-> vm3.example.com:ftp          Route   1      0          1

TCP  192.168.2.213:http rr

-> vm4.example.com:http         Route   1      0          30

-> vm3.example.com:http         Route   1      0          30

[root@vm1 ~]# ip addr show

inet 192.168.2.213/32 scope global eth0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值