RHCS集羣(ricci,luci)的搭建並實現圖像化管理及添加fence及實現高可用性集羣(httpd爲例)

集羣套件的作用

  • 集羣中luci的作用:

    luci是用來配置和管理集羣,監聽在8084上

  • 集羣中ricci的作用:
    ricci是安裝在每個後端的每個節點上的,luci管理集羣上的各個節點就是通過和節點上的ricci進行通信,ricci監聽在11111上

  • 集羣中fence的作用:
    當意外原因導致主機異常或者宕機時,備機會首先調用FENCE設備,然後通過FENCE設備將異常主機重啓或者從網絡隔離,當FENCE操作成功執行後,返回信息給備機,備機在接到FENCE成功的信息後,開始接管主機的服務和資源。這樣通過FENCE設備,將異常節點佔據的資源進行了釋放,保證了資源和服務始終運行在一個節點上。並且有效的阻止了“腦裂"的發生。

實驗環境:
rhel6.5 selinux and iptables disabled

主機環境:

主機名 IP 服務
hetoto1 172.25.12.1 ricci,luci,httpd
hetoto2 172.25.12.2 ricci,httpd
foundation12 172.25.12.250 fence

搭建RHCS環境

一、 配置主機和hetoto1,hetoto2的環境環境
1.首先在hetoto1和hetoto2搭建高級的yum源

vim /etc/yum.repo//rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.79.250/rhel6.5
enabled=1
gpgcheck=0

[HighAvailability]    ##高可用安裝包
name=HighAvailability
baseurl=http://172.25.12.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=0

[LoadBalancer]        ##負載均衡安裝包
name=LoadBalancer
baseurl=http://172.25.12.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=0

[ResilientStorage]    ##彈性存儲安裝包
name=ResilientStorage
baseurl=http://172.25.12.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=0

[ScalableFileSystem]  ##文件系統類安裝包
name=ScalableFileSystem
baseurl=http://172.25.12.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=0

查看yum源是否正常,添加的安裝包是否添加進去

[root@hetoto1 ~]# yum clean all  ##清除yum緩存
[root@hetoto1 ~]# yum repolist	 ##看添加的包是否被檢測到

在這裏插入圖片描述
在這裏插入圖片描述
配置hetoto2同上

2.添加解析(物理機,hetoto1和hetoto2上都要做)

[root@foundation12 images]# vim /etc/hosts
[root@foundation12 images]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.250 content.example.com foundation0.ilt.example.com
172.25.12.1	hetoto1
172.25.12.2	hetoto2
172.25.12.3	hetoto3
172.25.12.4	hetoto4
172.25.12.5	hetoto5
172.25.12.6	hetoto6

hetoto1和hetoto2同上配置

3.在hetoto1安裝rhcs的圖形網頁管理工具

  • ricci(圖形裏的集羣管理)

  • luci(圖形界面)

  • 修改ricci用戶密碼

  • 開啓ricci和luci

  • 並設置開機自啓

[root@hetoto1 ~]# yum install ricci luci -y
[root@hetoto1 ~]# yum install httpd -y
[root@hetoto1 ~]# passwd ricci

在這裏插入圖片描述
開啓ricci和luci

[root@hetoto1 ~]# /etc/init.d/ricci start
[root@hetoto1 ~]# /etc/init.d/luci start

在這裏插入圖片描述
設置開機自啓

[root@hetoto1 ~]# chkconfig ricci on
[root@hetoto1 ~]# chkconfig luci on
[root@hetoto1 ~]# chkconfig httpd on

在這裏插入圖片描述

4.在hetoto2上安裝ricci,其餘同hetoto1上設置

[root@hetoto2 ~]# yum install ricci -y
[root@hetoto2 ~]# passwd ricci
    [root@hetoto2 ~]# /etc/init.d/ricci start

在這裏插入圖片描述

[root@hetoto2 ~]# chkconfig ricci on
[root@hetoto2 ~]# chkconfig httpd on

在這裏插入圖片描述

二、創建集羣

(1)在瀏覽器中輸入https://172.25.12.1:8084/

  • 因爲是https訪問,所以需要添加信任網絡,點擊Advanced …
    在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

(2)登陸帳號和密碼是hetoto1中的系統用戶和密碼,普通用戶需要經過超級用戶的審覈才能登陸,所以一般選擇超級用戶登陸
在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述
(3)點擊集羣管理(Manager Clusters),然後點擊create出現以下頁面,創建一個集羣westos_ha

在這裏插入圖片描述

在這裏插入圖片描述

  • 然後點擊(CreateCluster),進入等待頁面,此時hetoto1和hetoto2會重啓,然後在重新連接hetoto1和hetoto2

注:如果沒有設定luci和ricci開機自啓動,則需要在等待過程中重啓虛擬機之後,再次開起服務,才能完成hetoto1和hetoto2集羣節點的添加。

節點添加成功如下圖
在這裏插入圖片描述

(4)hetoto1和hetoto2上集羣信息的查看

chkconfig --list                     ##查看開機會自啓動的服務
cat /etc/cluster/cluster.conf ##發現該文件之中已有hetoto1和hetoto2的集羣
clustat                                   ##也會看見集羣

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

三、配置fence

FENCE的原理:

  • 當意外原因導致主機異常或者宕機時,備機會首先調用FENCE設備,然後通過FENCE設備將異常主機重啓或者從網絡隔離,當FENCE操作成功執行後,返回信息給備機,備機在接到FENCE成功的信息後,開始接管主機的服務和資源。這樣通過FENCE設備,將異常節點佔據的資源進行了釋放,保證了資源和服務始終運行在一個節點上。

