conga下HA高可用集羣的搭建(redhat6.5)


實驗環境

redhat6.5虛擬機三臺,各1G內存,時間同步

server1  172.25.44.1

server2  172.25.44.2

server3  172.25.44.3

火牆和selinux均處於關閉狀態

編輯/etc/hosts文件,加入解析

 

 

不支持在集羣節點中使用 NetworkManager。如果已經在集羣節點中安裝了 NetworkManager,應該刪除或者禁用該程序。

server1  server2 ricci節點

(1).yum源配置

 

 

wKiom1eKSA7xCtgJAAE6ZGVK5DI471.png-wh_50

vim /etc/yum.repos.d/rhel-source.repo 

[server]

name=localserver

baseurl=http://172.25.44.44/rhel6.5

gpgcheck=0

 

[HighAvailability]     ###高可用集羣

name=localserver

baseurl=http://172.25.44.44/rhel6.5/HighAvailability

gpgcheck=0

 

[LoadBalancer]

name=localserver

baseurl=http://172.25.44.44/rhel6.5/LoadBalancer

gpgcheck=0

 

[ResilientStorage]   ###存儲

name=localserver

baseurl=http://172.25.44.44/rhel6.5/ResilientStorage

gpgcheck=0

 

[ScalableFileSystem]     ###大型文件系統

name=localserver

baseurl=http://172.25.44.44/rhel6.5/ScalableFileSystem

gpgcheck=0

 

yum repolist ###列出可用的包,默認都是server裏面的3690個包

yum源配置完成之後,有可用的包 3819      

 

wKioL1eKSFmjo_QeAABWc2Mq3kI453.png-wh_50


(2).安裝ricci以及設置開機自啓動

yum install ricci  -y

chkconfig ricci on  ###開機自啓動

echo linux | passwd --stdin ricci  ###6.1版本之後要給一個密碼(cat /etc/issue查看版本)

/etc/init.d/ricci  start   ###啓動服務

 

server3

 

(1)yum源的配置同server1 server2

(2)yum install luci -y

   chkconfig luci on  ###開機自啓動

(3)/etc/init.d/luci  start  出現如下界面

 

wKiom1eKSFmyHw1RAAA1xoGX6uI719.png-wh_50


瀏覽器中訪問https://server3.example.com:8084

可以看到如下luci登錄界面

以超級用戶的身份和密碼登錄進行管理

 

wKioL1eKSFrAXgDKAABjssq5AQc437.png-wh_50

 

創建集羣

(1)luci Homebase” 頁面左側菜單中點擊「管理集羣」 。此時會出現「集羣」 頁面;

(2)點擊創建後出現創建集羣界面。如下

 

wKiom1eKSF7zolYfAAB5MvX8-bY161.png-wh_50


參數說明:

a.集羣名稱隨意輸入,不能超過15個字符

b.如果節點的ricci密碼相同,則可以選擇“使用相同密碼(所有節點)

c.添加節點,節點名稱密碼自己添加,端口默認爲11111,自己可以更改

d.下載軟件安裝包比使用本地軟件安裝包多了一個更新的功能

e.選擇加入集羣前重啓和啓動共享存儲支持

 

###點擊創建屬性之後,會有相關信息顯示正在創建;

注意:點擊創建出現錯誤,重新給ricci節點一個密碼,確保其密碼和添加節點的時候輸入的密碼一致。

 

創建完成後:

 

wKioL1eKSF7DUApMAACHYg_YiHg469.png-wh_50


wKiom1eKSUXi4_kvAAB9ptCKXcQ177.png-wh_50


 

clustat查看狀態

 

 

配置fence設備

產生腦裂:

(1)網絡突然斷開,彼此都以爲對方接收不到信息,然後同時對數據進行操作

(2)一個夯住,另外一個節點以爲對方掛掉,當夯住的那個節點醒來之後繼續工作,兩個都會對數據進行傳送;

夯住的時候可以使用fence機制,簡單來說,就是另外一個節點把夯主的那個節點一棍子打死,就不會產生腦裂現象;

圖形界面添加一個fence設備

 

wKiom1eKST2i5RbQAABqJkVm3qk316.png-wh_50


 

這裏用的兩個虛擬機,類型選擇虛擬設備的多播模型;

 

物理機只是添加一個連接接口,它可以發出foceoff的命令;

 

物理機:

(1)

yum install fence-virtd fence-virtd-libvirt  fence-virtd-multicast -y


(2)systemctl start fence_virtd  ###開啓服務

netstat -anulpe #查看端口 1229

(3)fence_virtd  -c

默認回車   Interface [virbr0]: br0   Backend module [libvirt]:libvirt

(4)mkdir /etc/cluster  ###不存在則建立

cd /etc/cluster

