建电影网站教程,如何做织梦手机网站,电子商业网站建设步骤,旅游小程序哪家做得好本文基于centos 7记述如何使用keepalived 背景
为生产环境准备一台备机是极其必要的#xff0c;防止主机宕掉无服务可用的情况出现。但是同一局域网内每台主机都分配了一个唯一IP#xff0c;这些IP既然相互不同#xff0c;那么服务请求的时候岂不是要切换IP地址#xff1f… 本文基于centos 7记述如何使用keepalived 背景
为生产环境准备一台备机是极其必要的防止主机宕掉无服务可用的情况出现。但是同一局域网内每台主机都分配了一个唯一IP这些IP既然相互不同那么服务请求的时候岂不是要切换IP地址其实大可不必我们不妨设想一下如果有一个虚拟IP可以动态地分配到能够提供服务的机器上一台宕机当前宕机的机器绑定的虚拟IP立马绑定到另一台主机上继续提供服务岂不是完美解决了这一问题keepalived就是为此而生的。
安装
我准备了2台主机192.168.0.100192.168.0.101暂定虚拟IP192.168.0.145都部署了一模一样的nginx服务现在安装keepalived两台主机都执行以下命令
yum install -y keepalived如果出现缺包的情况可以尝试安装yum install -y openssl-devel我安装时出的问题这里仅供参考
配置
进入/etc/keepalived/目录找到文件keepalived.conf删除里面的数据主机填入配置
! Configuration File for keepalivedglobal_defs {router_id master # 机器名自定义
}vrrp_instance VI_1 {state MASTERinterface enp0s3# 虚拟路由ID粗略学习的话主备不用改这个值virtual_router_id 51# 顶替服务的权重值越大权重越高priority 100 # 通告频率单位为秒advert_int 1# 通信认证机制主备配置中此项必须相同authentication {auth_type PASS # 组名同一组的机器才能共享virtual IPauth_pass 1111 # 组密码}# 虚拟IPvirtual_ipaddress {192.168.0.145}
}备机填入配置
! Configuration File for keepalived
global_defs {router_id slave
}vrrp_instance VI_1 {state BACKUP interface enp0s3virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.0.145}
}两台都配置完成后正常保存即可。
启动
主备机都执行以下命令
systemctl start keepalived查看状态
systemctl status keepalived打印结果如下证明启动成功
[rootlocalhost ~]# systemctl status keepalived
● keepalived.service - LVS and VRRP High Availability MonitorLoaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2024-06-26 09:40:21 EDT; 25min agoProcess: 2777 ExecStart/usr/sbin/keepalived $KEEPALIVED_OPTIONS (codeexited, status0/SUCCESS)Main PID: 2778 (keepalived)CGroup: /system.slice/keepalived.service├─2778 /usr/sbin/keepalived -D├─2779 /usr/sbin/keepalived -D└─2780 /usr/sbin/keepalived -D验证
现在你用ip addr命令查看一下主机的IP地址以下是我的打印IP145已经绑定到这台主机上了反观备机执行ip addr就不会有IP145
[rootlocalhost ~]# ip addr
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: enp0s3: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:74:40:4c brd ff:ff:ff:ff:ff:ffinet 192.168.0.100/24 brd 192.168.0.255 scope global noprefixroute enp0s3valid_lft forever preferred_lft foreverinet 192.168.0.145/32 scope global enp0s3valid_lft forever preferred_lft foreverinet6 fe80::ea55:5c05:1f91:3173/64 scope link noprefixroutevalid_lft forever preferred_lft forever现在你用一台电脑访问虚拟IP看看nginx是否能够代理到对应的服务上如果可以成功访问服务那么进入下一步主机reboot -f重启然后马上去备机上再次执行ip addr看看145是不是跑到备机上了如果是证明成功了