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

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下面的脚本,可以推断,如果你指定了多个级别,那么应用(服务)启动脚本将会被执行多次,所以应用的启动脚本一定需要具有等幂性;

执行指令

chkconfig --add keepalived
chkconfig --level 345 keepalived on

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

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

chkconfig --list 查看全部服务以及启动级别;
chkconfig --level 2 keepalived off 关闭掉服务某(些)个启动级别

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 2017-03-19 21:12  张叫兽的技术研究院  阅读(4341)  评论(0编辑  收藏  举报

导航