Linx下Keepalived做成服务

在/usr目录下面执行:

find -name keepalived

返回如下:

./sbin/keepalived
./local/sbin/keepalived
./local/etc/keepalived
./local/etc/rc.d/init.d/keepalived
./local/etc/sysconfig/keepalived


这些都是作为服务需要处理的:

作如下拷贝:

cp /usr/local/sbin/keepalived /usr/sbin  拷贝可执行文件,没有这一步将会在执行service keepalived start的时候报错:keepalived: command not found
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  需要在/etc目录下创建keepalived目录
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/  创建入口脚本文件,可以接收start| stop | status | restart
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 拷贝系统配置文件(上面提到的日志就是在这里配置的

其实这里有一个很直观的处理:就是把用户路径(/usr/local/)之后的路径单独拎出来拷贝到对应的系统路径(/usr/bin, /etc/)即可。

 经过了如上的处理就可以通过以下方式来操作keepalived

1
service keepalived start | stop | restart | status

下面就是服务的开机启动,说道服务器的开机启动就要谈及运行级别以及系统服务,在linux中开机是被划分为七个级别,其实每个级别都是基于上个级别增加加载内容:

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

比如级别3就是只是命令行模式,到了级别5已经开始加载图形化界面的内容;有的运维会建议将级别调整到3,然后通过在命令敲入startx进入到图形化界面(linux系统的7种运行级别);正常情况下有桌面的Linux已经是5级别了。

所谓系统服务就是在系统启动的时候需要进行启动的服务,区别于需要手动启动的服务(应用)。

所以对于安全性要求不是特别高的情况下,对于启动脚本设定在5这个级别其实就可以了,如果为了保险起见,可以设置为1~5,保证能够启动的到(0和6级别不要设置);

开机启动的原理是:

1. 每个应用(服务)的启动脚本(可以相应start/stop等操作的脚本)都是放置到/etc/init.d下面的;
2. 每个启动级别,操作都会调用各自的级别启动脚本,放置在/etc/rc.d下面(ll之后将会看到,其中rc.local将会是最后一个被执行的);
3. 进到rcx.d文件夹中将会看到一些脚本符号(软链接到/etc/init.d下面的具体某个启动脚本);
可以想象到,每个级别都会逐个执行rcX.d下面的脚本,可以推断,如果你指定了多个级别,那么应用(服务)启动脚本将会被执行多次,所以应用的启动脚本一定需要具有等幂性;

执行指令

1
2
chkconfig --add keepalived
chkconfig --level 345 keepalived on

 第一句是添加系统服务,第二句是设定系统服务在那些级别进行启动;

还可以通过以下指令来查看系统服务情况:

1
chkconfig --list 查看全部服务以及启动级别;<br>chkconfig --level 2 keepalived off 关闭掉服务某(些)个启动级别<br><br>chkconfig --del keepalived 删除系统服务(另外一个场景就是iptables,可以直接删除,避免开机的时候启动)

 

使用过程发生的问题

error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

默认libssl.so.1.1(openssl组件)会安装在/usr/local/lib64下面;需要通过软连接放置到/usr/lib64下面:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

ln是软链接,软链接代表寓意和windows的快捷方式很类似,软链接并不和数据块相连,只是一个符号,和真实的数据库的一个名称相连;与之相对应的是硬链接,直接和数据块(node)相连,相当于一个数据块的别名。

posted on   张叫兽的技术研究院  阅读(4344)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示