HA高可用
选择的原因:开源,免费
高可用:high availbility:至少有2个以上的节点提供服务,互相备份,其中的一个坏了,另外一个可以顶替。
- master:主要的,对外提供服务的
- backup:备份的,不对外提供服务,在master是好的情况下;一旦master挂了,backup马上就会接替master的工作,成为master
单点故障
某些重要的应用,只有1个节点,如果这个节点出现故障,导致服务不可用。
高可用软件
keepailved、HA proxy、heartbeat
keepalived 的功能
- HA
- loadbalance 使用的是lvs
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
! 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
nginx调优(参数优化)
- 参数调优
- 比如更改worker_connections 1024;worker_processes 4;都算调优
- ulimit -n 1000 -内核参数调优 --文件描述符 --进程
- vm.swappiness = 0 -》先使用物理内存,最后使用swap分区,内存调优
- keepalived 65;
- 功能开启或者关闭