天天看點

基于RHCS的conode對WEB做高可用叢集

一、RHCS簡介

     RHCS是Red Hat Cluster Suite的縮寫,也就是紅帽子叢集套件,RHCS是一個能夠提供高可用性、高可靠性、負載均衡、存儲共享且經濟廉價的叢集工具集合,它将叢集系統中三大叢集架構融合一體,可以給web應用、資料庫應用等提供安全、穩定的運作環境。    

     更确切的說,RHCS是一個功能完備的叢集應用解決方案,它從應用的前端通路到後端的資料存儲都提供了一個行之有效的叢集架構實作,通過RHCS提供的這種解決方案,不但能保證前端應用持久、穩定的提供服務,同時也保證了後端資料存儲的安全。     

     RHCS提供了叢集系統中三種叢集構架,分别是高可用性叢集、負載均衡叢集、存儲叢集。

二、RHCS叢集的功能群組成

     RHCS的核心功能就是提供高可用叢集,當其中的節點出現故障的時候,RHCS可以通過高可用性服務管理元件自動、快速從一個節點切換到另一個節點,進而保證應用持續、不間斷的對外提供服務,進而實作RHCS高可用叢集實作的功能。

   RHCS通過LVS來提供負載均衡叢集,當一個請求進來時,LVS通過負載均衡排程算法将請求進行配置設定,來達到負載均衡,而當一個節點出現故障的時候,LVS通過服務節點的故障轉移功能自動屏蔽此節點,并其故障節點踢出去,同時将此節點的服務轉移給其他節點。然後當此節點重新恢複服務後LVS會自動把其加到服務中來,進而來保證服務的穩定運作!

   RHCS通過GFS(Global File System)檔案系統來提供存儲叢集功能,GFS是叢集檔案系統,它允許多個伺服器同時讀寫同一個共享存儲檔案系統,存儲叢集通過将資料放在一個共享存儲上來保證資料的一緻性,同時GFS通過鎖管理機制來實作對資料讀寫的隔離,進而來保證了資料的安全性!

    RHCS是一個叢集套件,其主要包括以下幾部分:

1、叢集構架管理器:RHCS的基礎套件,提供叢集的基本功能,主要包括布式叢集管理器(CMAN)、鎖管理(DLM)、配置檔案管理(CCS)、栅裝置(FENCE) 2、rgmanager高可用服務管理器 提供節點服務監控和服務故障轉移功能,當一個節點服務出現故障時,将服務轉移到另一個健康節點。 3、叢集管理工具 RHCS通過system-config-cluster來進行配置,這是一個基于圖形界面的工具,可以很簡單、明了的進行配置 4、負載均衡工具 RHCS通過LVS實作服務之間的負載均衡,LVS是系統核心中的套件,所有性能比較好。 5、GFS 叢集檔案系統,這是由RedHat公司開發的,GFS檔案系統允許多個服務同時讀寫一個磁盤分區,通過GFS可以實作資料的集中管理,免去了資料同步和拷貝的麻煩,但GFS并不能孤立的存在,安裝GFS需要RHCS的底層元件支援。 6、Cluster Logical Volume Manager Cluster邏輯卷管理,即CLVM,是LVM的擴充,這種擴充允許cluster中的機器使用LVM來管理共享存儲,但是配置之前需要開啟lvm支援叢集功能。 7、ISCSI iSCSI是一種在Internet協定上,利用tcp/ip機制對fc、fc-xx等進行封裝後在網絡中進行傳輸。isici是基于C/S架構的,資料首先被封裝成scsi封包,在封裝成iscsi封包,最後封裝tcp/ip封包進行傳輸!iscsi是基于tcp的,監聽在3260上,通過3260端口向外提供tcp/ip的服務的,isisc的會話是一直儲存建立的,知道會話介紹再斷開。RHCS可以通過ISCSI技術來導出和配置設定共享存儲的使用。

三、RHCS搭建

   1.環境介紹:

ip位址

功用

安裝軟體

主機名

192.168.1.201

RHCS管理端

luci,ansible

node1.wangfeng7399.com

192.168.1.202

RHCS組成

ricci

node2.wangfeng7399.com

192.168.1.203

node3.wangfeng7399.com

192.168.1.204

node4.wangfeng7399.com

   2.安裝配置

   2.安裝lusi,安裝前應該先關閉NetworkManager,啟動network功能

1

2

3

<code>[root@node1 ~]# ansible node -m shell -a </code><code>"chkconfig  NetworkManager off"</code>

<code>[root@node1 ~]# yum install luci -y</code>

