普通用户安装管理Keepalived
- 介绍
- 安装
- 授权给普通用户
- 修改配置文件
- keepalived 配置
- 检测脚本配置
- 普通用户启动keepalived
介绍
负载均衡(Load Balance,简称LB)是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。
我经过测试,完全使用普通用户是不能安装上的,keepalived的运行需要root。下面的回答中,普通用户用到了sudo,提升权限,所以并不是完全是普通用户。
这篇文件使用普通用户安装keepalived,通过root用户修改系统配置,让普通用户能使用:systemctl start keepalived和systemctl stop keepalived来管理。
安装
下载地址:https://www.keepalived.org/software/keepalived-2.2.4.tar.gz
[code404@OIS-AS ~]$ tar -xvf keepalived-2.2.4.tar.gz
[code404@OIS-AS ~]$ cd keepalived-2.2.4
[code404@OIS-AS ~]$ ./configure --prefix=/data/keepalived
*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.
报错:*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.
切到root用户把libnl-devel 安装上,然后用root编译安装
[root@OIS-AS ~]
[root@OIS-AS ~]
[root@OIS-AS ~]
[root@OIS-AS ~]
授权给普通用户
安装目录/data/keepalived给普通用户code404授权
[root@OIS-AS ~]
systemctl 管理服务,给普通用户code404授权
编辑配置文件/usr/share/polkit-1/actions/org.freedesktop.systemd1.policy
vim /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy
<action id="org.freedesktop.systemd1.manage-units">
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.systemd1.manage-unit-files"> enable
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.systemd1.reload-daemon"> enable
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
修改配置文件
使用 root 用户修改keeepalived 服务配置,指定一下启动配置文件
/usr/lib/systemd/system/keepalived.service
vim /usr/lib/systemd/system/keepalived.service
ExecStart=/data/keepalived/sbin/keepalived -f /data/keepalived/etc/keepalived/keepalived.conf $KEEPALIVED_OPTIONS
keepalived 配置
vim /data/keepalived/etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id OA-YY-T074161
}
vrrp_script check_haproxy {
script "/data/keepalived/etc/keepalived/haproxy_check.sh"
interval 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 161
unicast_src_ip 10.3.153.67
unicast_peer {
10.3.153.68
}
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 123321
}
track_script {
chk_haproxy
}
virtual_ipaddress {
10.3.153.244
}
}
检测脚本配置
vim /data/keepalived/etc/keepalived/haproxy_check.sh
#!/bin/bash
COUNT=`ps -C haproxy --no-header |wc -l`
T=`date '+%Y-%m-%d %H:%M:%S'`
LOGF='/data/keepalived/logs/keepalived_healthcheckers.log'
echo "$T haproxy Number of processes :"$COUNT >> $LOGF
echo "$T haproxy processes :" `ps -ef |grep haproxy` >> $LOGF
if [ $COUNT -eq 0 ];then
echo "$T Stopping keepalived:" >> $LOGF
systemctl stop keepalived
echo "$T Stoped keepalived :" >> $LOGF
fi
普通用户启动keepalived
[code404@OIS-AS ~]$ systemctl start keepalived
查看本机监听IP
[tailweb@OAV2-YY-V153067 ~/keepalived/etc/keepalived]$ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:a6:e0:2a brd ff:ff:ff:ff:ff:ff
inet 10.3.153.67/23 brd 10.3.153.255 scope global ens192
valid_lft forever preferred_lft forever
inet 10.3.153.244/32 scope global ens192
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fea6:e02a/64 scope link
valid_lft forever preferred_lft forever
CSDN_码404:普通用户安装管理Keepalived
https://www.code404.icu/1478.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)