歡迎您光臨本站 註冊首頁

在VMware上搭建ha集群

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

集群學習筆記

集群是由一組在同一個網段下的計算機組成,運行著同樣的操作系統,由統一的管理計算機進行配置和管理.所以,第一步按照我們的需求,在VMWARE下配製出3台計算機,一台負責管理,另外兩台跑集群(同一個網段).計算機名需要FQDN,並且集群和管理計算機使用同一個域名.

1.1集群架構

這是紅帽官方給出的集群架構,每台集群里的計算機配置2個網卡,分別連接外網的交換機和內網的交換機,存儲部分由統一的光纖交換機接入存儲設備.我使用的VMware虛擬機,所以模擬此存儲架構採用iscsi.而外網和內網也統一使用VMware自帶的虛擬交換機,並採用NAT

方式,外網測試直接由宿主系統(windows xp)訪問進行測試,內網管理則由另一台管理計算機來實現.

此圖表示的是集群的工作模式,其中node1node2共同跑的是service1 ,node3node4跑的是service2,各個nodefencing device來進行管理,我們也將模擬此設備.

1.2iscsi的配置與使用

Iscsi我的理解是一種提供遠程調用磁碟的服務,來完成無盤工作站以及達到類似上圖光纖交換機存儲架構的效果.在RHEL5中由tgtd來提供服務,安裝包為scsi-target-utils-

版本號.rpm.

A.啟動tgtd服務 :service tgtd start

B.設置開機自啟動tgtd服務 chkconfig tgtd on

C.服務啟動后, 可以查看監聽埠: # netstat -tunlp |grep tgtd tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 2295/tgtd tcp 0 0 :::3260 :::* LISTEN 2295/tgtd 可以看到,默認target server使用的服務埠是tcp 3260.

D.建立target device 利用tgtadm命令來設置

設置一個

iqniscsi qualified name)命名規範如下表:

新增target device 命令如下: #tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-9.com.clustertest:iscsi-cluster

E.查看 target device

#tgtadm --lld iscsi --op show --mode target

F將磁碟(或者raid 或者邏輯卷)添加到 target device中去

#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1

G 定義ACL

#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.10.101

到這裡以上命令的配置結果,重新開機后便會消失,現版本的target server,Redhat尚未修改成System V服務,如果需要系統重新啟動後上述配置仍然有效,只能將以上配置寫入/etc/rc.local,讓系統每次開機都自動執行一次:

tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-9.com.clustertest:iscsi-cluster

tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1

tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.10.101

(客戶端配置)

H 安裝客戶端工具

yum install iscsi-initiator-utils.i386 -y ##安裝iscsi客戶端
#chkconfig iscsi on &&/etc/iscsi start ##啟服務
#iscsiadm --mode discovery --type sendtargets --portal 192.168.10.1 ##發現存儲
#iscsiadm --mode node --targetname iqn.2010-9.com.clustertest:

iscsi-cluster --portal 192.168.10.1 --login ##連接存儲

下面我們來做實驗


以及截圖:

下面是客戶端的連接實驗.安裝好客戶端后:

我們可以看到多了一塊

sdb..

試驗成功.將命令寫入到rc.local

重啟伺服器和客戶端

服務端,測試成功.

2.1 配置集群

先來看看紅帽的官方文檔

RHEL中有兩個工具可以用來配置紅帽集群:Congasystem-config-cluster,在網上普遍認為

system-config-cluster要比conga更好用,conga的反應速度實在是不敢恭維,,尤其是機器配置不是特別高的情況下..下面都來了解下兩種工具的使用情況.

2.1.1

The primary components in Conga are luci and ricci, which are separately installable. luci is a server

that runs on one computer and communicates with multiple clusters and computers via ricci. ricci

is

an agent that runs on each computer (either a cluster member or a standalone computer) managed by

Conga.

conga,conga由兩部分組成,luci和ricci,luci是跑在集群管理機器上的服務,而Ricci則是跑在各集群節點上的服務,集群的管理和配置由這兩個服務進行通信,這有點像iscsi的tgtd服務和iscsi-inivator服務之間的關係

在管理機器上安裝luci ,yum源配置為Cluster文件夾就行

在集群節點上安裝ricci,yum源不僅是Cluster文件夾還必須有Server文件夾..(包的依賴性關係),安裝完后一定記得要chkconfig on和啟動服務