<code>說明:如果系統中啟用了epel源,應該禁用掉</code>

   3.在3台節點上安裝ricci,并設定其開機自啟動

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<code>[root@node1 ~]# ansible node -m yum -a </code><code>"name=ricci state=present "</code>

<code>[root@node1 ~]# ansible node -m service -a </code><code>"name=ricci state=started enabled=yes"</code>

<code>192.168</code><code>.</code><code>1.203</code> <code>| success &gt;&gt; {</code>

<code>    </code><code>"changed"</code><code>: </code><code>true</code><code>,</code>

<code>    </code><code>"enabled"</code><code>: </code><code>true</code><code>,</code>

<code>    </code><code>"name"</code><code>: </code><code>"ricci"</code><code>,</code>

<code>    </code><code>"state"</code><code>: </code><code>"started"</code>

<code>}</code>

<code>192.168</code><code>.</code><code>1.204</code> <code>| success &gt;&gt; {</code>

<code>192.168</code><code>.</code><code>1.202</code> <code>| success &gt;&gt; {</code>

   4.啟動luci

<code>[root@node1 ~]# service luci start</code>

<code>Generating a </code><code>2048</code> <code>bit RSA </code><code>private</code> <code>key</code>

<code>writing </code><code>new</code> <code>private</code> <code>key to </code><code>'/var/lib/luci/certs/host.pem'</code>

<code>Starting saslauthd:                                        [  OK  ]</code>

<code>Start luci...                                              [  OK  ]</code>

<code>Point your web browser to https:</code><code>//node1.wangfeng7399.com:8084 (or equivalent) to access luci</code>

   5.為各幾點的ricci添加密碼

<code>[root@node1 ~]# ansible node -m shell -a </code><code>"echo wangfeng7399 |passwd --stdin ricci"</code>

   6.配置RHCS

   登陸RHCS的配置界面

<a href="http://s3.51cto.com/wyfs02/M02/25/1B/wKioL1NZOsHzJqlgAAHKmEPu9F8908.jpg" target="_blank"></a>

   建立一個資源組,并将各節點添加進去

<a href="http://s3.51cto.com/wyfs02/M01/25/1B/wKiom1NZOuvxOll4AAKwqSWRofo818.jpg" target="_blank"></a>

   開始自動安裝所需要的包

<a href="http://s3.51cto.com/wyfs02/M01/25/1B/wKiom1NZOuvyk4SPAADI68Bf2uQ670.jpg" target="_blank"></a>

   節點建立成功

<a href="http://s3.51cto.com/wyfs02/M01/25/1B/wKiom1NZQh-xFL9wAAHbB2GzJS0882.jpg" target="_blank"></a>

   建立fence裝置

<a href="http://s3.51cto.com/wyfs02/M00/25/1B/wKioL1NZQfXQhAxsAAI3Je3C3zg475.jpg" target="_blank"></a>

   定義失效轉移域

<a href="http://s3.51cto.com/wyfs02/M02/25/1B/wKiom1NZQh-SusmRAAHWybCj-Gg542.jpg" target="_blank"></a>

   為各服務節點添加首頁檔案

<code>[root@node1 ~]# ansible node -m shell -a </code><code>'echo "&lt;h1&gt;`uname -n` &lt;h1&gt;" &gt; /var/www/html/index.html'</code>

   添加資源組

<a href="http://s3.51cto.com/wyfs02/M01/25/1B/wKiom1NZRh_xAfK3AAHCOZjQczg001.jpg" target="_blank"></a>

   添加ip

<a href="http://s3.51cto.com/wyfs02/M00/25/1B/wKioL1NZRfXCcm-6AAE_H06QvZE775.jpg" target="_blank"></a>

   添加httpd服務,此處應該選擇script

<a href="http://s3.51cto.com/wyfs02/M02/25/1B/wKiom1NZRh-C-7bCAAEtAGOI4jw558.jpg" target="_blank"></a>

   資源啟動成功

<a href="http://s3.51cto.com/wyfs02/M01/25/1B/wKioL1NZRfXCob82AAGF3lKfdV4588.jpg" target="_blank"></a>

   做節點切換測試

<a href="http://s3.51cto.com/wyfs02/M00/25/1B/wKioL1NZR6fj2Po-AAHW9nymhDA903.jpg" target="_blank"></a>

   再次重新整理頁面,看到的結果

<a href="http://s3.51cto.com/wyfs02/M02/25/1B/wKiom1NZSADS71Y3AACthdDhcO0614.jpg" target="_blank"></a>

   大功告成,由于本人水準有限,操作中可能有錯誤,請各位大神多多批評指正!

本文轉自wangfeng7399 51CTO部落格,原文連結:http://blog.51cto.com/wangfeng7399/1402341,如需轉載請自行聯系原作者