选择的原因:开源,免费
高可用:high availbility:至少有2个以上的节点提供服务,互相备份,其中的一个坏了,另外一个可以顶替。
master:主要的,对外提供服务的
backup:备份的,不对外提供服务,在master是好的情况下;一旦master挂了,backup马上就会接替master的工作,成为master
单点故障
某些重要的应用,只有1个节点,如果这个节点出现故障,导致服务不可用。
高可用软件
keepailved、HA proxy、heartbeat
keepalived 的功能
HA
loadbalance 使用的是lvs
nginx+keepalived高可用配置详解ljx1528的博客-CSDN博客keepalived+nginx配置
LVS(Linux virtual Server)
keepalived这个软件会联系内核的lvs
nginx4层和7层负载均衡有什么区别
nginx默认使用的是7层的,因为要看协议,而lvs看端口号
支持的服务数量
7层:http
4层:
http
MySQL
dns
ftp
等
3层负载均衡
一般在机房的基础设施上做负载均衡(路由器)
dns域名负载均衡
将双vip使用起来,发布出去给客户使用
vrrp详解(网络层)
虚拟路由冗余协议,它使用ip多播数据包进行封装,组地址为224.0.0.18,最多255个vrrp路由器。
VRRP包的源地址是本机地址,目的地址必须为224.0.0.18,为多播地址;ip协议号为112;IP包的TTL值为255
VRRP协议详解_天蓝Skyline的博客-CSDN博客_vrrp
- ! Configuration File for keepalived
-
- global_defs {
- notification_email {
- acassen@firewall.loc
- failover@firewall.loc
- sysadmin@firewall.loc
- }
- notification_email_from Alexandre.Cassen@firewall.loc
- smtp_server 192.168.200.1
- smtp_connect_timeout 30
- 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
- interface ens33
- #id自己的机器要一样,不一样就会产生脑裂现象
- virtual_router_id 51
- #优先级,优先级越高越容易成为master
- priority 100
- #成为master之后每隔1秒向外面发出宣告证明自己还是ok的
- advert_int 1
- #认证口令
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- #虚拟ip
- virtual_ipaddress {
- 192.168.200.16
- 192.168.200.17
- 192.168.200.18
- }
脑裂
原因:
防火墙组织了keepalived的vrrp消息的通告
virtual_router_id不一样的时候
健康检测
主动检测:LB每隔一段时间就去检查下后端的real server的状态,不管是否有client发请求过来,都会区检查
被动检测:当client发请求给LB,然后LB再去转发请求给后端的real server,这个时候如果后端的服务器出现问题了,LB就发现了,被客户机逼着去检查后端的real server
参数调优
比如更改worker_connections 1024;worker_processes 4;都算调优
ulimit -n 1000 -内核参数调优 --文件描述符 --进程
vm.swappiness = 0 -》先使用物理内存,最后使用swap分区,内存调优
keepalived 65;
功能开启或者关闭