九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
corosync openais pacemaker構(gòu)建高可用性集群
corosync+openais+pacemaker構(gòu)建高可用性集群

HA 四個層次:

1.message layer   / infrastructure

心跳

2.ccm 控制臺

3.resources  allocated  資源分配

4.resources agent  資源代理

第一層 message layer 主要可以由heartbest  keepalived  corosync/openais 來實現(xiàn)

第三層: 由pacemaker crm 來提供資源分配

案例:

實現(xiàn)兩個節(jié)點的高可用性群集,用corosync/openais 來實現(xiàn)。

Node1 ip地址:192.168.1.15

Node2 ip地址:192.168.1.20

Vip :192.168.1.100

步驟:

1.在做該案例之前,首先確保自己的yum倉庫是否完整,由于在這個案例中牽扯到群集,所以要安裝cluster倉庫。

各項都要確保時鐘同步: hwclock  -s

[root@node1 ~]# hwclock -s

2.無障礙密碼通訊方式:

[root@node1 ~]# ssh-keygen -t rsa

[root@node1 ~]# ssh-copy-id  -i  .ssh/id_rsa.pub  root@node2  //將node1的鑰匙傳給node2

比如我們將node1中的/etc/hosts文件 拷貝到 node2中的/etc下:

[root@node1 ~]# scp  /etc/hosts  node2:/etc

查看node2中的hosts文件內(nèi)容:

[root@node2 ~]# vim /etc/hosts

這樣就實現(xiàn)了兩節(jié)點之間無障礙密碼傳送文件和執(zhí)行一些指令。

3.安裝corosync軟件包:

紅色的都是要安裝的。

 

[root@node1 ~]# yum  localinstall  *.rpm  --nogpgcheck   //將本地紅色軟件包全部安裝

4.首先來設(shè)置node1這個節(jié)點:

安裝完成后切換到corosync目錄下

[root@node1 ~]# cd /etc/corosync/    會看到corosync的樣本文件

[root@node1 corosync]# cp corosync.conf.example corosync.conf    //將樣本文件變成正式配置文件

[root@node1 corosync]# vim corosync.conf       //編譯該文件

需要額外補充一點東西,在下面空白行加入以下內(nèi)容:

[root@node1 corosync]# mkdir /var/log/cluster       //創(chuàng)建該目錄

在另外的一個節(jié)點上,也就是node2上創(chuàng)建日志目錄

[root@node1 corosync]# ssh  node2  'mkdir /var/log/cluster'

為了便其他主機加入該集群,需要認證,生成一個authkey

[root@node1 corosync]# corosync-keygen

將上圖中的文件連同權(quán)限一起遠程拷貝到node2中:

[root@node1 corosync]# scp -p authkey corosync.conf node2:/etc/corosync/

[root@node1 corosync]# service corosync start       //在node1上啟動corosync服務(wù)

[root@node1 corosync]# ssh node2 '/etc/init.d/corosync start'

Starting Corosync Cluster Engine (corosync): [  OK  ]            //在node1上啟動node2的該服務(wù)

下面來驗證corosync引擎是否正常啟動了:

[root@node1 corosync]# grep -i  -e "corosync cluster engine" -e "configuration file" /var/log/messages

查看初始化成員節(jié)點通知是否發(fā)出:

[root@node1 corosync]#  grep -i totem /var/log/messages

檢查過程中是否有錯誤產(chǎn)生:

[root@node1 corosync]# grep -i error:  /var/log/messages  |grep -v unpack_resources

(為了檢查stonith的錯誤,因為我們在這里沒有安裝stonith,所以得將stonith去掉,不去掉的話會報錯)

檢查pacemaker時候已經(jīng)啟動了:

[root@node1 corosync]# grep -i pcmk_startup /var/log/messages

在節(jié)點2上同樣做以上相同的驗證.

5.在node1節(jié)點上查看集群的成員狀態(tài):

[root@node1 corosync]# crm status

下面來提供高可用服務(wù):

在corosync中,定義服務(wù)可以用兩種接口

(1)圖形接口  (使用hb——gui)

(2)crm  (pacemaker 提供,是一個shell)

查看配置信息:

如何驗證該文件的語法錯誤:

[root@node1 corosync]# crm_verify -L

上述出錯時由于stonith,因為我們沒有stonith,在高可用的環(huán)境里面,會禁止使用任何支援,所以我們得禁用掉stonith。