dd if=/dev/urandom of=fence_xvm.key bs=128 count=1  ####截取生成fence_xvm.key文件

systemctl restart fence_virtd.service ###重啓服務

(5)key文件scp到其他兩個ricci節點主機

scp fence_xvm.key  [email protected]:/etc/cluster/

scp fence_xvm.key  [email protected]:/etc/cluster/

 

 

建立虛擬機和其hostname之間的映射

在圖形界面節點選項中選擇一個設備比如server1:

 

wKioL1eKST6BxjXeAAAq4mSxAVE407.png-wh_50

wKioL1eKST7AxvTiAABmz9zJKFo297.png-wh_50


這裏的Domain可以是虛擬機的名稱或者uuiduuid是唯一的

 

server2server1的方法一樣,把所有節點都配置

 

檢測:在server1中: fence_node server2.example.com 

  server2斷電重啓,執行forceoff命令,反之一樣

wKiom1eKST_zZRWsAAAqdT2Fu8U929.png-wh_50


創建Failover Domain

Failover Domain是配置集羣的失敗轉移域,通過其可以將服務器和資源的切換限制在指定的節點間

 

 

wKiom1eKST_iXWzaAABqyOSSIrw987.png-wh_50


 

參數說明:

prioritized:是否在這個域中啓用域成員優先級設置,這裏選擇啓用;

Restricted:是否在失敗轉移域成員中啓用服務故障切換限制;

No failback:主節點故障,備節點會自動接管相關業務;當主節點恢復正常,不恢復到主節點,只有當備節點故障時,纔會回到主節點;

優先級的設置,數字越小,優先級越高


創建資源


wKioL1eKSUOQDDEyAABgRaI4tS0090.png-wh_50


填寫的ip要是ping不通的,爲集羣vip

wKiom1eKSUSD6NBxAAA-ntvu9Vo789.png-wh_50


兩臺ricci節點主機安裝httpd,且httpd的狀態爲stop

 創建資源組

wKioL1eKSUSDQ6CMAABn-bjZg3Y755.png-wh_50

添加資源,順序ip-->httpd

添加的順序就是開機的啓動順序

測試:

server1server2中創建測試頁

server1:echo  "<h1>server1</h1>" >/var/www/html/index.html

server2:echo  "<h1>server2</h1>" >/var/www/html/index.html


當前在server1

 

網頁訪問:172.25.44.144 

 

(1)

wKioL1eKS1XB5gQqAAAUfQtOpqc089.png-wh_50


wKiom1eKS1TSQ15XAACfRVxJDo0758.png-wh_50


wKioL1eKS1WRoeGgAAAXf6EX9Og037.png-wh_50


 正常情況下由server1主管,當server1的服務停止後,由server2進行接管,由於是一個集羣vip,所以ip不變。

(2)server 2: /etc/init.d/network  stop

wKioL1eKS1XB5gQqAAAUfQtOpqc089.png-wh_50

(3)server1: echo c > /proc/sysrq-trigger   ###使內核崩掉

server1 崩掉後fence機制,force重啓

 

 共享:

server3:裝有luci的主機

 yum install scsi-* -y

添加磁盤8G  fdisk -l 可以查看

分區fdisk -cu /dev/vda

vim /etc/tgt/targets.conf

 

wKiom1eKS1ajbhtOAABRUfLmdFE909.png-wh_50


/etc/init.d/tgtd  start

 

server1  server2

(兩臺ricci節點主機)

yum install iscsi-* -y

 

wKiom1eKS1bDjOh7AACahx1IZKk099.png-wh_50


檢測並登錄

 

登錄成功後fdiks -l 查看多了/dev/sdb

以上操作兩臺主機都執行

 

server1

server1中對/dev/sdb/進行分區(server2執行partprobe後會同步)

fdisk -cu /dev/sdb     t   8e

 

pvcreate /dev/sdb1

vgcreate clustervg /dev/sdb1

lvcreate  -L 2G -n data1 clustervg

mkfs.ext4 /dev/clustervg/data1   

 

ext4 本地文件系統,不支持多個掛載點同時對文件進行讀寫,保證一個點掛載不會出現問題

 

mount /dev/clustervg/data1  /mnt

 echo "<h1>linux</h1>" /mnt/index.html   ####編輯測試頁

umount /mnt

 

 server1  server2

clusvcadm  -d apache  ###停止apache

 

wKioL1eKS1exwOJmAACdw_qlGqs853.png-wh_50


 

wKioL1eKS1ejAY7LAAB81x5q3eM386.png-wh_50


在服務組裏面添加資源

順序:ip --> filesystem(data1) -->httpd(script)

 

clusvcadm  -e apache  ###啓動apache

 

測試:172.25.44.144

 

wKiom1eKS1jild8mAAASlqKz1bE208.png-wh_50


 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章