91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

發布時間:2021-11-08 10:24:39 來源:億速云 閱讀:126 作者:柒染 欄目:建站服務器

這篇文章給大家介紹Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

配置heartbeat v2基于haresources配置文件的httpd高可用集群。

 ll  要求 

完全掌握heartbeat v2基于haresources配置文件的httpd高可用服務。

  前期準備 

1、heartbeat服務主機規劃

主機接口ip服務用途
node1.chanedu.cometh0192.168.1.131

heartbeat

httpd

LAN數據轉發

eth2192.168.2.131心跳信息鏈路

vip192.168.1.180提供給外部訪問httpd的ip
node1.chanedu.cometh0192.168.1.132

heartbeat

httpd

LAN數據轉發

eth2192.168.2.132心跳信息鏈路
shared.chanedu.cometh0192.168.1.150nfsLAN數據轉發

2、架構圖

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

3、配置yum源

rpm -ivh https://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm

4、同步時間

兩個節點的時間必須一致,可以使用網絡時間服務器或本地ntpd服務器同步事件,我這里直接同步網絡時間服務器

ntpdate 202.120.2.101

5、節點名稱和IP地址必須能互相解析,保證/etc/hosts文件中主機名的正反解析結果與‘uname -n’的名稱一致

分別在node1和node2中的/etc/hosts添加下面的名稱解析

echo "192.168.1.131    node1.chanedu.com    node1" >> /etc/hosts
echo "192.168.1.132    node2.chanedu.com    node2" >> /etc/hosts

6、配置節點心跳連接

node1和node2都使用eth2網卡互相連接,不經過交換機,直接用網線連接node1上的eth2和node2上的eth2,用作心跳檢測

node1上的eth2:192.168.2.131
node2上的eth2:192.168.2.132

在node1和node2兩臺主機上分別增加一條主機路由,實現兩臺主機檢測對端時通過eth2網卡來實現心跳檢測

在node1上添加:

route add -host 192.168.2.132 dev eth2
# 這條命令的意思是從node1訪問192.168.2.132(node2),走eth2網卡出去
echo "route add -host 192.168.2.132 dev eth2" >> /etc/rc.local

在node2上添加:

route add -host 192.168.2.131 dev eth2
# 這條命令的意思是從node1訪問192.168.2.131(node1),走eth2網卡出去
echo "route add -host 192.168.2.131 dev eth2" >> /etc/rc.local

7、為了保證通信安全,節點之間使用ssh密碼的方式進行通信,可以使用“ssh-keygen -t  rsa”命令產生密鑰。

ssh-keygen -t rsa
ssh-copy-id root@192.168.1.132

  安裝heartbeat v2 

由于heartbeat-pils在CentOS-6.5后被cluster-glue取代了,所以需要手動解決依賴關系

1、解決依賴關系

yum install perl-TimeDate net-snmp-libs libnet PyXML
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

注意:libnet在epel源中

  node1、node2主機安裝httpd 

這里不演示

  shared主機安裝nfs 

這里不演示

  配置httpd高可用集群 

1、復制ha.cf、haresources、authkey這三個文件至/etc/ha.d文件中

cd /usr/share/doc/heartbeat-2.1.4/
cp ha.cf haresources authkeys /etc/ha.d/
cd /etc/ha.d/
ls
authkeys  ha.cf  harc  haresources  rc.d  README.config  resource.d  shellfuncs

2、配置heartbeat的基本參數,直接編輯/etc/ha.d/ha.cf

vim /etc/ha.d/ha.cf 
grep -v "#" /etc/ha.d/ha.cf 
debugfile /var/log/ha-debug
logfile/var/log/ha-log
logfacilitylocal0
keepalive 1000ms
deadtime 8
warntime 4
initdead 60
udpport694
ucast eth2 192.168.1.132
auto_failback on
nodenode1.chanedu.com
nodenode2.chanedu.com
ping 192.168.1.1

這里有一點要注意,上面的ha.cf配置是node1上的,node2上的配置要修改單播地址

ucast eth2 192.168.1.131

3、配置heartbeat資源,定義node1為主節點,直接編輯/etc/ha.d/haresources

vim /etc/ha.d/haresources
node1.chanedu.com       192.168.1.180/24/eth0   httpd

以上的ip地址即是vip,是向外提供httpd服務的地址,子網掩碼為24位,從eth0接口配置別名

4、配置認證文件,編輯/etc/ha.d/authkeys

chmod 600 /etc/ha.d/authkeys
openssl hand -hex 12
6107510ab21f17a41d377135
vim /etc/ha.d/authkeys
auth 2
#1 crc
2 sha1 6107510ab21f17a41d377135
#3 md5 Hello!

5、將ha.cf、haresources、authkeys這3各文件copy至node2的/etc/ha.d/目錄下,并保留文件權限

rsync -p /etc/ha.d/{
ha.cf,haresources,authkeys} root@192.168.1.132:/etc/ha.d/

