Linux(centos 6.X)环境下LVS-NAT模式高可用负载均衡集群系统快速配置
环境配置: 三台centos 6.5
调度器: DIP:192.168.1.11 VIP:192.168.1.110
web服务器: RIP:192.168.1.9 RIP:192.168.1.10
一,前期服务器环境搭建
由于是之前kvm克隆了dr模式下的服务器,这里和dr下边的IP和服务器环境信息是一样的。只不过是web服务器取消了arp禁响应和VIP配置。
(1) 配置lamp环境,这里不做演示。
(2)关闭selinux、调度器和所有web服务器上的iptables
(3)设置时间同步,保证服务器时间一致(后期nfs或数据同步用到,包括session同步需要)
二,配置调度器
1,开启IP转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p可以查看是否开启。
2,调度器安装ipvsadm和keepalived
首先安装依赖包:
yum -y install gcc make openssl-devel openssl net-snmp net-snmp-devel popt popt-devel
安装ipvs和keepalived:
yum install ipvsadm keepalived -y
chkconfig ipvsadm on
chkconfig keepalived on
修改keepalived.conf配置文件配置服务器IP信息:
- ! Configuration File for keepalived
- global_defs {
- router_id LVS_DEVEL
- }
- vrrp_instance VI_1 {
- state MASTER #备用机器这里需要更改成BACKUP
- interface eth0
- virtual_router_id 51
- priority 100 #备机优先级设置低于100的数值。数值越高优先级越高。
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.1.110
- }
- }
- virtual_server 192.168.1.110 80 {
- delay_loop 6
- lb_algo rr
- lb_kind NAT
- nat_mask 255.255.255.0
- persistence_timeout 50
- protocol TCP
- real_server 192.168.1.9 80 {
- weight 3
- TCP_CHECK {
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- real_server 192.168.1.10 80 {
- weight 3
- TCP_CHECK {
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 3
- connect_port 80
- }
- }
- }
配置完以后启动keepalived:
service keepalived start
现在通过ipvsadm查看ip信息:
- [root@natlb ~]# 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.1.110:http rr persistent 50
- -> 192.168.0.9:http Masq 3 0 0
- -> 192.168.0.10:http Masq 3 0 0
三,真实服务器配置。
这个无需做特殊配置,只是把网关设置成VIP就可以了。设置以后可以用route查看网关。
好了。配置完成。测试下论坛访问,依旧是1.9和1.10轮流提供web访问。
拓展部分:
如果需要进行nfs系统配置,请参考《Linux下网络文件系统NFS的配置实现数据共享》
如果要进行mysql主从配置,请参考《mysql数据库如何设置互为主从》
DR模式配置过程,请参考《Linux(centos 6.X)环境下LVS-DR模式负载均衡集群系统快速配置》
补充LVS添加url检测防止假死:
- real_server 192.168.1.120 80 {
- weight 50
- HTTP_GET {
- url {
- path /ok.php
- status_code 200
- }
- connect_timeout 10
- nb_get_retry 3
- delay_before_retry 3
- }
- }
目录 返回
首页