1.配置安装LVS
server1(master): keepalived、ipvsadm IP:172.25.62.1
server4(backup): keepalived、ipvsadm IP:172.25.62.4
server2:Apache、arptables IP:172.25.62.2
server3:Apache、arptables IP:172.25.62.3
2.配置yum源 yum源中的参数可以在/var/www/html/rhel6.5/ 镜像挂载的目录下找到
3.安装ipvsadm并设置调度策略 这里采用DR模式 先配置server1 server4先不管
设置VIP用于与客户端之间通信
设置调度策略
查看后端Realserver的地址
调度策略相关参数
-A 表示添加VIP
-a 表示添加站点
-t 表示指定为tcp
-u UDP协议的集群
-f 防火墙标记
-s 指定调度机制为轮询(RR)
-r 指定后端地址
-g 表示模式为DR模式 -i:TUN -m:NAT -w weight 定义服务器权重
-d 删除服务
-e 修改rs
-l 查看
如果添加策略时出错可以到/etc/sysconfig/ipvsadm里面进行修改 ##修改之后 reload才能生效
查看调度策略
ipvsadm -L -n --stats 统计每台服务器上的详细情况
Realserver的配置 server2和server3上进行
1.安装arptables_jf 用于接收ARP请求但不响应 作用是将使用VIP地址直接与客户端通信,服务器对VIP请求不响应
server3安装
在两个Realserver上添加VIP
设置Realserver策略并保存 抑制服务器上的VIP,对VIP请求不做响应
-A 表示添加 -d 表示 目标地址 -j 为动作 -s 为源地址
启动Realserver上的Apache服务
LVS在物理机测试
下面进行keepalived安装的相关操作
1.下载软件包keepalived-1.4.0.tar.gz 或者其他版本 解压 安装相关依赖性
指定安装路径
查看其支持的功能
编译并安装
查看安装是否成功
添加配置链接、启动链接以及其他链接
启动服务进行测试
高可用备用端配置
server1和server4都安装scp
传递配置文件包和yum源的配置文件
查看是否传递成功
在server4上安装ipvsadm
至此server1上的ipvsadm和keepalived安装完毕
keepalived服务配置
1.配置邮件服务相关配置
server1和server4上都安装邮件服务
配置keepalived配置文件 只修改选中部分
进行邮件服务的测试
配置高可用 keepalived文件的参数下拉至最低部有关于配置文件的解释
server1重启keepalived服务看VIP是否生效 重启之后等一会VIP才会出现
配置服务集群 删掉剩余部分
重启服务
将配置文件传到备用服务器
在备用服务器server4上修改服务器状态
修改完之后重启服务
web服务器server2和server3之前已经安装过Apache进行过ARP抑制 直接启动服务即可 server2和3都启动
查看VIP VIP在master即server1上
测试高可用:
当master停止服务时
VIP将自动切换到备用服务器
并且负载均衡依旧正常
在这里有可能会出现访问VIP无响应的情况 修改keepalived文件 重启服务即可
检测其健康检查
在这里有可能会出现下面这种情况 这种情况是因为keepalived没有及时将故障的服务器移出集群
解决方法
之后再次访问 就把坏的服务器剔除了
然后我们把server3的服务停掉把server2的apache服务开启 再次访问
可以看出 之前上面给出的解决方法可能是有问题的 可能keepalived把坏的服务器踢出集群需要时间把
下面是keepalived配置文件的部分参数解读
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost ##接受报警的邮箱
}
notification_email_from keepalived@localhost ##邮件发送者
smtp_server 127.0.0.1
smtp_connect_timeout 30 ##连接smtp的超时时间
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER ##备用机需要改成BACKUP
interface eth0 ##高可用 检测网络接口
virtual_router_id 51 ##主 备的id必须一致 在0-255之间默认51
priority 100 ##主机的优先级 备用机比这个小
advert_int 1 ##主备之间的通告时间间隔妙数
authentication {
auth_type PASS ##设置验证类型
auth_pass 1111 ##设置验证码
}
virtual_ipaddress {
172.25.62.100 ##vip
}
}
virtual_server 172.25.62.100 80 {
delay_loop 3 ##每隔三秒查询realserver的状态
lb_algo rr ## rr轮叫算法
lb_kind DR ## LVS的DR模式
#persistence_timeout 50 ##保持会话使用的时长ftp服务类型
protocol TCP ##tcp协议
real_server 172.25.62.2 80 { ##RS
weight 1 #权重
TCP_CHECK { ##realserver的状态检测设置部分、
connect_timeout 3 ##3秒无相应超时
retry 3 ##重试次数
delay_before_retry 3 ##重试间隔
}
}
real_server 172.25.62.3 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}