6、設置node1和node2節點的httpd開機不自動啟動,并停止httpd服務。

service httpd stop
chkconfig httpd off

7、啟動heartbeat服務

在node1節點上啟動heartbeat服務并查看是否存在eth0:0

service heartbeat start

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

在node1上啟動node2的heartbeat服務

[root@node1 ha.d]# ssh node2 'service heartbeat start'
Starting High-Availability services: 
2017/05/08_23:46:22 INFO:  Resource is stopped
Done.
[root@node1 ha.d]# ssh node2 'ss -unl'
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
UNCONN     0      0                         *:694                      *:*     
UNCONN     0      0                         *:45373                    *:*

以上可以看到node2已經監聽在UDP:694上了,正明node2已經成功啟動。

  客戶端訪問測試 

在客戶端訪問192.168.1.180

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

可以訪問,表示heartbeat的基本配置沒有問題。接下來模擬node1宕機,這里直接停掉node1的heartbeat服務,看下是否能直接跳轉到node2

root@node1 ha.d]# service heartbeat stop
Stopping High-Availability services: 
Done.

查看node2的IP地址,發現VIP資源已經被node2接管了。

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

再次訪問客戶端,httpd資源也已經轉移到node2節點。

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

  基于nfs共享存儲的httpd高可用 

配置集群服務中兩個節點共享后端NFS文件系統資源,將shared主機添加一個共享文件夾并修改屬主為apache用戶

cat /etc/exports 
  /www/htdocs    192.168.1.0/24(rw,no_root_squash,async)
setfacl -m u:apache:rwx /www/htdocs/
echo "<h2>Page in NFS Server.</h2>" > /www/htdocs/index.html

修改node1的haresources資源配置文件,指定掛載共享NFS文件系統,并同步至node2節點的/etc/ha.d/目錄下

vim /etc/ha.d/haresources
node1.chanedu.com       192.168.1.180/24/eth0   Filesystem::192.168.1.180:/www/var/shared::/var/www/html/::nfs httpd
rsync /etc/ha.d/haresources root@192.168.2.132:/etc/ha.d/
ssh node2 'service heartbeat stop'
service heartbeat stop
service network restart
ssh node2 'service network restart'
service heartbeat start
ssh node2 'service heartbeat start'

在客戶端訪問192.168.1.180,成功訪問到了后端nfs共享存儲的頁面。

這里有一點需要注意,請確保node1和node2節點能夠成功掛載并shared主機的共享目錄,而后要使用curl命令訪問下本機的。這里最好測試下,如果你的CentOS或者Redhat是最小化安裝,默認是沒有安裝nfs-client客戶端的,mount.nfs命令也就沒有,如果沒有就不能成功掛載nfs共享目錄,那么HA就無法生效。

在node1和node2節點上掛載/www/htdocs目錄至/var/www/html目錄。

mount -t nfs 192.168.1.150:/www/htdocs /var/www/html
[root@node1 heartbeat]# curl http://192.168.1.131
<h2> Page in NFS Server.</h2>
[root@node2 heartbeat]# curl http://192.168.1.132
<h2> Page in NFS Server.</h2>

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

停止node1的heartbeat服務

ssh node1 'service heartbeat stop'

Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群

在/usr/share/heartbeat/目錄下,有很多腳本文件,其中:

運行hb_standby腳本,指將自己變為備節點;比如在node1上運行hb_standby腳本,資源將被node2接管

運行hb_takeover腳本,指重啟對方節點;比如,node1已經是備節點,在node1上運行hb_takeover腳本將重啟node2節點,此時,node1認為node2宕機,所以node1將重新接管資源。

這里不演示了,很簡單。

  總結 

1、基于haresources配置文件的heartbeat v2.x版本的httpd高可用集群實現起來是比較簡單的,但是它的功能畢竟有限,如果需要更強大的功能,pacemaker無疑是比較好的選擇。

2、因為最小化安裝centos的原因,node2節點沒有安裝nfs-client等軟件,沒有mount.nfs命令,導致測試到后面node1資源一致不能轉移到node2節點,排查了很多原因,最終找到罪魁禍首是node2無法掛載nfs共享文件系統的緣故,自己不細心導致實驗時間變長,如果是在生產環境中,這種情況是不允許發生的。

關于Linux中如何配置heartbeat v2基于haresources配置文件的httpd高可用集群就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北宁市| 邵阳市| 弋阳县| 岐山县| 新营市| 河津市| 清徐县| 宝应县| 兴业县| 玉林市| 潮州市| 盱眙县| 和林格尔县| 台湾省| 霸州市| 商洛市| 江西省| 龙陵县| 涟水县| 英吉沙县| 濮阳县| 肇东市| 赤城县| 富顺县| 绍兴市| 芦溪县| 三亚市| 临漳县| 缙云县| 武邑县| 新民市| 资兴市| 通海县| 济南市| 铁岭市| 天峻县| 会宁县| 融水| 泽州县| 黄平县| 神池县|