1. 程式人生 > >heartbeat 非聯網安裝(通過配置本地yum文件庫安裝heartbeat)

heartbeat 非聯網安裝(通過配置本地yum文件庫安裝heartbeat)

占用 用戶 sources epel擴展源 yum倉庫 nbsp eps 卸載 nodeps

軟件環境:centos6.5

一、下載rpm包

首先找一臺聯網的centos6.5機器

安裝epel擴展源:

yum install -y epel-release

安裝yum-plugin-downloadonly:

yum install yum-plugin-downloadonly

安裝完就可以使用yum只下載不安裝功能了

yum install --downloadonly --downloaddir=*** -y ***

downloadonly:只下載模式;downloaddir:指定下載目錄;-y後面是要安裝的軟件(會下載下來該軟件的rpm包及相關依賴包)

創建createrepo文件夾(用於配置本地yum源):

cd /opt/
mkdir createrepo

下載createrepo相關軟件包:

yum install --downloadonly --downloaddir=/opt/createrepo/ -y createrepo

技術分享圖片

在/opt/下創建rpm文件夾:

mkdir rpm

下載heartbeat、libnet、nginx包 :

yum install --downloadonly --downloaddir=/opt/rpm/ -y heartbeat* libnet* nginx

截圖是一部分

技術分享圖片

二、配置本地yum源

進入到createrepo文件夾下:

cd /opt/createrepo/

技術分享圖片

按照如上順序安裝createrepo:

rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 

安裝 libxml2-2.7.6-21.el6_8.1.x86_64.rpm 時 報如下錯誤:

技術分享圖片

說明包有沖突,把原來的包卸載:

yum -y remove libxml2-2.7.6-14.el6.x86_64

技術分享圖片

竟然報錯!可能要卸載的依賴項包含yum或正在被yum使用,無法卸載

只卸載 libxml2-2.7.6-14.el6.x86_64,忽略依賴項,使用“–nodeps”參數

rpm -e --nodeps libxml2-2.7.6-14.el6.x86_64

然後繼續安裝:

rpm -ivh libxml2-2.7.6-21.el6_8.1.x86_64.rpm
rpm -ivh libxml2-python-2.7.6-21.el6_8.1.x86_64.rpm
rpm -ivh createrepo-0.9.9-27.el6_9.noarch.rpm

技術分享圖片

安裝成功後創建yum倉庫:

createrepo /opt/rpm/

技術分享圖片

修改repo文件:

cd /etc/yum.repos.d/

創建repo_backup目錄,然後將所有文件剪切到此目錄:

mkdir repo_backup
mv *.repo ./repo_backup

拷貝cp CentOS-Media.repo :

cp  ./repo_backup/CentOS-Media.repo  ./

修改該文件:

原文件

技術分享圖片

修改後

技術分享圖片

初始化yum緩存:

yum clean all
yum makecache

yum repolist

技術分享圖片

本地倉庫搭建完畢。

三、本地安裝

主副節點都要安裝

yum -y install  heartbeat*

發現並未安裝成功:

技術分享圖片

GPG密鑰存在的目的是處於安全和規範考慮,RedHat在發布軟件包的時候會根據軟件包生成對應密鑰,當用戶安裝軟件包的時候會根據密鑰校驗軟件包。yum安裝的時候就會校驗軟件包是否是官方發布的。

可以給yum添加--nogpgcheck來強制安裝或者在將源碼包加入到倉庫中的時候可以提前檢驗一下源碼包的官方性:rpm -K *.rpm

檢測完成後安裝:

yum -y install  heartbeat*
yum -y install libnet*
yum -y install nginx --nogpgcheck

安裝成功。

四、配置heartbeat

拷貝配置文件:

cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
cd /etc/ha.d/

修改authkeys:

vim authkeys

技術分享圖片

修改權限:

chmod 600 authkeys

編輯haresources文件:

vim haresources

在最後一行加入:

技術分享圖片

其中master為主節點hostname,192.168.60.200為vip,/24為掩碼為24的網段,eth0:0為vip的設備名,nginx為heartbeat監控的服務(/usr/sbin目錄下的)。

編輯ha.cf修改如下:

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 30

warntime 10

initdead 60

udpport 694

ucast eth0 192.168.60.137

auto_failback on

node master

node slave

ping 192.168.60.200

respawn hacluster /usr/lib64/heartbeat/ipfail

配置說明:

debugfile /var/log/ha-debug該文件保存heartbeat的調試信息。
logfile /var/log/ha-logheartbeat的日誌文件。
keepalive 2:心跳的時間間隔,默認時間單位為秒s。
deadtime 30:超出該時間間隔未收到對方節點的心跳,則認為對方已經死亡。
warntime 10:超出該時間間隔未收到對方節點的心跳,則發出警告並記錄到日誌中。
initdead 60:在某系統上,系統啟動或重啟之後需要經過一段時間網絡才能正常工作,該選項用於解決這種情況產生的時間間隔,取值至少為deadtime的2倍。
udpport 694:設置廣播通信使用的端口,694為默認使用的端口號。
ucast eth0 192.168.60.137:設置對方機器心跳檢測的網卡和IP。
auto_failback on:heartbeat的兩臺主機分別為主節點和從節點。主節點在正常情況下占用資源並運行所有的服務,遇到故障時把資源交給從節點由從節點運行服務。在該選項設為on的情況下,一旦主節點恢復運行,則自動獲取資源並取代從節點,否則不取代從節點。

ping 192.168.60.200:設置的VIP。
respawn heartbeat /usr/lib/heartbeat/ipfail:指定與heartbeat一同啟動和關閉的進程,該進程被自動監視,遇到故障則重新啟動。最常用的進程是ipfail,該進程用於檢測和處理網絡故障,需要配合ping語句指定的ping node來檢測網絡連接。如果你的系統是64bit,請註意該文件的路徑。

把主節點的配置文件拷到從節點:

scp authkeys ha.cf haresources slave:/etc/ha.d/

編輯從節點的ha.cf文件:

vi /etc/ha.d/ha.cf

修改:ucast eth0 192.168.60.139

五、啟動heartbeat服務

先master啟動,後slave啟動

service heartbeat start

查看ip是否綁定:

ip add

技術分享圖片

heartbeat 非聯網安裝(通過配置本地yum文件庫安裝heartbeat)