在/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)相连,相当于一个数据块的别名。