|
高可用集群LVS+Keepalived(DR模式)+RR
高可用负载均衡是做什么就不具体描述了,下面就说环境和软件版本
- Red Hat Enterprise Linux Server release 6.2- 2.6.32-504.16.2.el6.x86_64
- ipvsadm 1.26
- keepalived 1.2.13
- windows 20008 r2
- DR-M :172.16.6.8 DR-B:172.16.6.9 VIP:172.16.6.100
- RIP1:172.16.6.12 RIP2: 172.16.6.13
yum install -y gcc gcc-c++ makepcre pcre-devel kernel-devel openssl-devel libnl-devel popt-devel
a、检查内核是否集成lvs模块
modprobe -l | grep ipvs
b、开启路由转发功能:
echo "1">/proc/sys/net/ipv4/ip_forward
c、安装ipvsadm yum install ipvsadm
d、安装keepalived yum install -y keepalived
e、配置keepalived
! Configuration File for keepalived
global_defs { notification_email { acassen@firewall.loc #设置报警邮件地址,可以设置多个,每行1个, #需开启邮件报警及本机的Sendmail服务。 } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 127.0.0.1 #设置SMTP Server地址; smtp_connect_timeout 30 router_id LVS_DEVEL } ########VRRP Instance######## vrrp_instance VI_1 { state MASTER #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器 interface eth0 #BACKUP为备用服务器 virtual_router_id 51 priority 100 #定义优先级,数字越大,优先级越高,主DR必须大于备用DR。 advert_int 1 authentication { auth_type PASS #设置验证类型,主要有PASS和AH两种 auth_pass 1111 #设置验证密码 } virtual_ipaddress { 172.16.6.100 #设置主DR的虚拟IP地址(virtual IP),可多设,但必须每行1个 } } ########Virtual Server######## virtual_server 172.16.6.100 80 { #注意IP地址与端口号之间用空格隔开 delay_loop 6 #设置健康检查时间,单位是秒 lb_algo rr #设置负载调度算法,默认为rr,即轮询算法,最优秀是wlc算法 lb_kind DR #设置LVS实现LB机制,有NAT、TUNN和DR三个模式可选 persistence_timeout 50 #会话保持时间,单位为秒 protocol TCP #指定转发协议类型,有TCP和UDP两种 real_server 172.16.6.12 80 { weight 1 #配置节点权值,数字越大权值越高 TCP_CHECK { connect_timeout 3 #表示3秒无响应,则超时 nb_get_retry 3 #表示重试次数 delay_before_retry 3 #表示重试间隔 } } real_server 172.16.6.13 80 { #配置服务器节点,即Real Server2的public IP weight 3 #配置节点权值,数字越大权值越高 TCP_CHECK { connect_timeout 3 #表示3秒无响应,则超时 nb_get_retry 3 #表示重试次数 delay_before_retry 3 #表示重试间隔 } } }
2. REALSERVER 配置
a. 创建windows环回网卡
b. 设置环回网卡IP地址
> IP地址: 172.16.6.100
> 子网掩码: 255.255.255.255
其它不用设置了
c. 修改客户端网卡接口、环回接口连接模式(至关重要)
> netsh interface ipv4 set interface "网卡名称" weakhostreceive=enabled
> netsh interface ipv4 set interface "网卡名称" weakhostsend=enabled
> netsh interface ipv4 set interface "环回网卡名称" weakhostreceive=enabled
> netsh interface ipv4 set interface "环回网卡名称" weakhostsend=enabled
3. 测试略过 |
|
|