1.集群介绍
1.1keepalived 介绍
2.用keepalived配置高可用集群
实际上针对于keepalived,在/etc/keepalived/下面是有一个keepalived.conf的配置文件的
2.1配置主
& 首先清空原始配置文件
& 把上述配置信息重新创建一个master配置文件
^具体详解
notification是指出现问题时给某邮箱发邮件
下图为之前所讲的check模块,用来检测服务是否正常(为了检测需要运行一个shell脚本,之后会阐述), interval 3指间断3秒钟
vrrp instance定义(在从上有两个地方会不一致,一个是state name,一个是权重,但id要保持一直)
Virtual ipaddress是指共有的ip,主从都可以用
前面检查脚本后,要再做一个加载
$配置文件编辑完了之后还需要去定义脚本
vim /usr/local/sbin/check_ng.sh
配置文件解释
改完脚本之后要进行一个权限的变更,如果不改的话它没办法进行加载并启动keepalived服务
chmod 755 /usr/local/sbin/check_ng.sh
&启动并检测确保keepalived已经启动
这个时候你会发现即使你停止了nginx服务他还会继续重新启动
###那么它的日志在哪
/var/log/message
在log中我们也可以看到一个virtual ip已创建
注意 这个virtual ip用ifconfig是看不到的,要用ip add去看
^ 最后要记得配置时候要关闭iptables以及setenforce 0
2.2配置从
& 关闭iptables 以及setenforce 0
$其他配置方法同上(编辑配置文件时候要注意state name, priority 以及virtual ip)
为了区分两台机器的nginx,我们可以通过vhost里面的index自定义文件来区别
主:
从:由于从的nginx是通过yum安装的所以index文件存在于/usr/share/nginx/html/index.html
现在来看,如果我们访问virtual ip 还是显示在主上
2.3 测试高可用
生产环境中什么情况下会导致从接替主
为了完成实验环境,先把主上的vrrp出去的包封掉
iptables -I OUTPUT -p vrrp -j DROP
3.负载均衡群集介绍
4.LVS介绍
在NAT模式下,只需要一个公网ip即可,在load balancer与RS之间的沟通完全可以以内网的形式,可以节省资源
LVS IP Tunnel模式
实现原理是更改了数据包的目的IP
LVS DR模式
LVS的调度算法
4.LVS NAT模式搭建
准备条件
& 首先现在第一台(分发器)上配置,在主机上配置一个外网网卡,ip 192.168.31.147并测试可以ping通
& 之后分别要关闭三台机器的防火墙,并清空规则 iptables-F (前提是系统已经能enable/start 了iptables)
&设置两台rs的网关为分发器的内网ip,否则没办法通信,
!注意 一旦设置好了之后这台机器就不可以上网了
准备工作好了以后进行配置
&在收发器dir上安装ipvsadm,这是实现lvs的一个重要的工具
&在vim /usr/local/sbin/lvs_nat.sh路径下写入脚本
#! /bin/bash
# director 路镁???驴陋?路?转路.
echo 1 > /proc/sys/net/ipv4/ip_forward
# 鹿锖..mp碌.
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
# 注??路?酶?拢卢掳垄?碌?.ns33潞?ns37
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
# director ??nat路;冒iptables -t nat
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.81.133/24 -j MASQUERADE
# director??ipvsa
IPVSADM='/usr/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.31.147:80 -s wlc -p 3
$IPVSADM -a -t 192.168.31.147:80 -r 192.168.81.129:80 -m -w 1
$IPVSADM -a -t 192.168.31.147:80 -r 192.168.81.135:80 -m -w 1
^详解
echo 1 > /proc/sys/net/ipv4/ip_forward 是为了实现路由转发,转发到后面的rs上去
iptables -t nat -A POSTROUTING -s 192.168.81.133/24 -j MASQUERADE 此规则是为了实现同网段的内网可以联网