天天看點

菜鳥學Linux 第091篇筆記 RHCS

菜鳥學Linux 第091篇筆記 RHCS

内容總覽

RHCS功能

Cluster Infrastructure 叢集基礎設施

gfs, clvm, ccs

分布式檔案系統

淺談網站的架構

架設RHCS

雲的描述

RHCS (Red Hat Cluster Suite)

也是一個叢集管理軟體的一個套件,由redhat提供,除了基本的叢集管理,它還包含了一些

其它套件

主要功能ha 高可用

也有負載均衡 lvs

GFS (global file system)

cLVM

ccs (cluster configuration system)

heartbeat

corosync

keepalived(工作機制不同)

cman (cluster manager) RHCS

CRM (Cluster Resource Manager)

heartbeat v1: haresources 

heartbeat v2: crm

heartbeat v3, corosync: pacemaker

rhcs: rgmanager (resource group manager)

RA (Resource Agent)

lsb(/etc/init.d/)

ocf(providers)

legacy heartbeat v1

stonith

RHCS

cman

rgmanager

ra

internal

script: lsb (linux standard base)

/etc/rc.d/init.d/*

rhcs rhel4.* cman 是一個獨立的元件

rhcs rhel5.* cman 不是一個底層的元件,隻是一個openais的一個子產品

但配置檔案是/etc/cluster/cluster.conf 而不是/etc/openais/openais.conf

管理功能是rgmanager

rhcs rhel6.* cman可以不使用, 而是corosync, 資源管理pacemaker

corosync 2.3.0 (needle) votequorum

gfs

可以提供叢集檔案鎖,将鎖通知到其它節點(最多支援16個節點)

dlm (distributed lock manager) 需要運作在各個節點中

塊級别 DAS SAN 

建立多個日志區域

gfs (google file system)分布式檔案系統 

ocfs2 (oracle cluster file system)

clvm (cluster logical volume manager) 

借助于ha的功能,将某節點對lvm操作通知給其它節點

/etc/lvm.conf

cman /etc/cluster/cluster.conf

ccs cluster configuration system 自動同步叢集配置檔案到其它節點中(不再需要手動cp)

failover domain

服務故障轉移域, 當一個服務故障時,可以限制其轉移節點範圍 相對于服務來定義區域

luci/rici  luci控制端  rici用戶端

布曙一個叢集

軟體、系統安裝 cobbler, pxe

指令 for  ssh   fabric

配置檔案管理、軟體分發 puppet

cobbler可以實作網絡式安裝系統 (自行研究)

puppet重量級的軟體 配置檔案管理,軟體分發,等

可以實作将多台電腦組合成一個,然後前端有一台主伺服器,負責存儲中繼資料,而後端有多台

伺服器來負責存儲真正的資料,此種結合方式,即可将超大檔案進行快速存儲等。 但也需要解決

請多方面的問題比如讀取這樣的超大型檔案如何将其加載到記憶體,前端存儲中繼資料的伺服器如果

出現故障怎麼辦(高可用ha)等

1. 前端lvs伺服器做高可用 (如果對網站寫操作非資料庫扭傷還需要用nginx或haproxy做七層政策,

使其定向到一台主的rsync伺服器上,寫操作完成後,此節點再同步到其它web節點)

2. 後邊多台realserver-web (或者在此些節點做叢集的檔案系統SAN或DAS即叢集檔案鎖)

3. 資料庫做叢集高可用讓其所有節點都可以通路該資料庫

每個叢集必須有自己的叢集名稱

至少有一個fence裝置

至少應該有三個節點,兩個節點的場景中要使用qdisk

0. 三台節點電腦 11.121 11.122 11.123    跳闆機 11.220

跳闆機和其它三台節點已經進行建立ssh密鑰連接配接

時間同步

1.安裝cman, rgmanager, system-config-cluster

# aliase ha='for I in {1..3}; do'

# ha ssh node$I 'yum -y install cman rgmanager system-config-cluster'; done

2. 圖形化配置cman

進入某台節點後再進入圖形配置

# system-config-cluster &

進入後添加節點,添加manual fencing裝置 (添加節點時注意要添加票數) 

/etc/cluster/cluster.conf xml格式的配置檔案

啟動cman服務

# service cman start  (三台節點都得手動啟動)

進入跳闆機啟動rgmanager

# ha ssh node$I 'service rgmanager start'; done  (我這裡配置了别名)

3. 節點安裝httpd 

跳闆機執行

# ha ssh node$I 'yum -y install httpd'; done

# ha ssh 'echo node$I > /var/www/html/index.html'; done

(此種方式節點上執行的$I是沒有值的需要手動添加,是以還得手動修改每個節點)

手動測試每台節點httpd服務啟動是否正常,并且能夠通路目錄網站

并将httpd的開機啟動關閉

4. 檢視叢集狀态資訊指令

# cman_tool status

# clustat

管理叢集指令

# clusvcadm -h

5. 配置服務或資源

添加IP

添加的虛拟IP使用 ip addr show可以檢視

添加httpd服務 (script)

添加服務  (資源不可啟動,服務才可以,一個服務可以包含多個資源)

配置完成後需要點選發送按鈕将配置檔案自動發送到其它節點中

檢視服務資訊

轉移某服務到其它節點

# clusvcadm -r service-name -m node-name 

service-name 要替換為真正定義的服務名

node-name 要替換為真正的節點名稱

如不加-m可以自己轉移到其它節點中

# clusvcadm -d service-name 禁用某服務

# clusvcadm -e service-name 啟用某服務

# clusvcadm -R service-name 重新開機某服務

# clusvcadm -s service-name 停止某服務

6. 配置RHCS 使用共享檔案系統nfs

我這裡就用跳闆機做nfs-server  具體配置就不細說了前邊章節有,共享目錄為/webdocs

配置叢集服務

 nfs mount

關閉SElinux

# setenforce 0

7. 關閉服務并以指令行方式來建立cman基本配置

# ha ssh node$I 'service rgmanager stop'; done

# ha ssh node$I 'service cman stop'; done

# ha ssh node$I 'rm -rf /etc/cluster/*'; done

指令建立叢集配置檔案/etc/cluster/cluster.conf

其中一台節點機執行

# ccs_tool create cluster-name (cluster-name要設定為自己要定義的叢集名稱)

# css_tool addfence -h

# ccs_tool addfence meatware fence_manual   添加fence裝置

# ccs_tool lsfence

# ccs_tool addnode -h

# ccs_tool addnode -v 1 -n 1 -f meatware node-name  

添加節點(node-name要添加為具體的節點名稱)

此上操作完成即指令行基本配置完成 即可啟動 

雲是類似于ha伺服器裡運作了多台虛拟機,而當其ha伺服器出現故障時,此虛拟機不會受到影響

而是将此多台虛拟機遷移到其它ha伺服器的節點上,而這些虛拟機的檔案是儲存到共享存儲的

節點中,或者說是專用的裝置中。 這一台台虛拟機有一個接口這個便是為每個使用者通路該虛拟

機的一個入口,   此種方式的優點為當使用者在某虛拟機做了http服務或其它服務,即使真的服務

器出現故障時,業務資料也不會中斷的就直接轉移到其它節點,具體原理現在還不會解釋,

個人了解的簡單的雲架構呵呵 

下去自行研究叢集配置軟體  luci/rici

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

Winthcloud