配置過程:

1.在主機上安裝fence
在這裏插入圖片描述

2.生成fence的加密文件

  • 因爲本身配置的文件中沒有fence的加密文件,所以要自己生成加密文件,然後再配置fence的配置文件
[root@foundation12 ~]# mkdir /etc/cluster
[root@foundation12 ~]# cd /etc/cluster/
[root@foundation12 cluster]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
[root@foundation12 cluster]# ls

在這裏插入圖片描述

3.編輯fence的配置文件

[root@foundation12 ~]# fence_virtd -c

在這裏插入圖片描述
除了修改此處,其餘回車即可
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
4.將修改好的密鑰文件發送給節點hetoto1和hetoto2,保證hetoto1和hetoto2利用的是同一個密鑰

[root@foundation12 cluster]# scp fence_xvm.key [email protected]:/etc/cluster/   ##發送給hetoto1
[root@foundation12 cluster]# scp fence_xvm.key [email protected]:/etc/cluster/   ##發送給hetoto2

在這裏插入圖片描述

  • 查看hetoto1是否收到密鑰
    在這裏插入圖片描述
    5.打開fence服務
[root@foundation12 cluster]# systemctl start fence_virtd.service 
[root@foundation12 cluster]# systemctl status fence_virtd.service 
[root@foundation12 cluster]# netstat -autnlp | grep 1229

在這裏插入圖片描述

添加fence設備

1.點擊Fence Devices,再點擊Add

在這裏插入圖片描述

  • 選擇多播模式的fence

在這裏插入圖片描述在這裏插入圖片描述

2.綁定節點(兩個節點都要進行以下操作)
(1)hetoto1

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
UUID可以在虛擬機的管理截面看到
在這裏插入圖片描述

(2)hetoto2同理
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.兩個節點都綁定後配置文件內容應該如下:
在這裏插入圖片描述
4.fence設備的測試

  • 在hetoto1上通過fence幹掉節點hetoto2,使hetoto2斷電重啓則爲成功

    [root@hetoto1 cluster]# fence_node hetoto2
    fence hetoto2 success
    在這裏插入圖片描述

  • 能ssh連接hetoto2,說明hetoto2已經重啓成功
    在這裏插入圖片描述

四、高可用服務配置(httpd爲例)

1.添加故障轉移域
在這裏插入圖片描述

  • 將hetoto1和hetoto2添加在域中,即hetoto1或hetoto2出現故障時,切換到正常的那一個上,集羣打開後,服務落在優先級高的節點上。(數字越小優先級越高)
    在這裏插入圖片描述

2.添加服務中所要用到的資源(以httpd高可用爲例)
在這裏插入圖片描述

  • 添加IP Address(集羣對外VIP) ,點擊Submit提交

5 : 切換主機之間的時間

在這裏插入圖片描述

  • 再點擊Resources,點擊Add,選擇模式Script,添加啓動httpd服務的腳本

在這裏插入圖片描述
在這裏插入圖片描述

3.向集羣中添加上一步添加的資源(IP Address 和script)

  • 第一步是創建一個資源組(服務中要用到資源的集合)apache
    在這裏插入圖片描述
  • 接着將資源添加進去
    在這裏插入圖片描述在這裏插入圖片描述
    在這裏插入圖片描述

在hetoto1 和hetoto2上安裝httpd服務,並編寫默認測試頁面內容

[root@hetoto1 ~]# yum install httpd -y
[root@hetoto1 ~]# cd /var/www/html
[root@hetoto1 html]# vim index.html
[root@hetoto1 html]# cat index.html 
hetoto1
[root@hetoto1 html]# /etc/init.d/httpd start

hetoto2上配置同理

[root@hetoto2 ~]# yum install httpd -y
[root@hetoto2 ~]# cd /var/www/html
[root@hetoto2 html]# vim index.html
[root@hetoto2 html]# cat index.html 
hetoto2
[root@hetoto2 html]# /etc/init.d/httpd start
  • 刷新頁面,顯示httpd服務運行在hetoto2上(優先級高)

在這裏插入圖片描述

在這裏插入圖片描述
並且在hetoto2上可以看到添加上的VIP

在這裏插入圖片描述
4.測試
(1)在物理機訪問兩臺節點,正常
在這裏插入圖片描述

出現下圖這樣的報錯先看看hetoto1和hetoto2上的httpd服務是否打開?沒打開則打開

在這裏插入圖片描述
(2)在物理機訪問VIP——>hetoto2

在這裏插入圖片描述
(3)測試高可用

  • 在hetoto2中,輸入echo c> /proc/sysrq-trigger ,手動宕掉服務器

在這裏插入圖片描述

  • 再次訪問VIP,會發現訪問切換到hetoto1上,等hetoto2重啓成功之後,則又會切換到hetoto2
    在這裏插入圖片描述
    注意:
    一般在企業中,需要勾選 No Failback (故障不回切) 、即當hetoto2掛掉後,服務自動轉到hetoto1上,並且VIP也會自動飄過來,即使hetoto2重啓成功了,服務也不會再轉回去

  • 當關掉hetoto2上的httpd,服務會自動轉移到hetoto1上
    在這裏插入圖片描述
    在這裏插入圖片描述在這裏插入圖片描述

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