centos7.9虚拟机安装,设置磁盘挂载
架构设计微服务高性能高可用架构设计
安装KeepalivedKeepalived可以虚拟出一个ip,多台主机都配置Keepalived,当前主机挂了可以选举出另一台接管这个ip。这样只需要一个ip就可以连接主备机,无需关注主备切换。
如需关闭防火墙(不建议):
# 关闭 systemctl stop firewalld # 禁止开机启动防火墙 systemctl disable firewalld
用yum的方式安装
yum install keepalived配置主主机
使用yum安装后配置文件在
/etc/keepalived/keepalived.conf
配置文件内容很多,全部删掉替换成下面的,看注释做对应修改
! Configuration File for keepalived
global_defs {
# 给当前主机起个名字
router_id NGINX1
}
# vrrp是Keepalived在内网中通讯的协议,VI_1是实例名称,可改
vrrp_instance VI_1 {
state MASTER
# ens33是本机网卡名称,可以ip addr查看
interface ens33
virtual_router_id 51
# 主备竞选时的优先级 数字越大越高
priority 100
# 间隔检测时间
advert_int 1
# 同一组的认证配置,防止同一个内网中多个Keepalived组错乱
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟ip地址,用户访问下面的ip,会映射到本机,可配多个
virtual_ipaddress {
192.168.25.211
}
}
启动Keepalived
systemctl start keepalived
查看当前ip
[root@nginx1 ~]# ip addr 1: lo:配置副主机mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:24:8c:bb brd ff:ff:ff:ff:ff:ff inet 192.168.25.125/24 brd 192.168.25.255 scope global noprefixroute dynamic ens33 valid_lft 5358sec preferred_lft 5358sec # 多了这个192.168.25.211的vip inet 192.168.25.211/32 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::575:23df:be65:edbf/64 scope link noprefixroute valid_lft forever preferred_lft forever
操作同主主机,配置文件与主主机不同的地方:
- router_id 改名字
- state BACKUP
- priority 50
启动Keepalived
测试主主机宕机后,ip能否漂移
关机
init 0
关闭主主机依然能ping通即可。
ping 192.168.25.211
副主机ip addr发现192.168.25.211已经跑到副主机上。
Keepalived安装完成!
Keepalived只会检测自己的进程,假设主机没宕机,nginx宕机了,Keepalived是不会漂移ip的。此时可以写一个sh脚本,一直在服务器上跑,查看nginx状态,如果发现nginx挂了,则干掉Keepalived的进程。其他redis集群,mysql集群等,都是同理。