安裝完成後打開firefox,在url欄輸入https://server1.cluster.com:8084進入下面這個界面,有一種情況無法進入就是證書的識別,可以自己添加信任的證書來跳過此步驟.

選擇cluster標籤,Create New Cluster菜單如上圖,添加集群名字和節點名,如果節點未開啟ricci的話,SSL測試會報錯的.

點擊submit確認,

集群創建界面

出問題了,上圖.Google都不知道問題出在哪裡,有人提出把share storage

前面的勾去掉,然後繼續,結果成功了..估計是紅帽的bug

集群創建完成後出現上圖界面,有四個待選頁面,general ,fence, mulicast, quorum partition

General ----- 顯示集群名稱、集群配置的版本號、高級集群屬性.
Fence ----- 提供配置 Fence daemon 屬性參數的介面.
Multicast ---- 提供配置多播配置屬性的介面,這些屬性包括:讓集群選擇默認多播
地址與手工指定多播地址
Quorum Partition ---- 提供配置集群仲裁分區屬性的介面

Fence 列表內容:


Multicast 列表內容:



仲裁分區列表內容:


點擊 Clusters 欄中的 cluster list ,然後點擊集群名稱 cluster-001,在左邊欄里顯示 cluster-001 的配置欄,點擊配置功能下節點名稱:rs-01.cqh.com

顯示節點名稱:rs-01.cqh.com的狀態:


點擊節點:rs-02.cqh.com 顯示其狀態信息


狀態信息顯示,當前的狀態為 cluster member ,閉幕式顯示 cmanrgmanager 當前正在運行 ,並在集群啟動時自動啟用,如果這兩個程序沒有運行可以手工在節點上運行啟動.
下面開始創建集群的步驟,這裡創建的流程步驟如下:Failover domain → cluster resource→ service → Fence device .

創建 failover domain

,點擊頂端的 cluster ,Cluster list 中點擊集群:cluster-001,在左下端的 cluster-001 欄中點擊 Failover domain | Add a Failover domain ,顯示新增 Failover domain 編輯頁面:

參數解析:
Failover domain name Failover domain 名稱,建議使用一個易記有代表性的的詞語.
Prioritized :在 Failover domain 中啟用域中成員優先順序設置
Restrict Failover to this domain’s member :在 Failover domain 中啟用服務故障切換限制在這個域中的成員.


Do not fail back services in this domain :在這個域中不使用故障回復服務
Failover domain member 區域勾選 member 處的複選項框,將節點加入 Failover domain,在 priority 處設置成員的優先順序別,優先順序1的優先順序別最高.
點擊 submit 按鈕提交確定,新增 Failover domain 成功.

創建 resource
在左下端的 cluster-001 欄中點擊 Resource | Add a Resource ,顯示新增資源頁面,在選擇資源類型下拉框中選擇一個資源類型,這裡根據實際情況,選擇

IP AddressScriptsFile Systerm


選擇IP地址

IP資源創建成功


然後創建 File System resource

創建 scripts resource


創建 service
在左下端的 cluster-001 欄中點擊 Service | Add a Service ,顯示新增服務編輯頁面,在 service name 處輸入服務的名稱,啟用 automatically start this serivce 選項,在Failover domain 中選擇Failover domain ,Recovery policy 處選擇 Relocate ,分別將IP AddressScriptsFile system 資源添加進服務裡面.


添加 Fence Device
在左下端的 cluster-001 欄中點擊 Shared Fence Device | Add a Fence Device 顯示新增 Fence Device 頁面,在 Select a shared fence device 下拉框選擇一下Fence Device


這裡由於是使用 vmware workstation 進行,所以選擇 Virtual machine Fencing



應用 Fence Device




點擊Update main fence properties

測試fencing

我晚啟動了node1結果集群的狀態為

可以看到web service跑在node2上面,重啟node2

服務被遷移到node1上面了,實驗成功!

PS:由於本人第一次嘗試的時候找了好多資料,官方的,個人的才勉強做成功,所以這是為了做筆記第二次重新搭載,有些地方借用了一些資料的原文和內容,如果您在本文看到有些地方和您寫過的或者讀過的地方類似請見諒!

本文出自 「no2實驗室」 博客,請務必保留此出處http://linuxfan.blog.51cto.com/1842325/426450


[火星人 ] 在VMware上搭建ha集群已經有493次圍觀

http://coctec.com/docs/linux/show-post-49707.html