[root@node1 corosync]# crm                    //進入crm界面

crm(live)# configure                           //進入配置模式

crm(live)configure# property stonith-enabled=false  //禁用stonith

crm(live)configure# commit                    //提交上述修改內(nèi)容

6.下面來定義資源:

集群的資源類型有4種

primitive   本地主資源 (只能運行在一個節(jié)點上)

group     把多個資源軌道一個組里面,便于管理

clone      需要在多個節(jié)點上同時啟用的  (如ocfs2  ,stonith ,沒有主次之分)

master     有主次之分,如drbd

我們來提供三種資源: ip地址  httpd服務(wù)  共享存儲

[root@node1 corosync]# crm

crm(live)# configure

crm(live)configure# ra

crm(live)configure ra# classes

heartbeat

lsb

ocf / heartbeat pacemaker

Stonith                                    1//查看資源代理

crm(live)configure ra# list heartbeat             //列出heartbeat這個資源代理所管轄的資源

配置ip地址資源:

crm(live)configure# primitive  webip ocf:heartbeat:IPaddr  params ip=192.168.1.100  

在這里看看你兩個節(jié)點的虛擬機上是否安裝httpd,沒安裝的話分別安裝。

下面分別在每個節(jié)點上設(shè)置一個簡單的web網(wǎng)頁:

[root@node1 corosync]# echo "hello" >/var/www/html/index.html

[root@node2 corosync]# echo "hahaaha" >/var/www/html/index.html

接下來定義web服務(wù)資源:

crm(live)configure# primitive webserver lsb:httpd

查看狀態(tài):

大家仔細看上圖,就會發(fā)現(xiàn)存在一個問題:就是ip地址資源在node1上啟動,但是web服務(wù)卻是在node2上啟動的,這樣一來兩個資源分別在兩個節(jié)點上,這樣顯然是不行的。出現(xiàn)這樣的原因就是在高可用群集中資源比較多,這樣是為了將資源平衡到每一個節(jié)點上。

看下圖來證實這樣的問題:

為了解決這樣的問題,就用到了我們上面所說的群集資源類型中g(shù)roup的概念:

定義組:

crm(live)configure# group  web  webip  webserver

再次查看群集狀態(tài):

此時我們就可以來訪問192.168.1.100來查看結(jié)果:

能夠成功訪問。

如果此時我們把node1節(jié)點停掉,那么各種資源應(yīng)該流轉(zhuǎn)到node2上。注意我們在停掉node1節(jié)點時,停用corosync服務(wù),不要停用httpd服務(wù)。

[root@node1 corosync]# service corosync stop

Signaling Corosync Cluster Engine (corosync) to terminate: [  OK  ]

Waiting for corosync services to unload:.........          [  OK  ]

[root@node1 corosync]# crm status

Connection to cluster failed: connection failed

然后我們在節(jié)點node2上查看信息狀態(tài):

可以看到node1已經(jīng)offline,但是node2仍然沒有運行,原因是沒有票數(shù)了(without quorum)

所以我們關(guān)閉quorum:

關(guān)閉 quorum

可選的參數(shù)有如下:ignore (忽略)

                  freeze (凍結(jié),表示已經(jīng)啟用的資源繼續(xù)實用,沒有啟用的資源不能

                                啟用))

                  stop(默認)

                  suicide  (所有的資源殺掉)

那我們將節(jié)點node1的corosync服務(wù)啟動起來, 改變quorum。

[root@node1 corosync]# crm

crm(live)# configure

crm(live)configure# property no-quorum-policy=ignore

接下來我們停用node1的corosync,查看node2的狀態(tài):

[root@node1 corosync]# service corosync stop

可見資源已經(jīng)流轉(zhuǎn)到node2節(jié)點上,現(xiàn)在登錄http://192.168.1.100上查看網(wǎng)頁狀態(tài):

變成了node2節(jié)點上web頁面的內(nèi)容。

如果此時將node1節(jié)點上的corosync服務(wù)開啟,此時資源不會自動流轉(zhuǎn)到node1上,還是在node2上。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
pacemaker配置一個三節(jié)點主備集群并配置vip資源
corosync v1 + pacemaker高可用集群部署(一)基礎(chǔ)安裝
高可用集群之corosync+pacemaker
Linux 高可用(HA)集群之Pacemaker詳解
Mysql+Corosync+Pacemaker+DRBD構(gòu)建高可用Mysql
HA 集群基本概念詳解
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服