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)相連,相當於一個數據塊的別名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM