1. 程式人生 > >Linux:RHCS高可用負載均衡叢集(ricci、luci、fence)

Linux:RHCS高可用負載均衡叢集(ricci、luci、fence)

一·RHCS

1.RHCS是什麼

RHCS是Red Hat Cluster Suite的縮寫,也就是紅帽子叢集套件,RHCS是一個能夠提供高可用性、高可靠性、負載均衡、儲存共享且經濟廉價的叢集工具集合,它將集群系統中三大叢集架構融合一體,可以給web應用、資料庫應用等提供安全、穩定的執行環境。更確切的說,RHCS是一個功能完備的叢集應用解決方案,它從應用的前端訪問到後端的資料儲存都提供了一個行之有效的叢集架構實現,通過RHCS提供的這種解決方案,不但能保證前端應用持久、穩定的提供服務,同時也保證了後端資料儲存的安全。
RHCS提供了集群系統中三種叢集構架,分別是高可用性叢集、負載均衡叢集、儲存叢集。

2.RHCS提供的三個核心功能

高可用叢集是RHCS的核心功能。當應用程式出現故障,或者系統硬體、網路出現故障時,應用可以通過RHCS提供的高可用性服務管理元件自動、快速從一個節點切換到另一個節點,節點故障轉移功能對客戶端來說是透明的,從而保證應用持續、不間斷的對外提供服務,這就是RHCS高可用叢集實現的功能。
RHCS通過LVS(Linux Virtual Server)來提供負載均衡叢集,而LVS是一個開源的、功能強大的基於IP的負載均衡技術,LVS由負載排程器和服務訪問節點組成,通過LVS的負載排程功能,可以將客戶端請求平均的分配到各個服務節點,同時,還可以定義多種負載分配策略,當一個請求進來時,集群系統根據排程演算法來判斷應該將請求分配到哪個服務節點,然後,由分配到的節點響應客戶端請求,同時,LVS還提供了服務節點故障轉移功能,也就是當某個服務節點不能提供服務時,LVS會自動遮蔽這個故障節點,接著將失敗節點從叢集中剔除,同時將新來此節點的請求平滑的轉移到其它正常節點上來;而當此故障節點恢復正常後,LVS又會自動將此節點加入到叢集中去。而這一系列切換動作,對使用者來說,都是透明的,通過故障轉移功能,保證了服務的不間斷、穩定執行。
RHCS通過GFS檔案系統來提供儲存叢集功能,GFS是Global File System的縮寫,它允許多個服務同時去讀寫一個單一的共享檔案系統,儲存叢集通過將共享資料放到一個共享檔案系統中從而消除了在應用程式間同步資料的麻煩,GFS是一個分散式檔案系統,它通過鎖管理機制,來協調和管理多個服務節點對同一個檔案系統的讀寫操作。

3.RHCS叢集的組成
(1)叢集構架管理器

這是RHCS叢集的一個基礎套件,提供一個叢集的基本功能,使各個節點組成叢集在一起工作,具體包含分散式叢集管理器(CMAN)、成員關係管理、鎖管理(DLM)、配置檔案管理(CCS)、柵裝置(FENCE)

(2)高可用服務管理器

提供節點服務監控和服務故障轉移功能,當一個節點服務出現故障時,將服務轉移到另一個健康節點

二·建立叢集

實驗環境:
服務端:server1 安裝ricci(叢集節點) 和luci(叢集管理介面)
客戶端:server4 安裝ricci(叢集節點)

1.需要建立環境

在server1中:

[root@server1 ~]# vim  /etc/yum.repos.d/rhel-source.repo  ##配置高可用yum源
[root@server1 ~]# yum cleana all
[root@server1 ~]# yum repolist
[root@server1 ~]# scp /etc/yum.repos.d/rhel-source.repo [email protected]:/etc/yum.repos.d/rhel-source.repo 
[root@server1 ~]# yum install ricci luci -y   ##安裝叢集節點和管理介面
[root@server1 ~]# /etc/init.d/ricci  start  ##開啟服務
[root@server1 ~]# /etc/init.d/luci  start
[root@server1 ~]# chkconfig luci on
[root@server1 ~]# chkconfig ricci on
[root@server1 ~]# passwd ricci    ##設定密碼(至少需要6個字元)

yum源:
這裡寫圖片描述
這裡寫圖片描述

在server4中:

[root@server4 ~]# yum install ricci -y   ##安裝
[root@server4 ~]# /etc/init.d/ricci  start  ##開啟服務
[root@server4 ~]# chkconfig ricci on
[root@server4 ~]# passwd ricci    ##設定密碼

在物理機上新增解析:
這裡寫圖片描述

2.建立叢集

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

3.高可用叢集負載均衡

(1)在server1中:

[root@server1 ~]# cd /etc/init.d/
[root@server1 init.d]# ls
[root@server1 init.d]# cd /usr/local/
[root@server1 local]# scp -r nginx/  [email protected]:/usr/local/
[root@server1 local]# cd /etc/init.d/
[root@server1 init.d]# vim nginx   ##從物理機上傳nginx檔案到/etc/init.d/下
[root@server1 init.d]# nginx   ##開啟
[root@server1 init.d]# nginx -s stop   ##停止
[root@server1 init.d]# chmod +x nginx   ##可執行許可權
[root@server1 init.d]# ps ax   ##檢視程序
[root@server1 init.d]# /etc/init.d/nginx stop   ##關閉
[root@server1 init.d]# scp nginx [email protected]:/etc/init.d/
[root@server1 ~]# clustat   ##檢視叢集狀態

這裡寫圖片描述

(2)在server4中:

[root@server4 ~]# cd /usr/local/
[root@server4 local]# cd nginx/
[root@server4 nginx]# cd logs/
[root@server4 logs]# ll
[root@server4 logs]# ln -s /usr/local/nginx/sbin/nginx /sbin/   ##製作軟連結
[root@server4 logs]# useradd -M -d /usr/local/nginx/ nginx  
[root@server4 logs]# id nginx

這裡寫圖片描述

(3)返回管理叢集介面:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

(4)需要在物理機加解析
這裡寫圖片描述
(5)網頁測試
這裡寫圖片描述
開啟server2和server3的httpd後再次測試:
這裡寫圖片描述
這裡寫圖片描述

三·Fence

通過柵裝置可以從叢集共享儲存中斷開一個節點,切斷I/O以保證資料的完整性。當CMAN確定一個節點失敗後,它在叢集結構中通告這個失敗的節點,fenced程序將失敗的節點隔離,以保證失敗節點不破壞共享資料。它可以避免因出現不可預知的情況而造成的“腦裂”(split-brain)現象。“腦裂”是指當兩個節點之間的心跳線中斷時,兩臺主機都無法獲取對方的資訊,此時兩臺主機都認為自己是主節點,於是對叢集資源(共享儲存,公共IP地址)進行爭用,搶奪。
Fence的工作原理是:當意外原因導致主機異常或宕機時,備用機會首先呼叫fence裝置,然後通過fence裝置將異常的主機重啟或從網路上隔離,釋放異常主機佔據的資源,當隔離操作成功後,返回資訊給備用機,備用機在接到資訊後,開始接管主機的服務和資源。

RHCS的Fence裝置可以分為兩種:

內部Fence和外部Fence。
內部fence有IBM RSAII卡,HP的ILO卡,以及IPMI裝置等;外部FENCE裝置有UPS,SAN switch ,Network switch等。

當節點A上的柵過程發現C節點失效時,它通過柵代理通知光纖通道交換機將C節點隔離,從而釋放佔用的共享儲存。
當A上的柵過程發現C節點失效時,它通過柵代理直接對伺服器做電源power on/off,而不是去執行作業系統的開關機指令。

fence的作用:斷電重啟
安裝包:

fence-virtd-multicast.x86_64
fence-virtd-libvirt.x86_64
fence-virtd-serial.x86_64

1.下載安裝包以及配置

[root@foundation71 kiosk]# yum install fence-virtd-multicast.x86_64 
[root@foundation71 kiosk]# yum install fence-virtd-libvirt.x86_64 
[root@foundation71 kiosk]# yum install fence-virtd-serial.x86_64
[root@foundation41 kiosk]# fence_virtd -c
[root@foundation71 Desktop]# systemctl restart fence_virtd.service 
[root@foundation71 Desktop]# netstat -anulp |grep :1229  ##檢視埠
[root@foundation71 Desktop]# cd /etc/cluster/   ##由於沒有目錄,需要建立
bash: cd: /etc/cluster/: No such file or directory
[root@foundation71 Desktop]# mkdir /etc/cluster/
[root@foundation71 Desktop]# cd /etc/cluster/
[root@foundation71 cluster]# ls
[root@foundation71 cluster]# dd if=/dev/urandom of=fance_xvm.key bs=128   ##擷取
[root@foundation71 cluster]# systemctl restart fence_virtd.service  ##重啟
[root@foundation71 cluster]# scp fance_xvm.key [email protected]:/etc/cluster/ 
[root@foundation71 cluster]# scp fance_xvm.key [email protected]:/etc/cluster/

初始化
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

2.進入管理介面

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
同樣的步驟要新增節點vmfenve2
新增後的介面
這裡寫圖片描述

測試:

[root@server4 ~]# clustat  ##檢視狀態
root@server4 init.d]# fence_node server4   ##斷開server4
會發現自動重啟

這裡寫圖片描述
這裡寫圖片描述

[root@server4 ~]# echo c > /proc/sysrq-trigger    ##核心崩潰,會自動重啟

這裡寫圖片描述

相關推薦

LinuxRHCS可用負載均衡叢集riccilucifence

一·RHCS 1.RHCS是什麼 RHCS是Red Hat Cluster Suite的縮寫,也就是紅帽子叢集套件,RHCS是一個能夠提供高可用性、高可靠性、負載均衡、儲存共享且經濟廉價的叢集工具集合,它將集群系統中三大叢集架構融合一體,可以給web應

RabbitMQ使用Docker構建RabbitMQ可用負載均衡叢集

本文使用Docker搭建RabbitMQ叢集,然後使用HAProxy做負載均衡,最後使用KeepAlived實現叢集高可用,從而搭建起來一個完成了RabbitMQ高可用負載均衡叢集。受限於自身條件,本文使用VMware虛擬機器的克隆功能克隆了兩臺伺服器進行操作,僅作為一個demo,開發中可根據實際情況進行調整

keepalived+haproxy 可用負載均衡叢集

案例 chkconfig NetworkManager off chkconfig iptables off cat /etc/sysconfig/selinux #例行公事四臺都要這樣selinux為disabled狀態。 #web為配置好的狀態 只有一個頁面。

MySQL可用負載均衡叢集部署

簡介 使用MySQL時隨著時間的增長,使用者量以及資料量的逐漸增加,訪問量更是劇增,最終將會使MySQL達到某個瓶頸,那麼MySQL的效能將會大大降低。這一結果也不利於軟體的推廣。   那麼如何跨過這個瓶頸,提高MySQL的併發量呢?方法有很多,分散式資料庫、讀寫分離

LVS+Keepalived 實現可用負載均衡叢集

LVS+Keepalived  實現高可用負載均衡叢集     隨著網站業務量的增長,網站的伺服器壓力越來越大?需要負載均衡方案!商業的硬體如 F5 ,Array又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時還需要實現商業硬體一樣的高效能高可

可用負載均衡叢集之 HAProxy 部署

一、HAProxy 簡介     1、HAProxy 是開源、免費、快速並且可靠的一種解決方案,他可以執行在大部分主流的 Linux 伺服器上。     2、HAProxy 適用於負載那些特大的 WEB 站點,而這些站點通常又需要會話保持或者

Keepalived + LVS + LAMP 可用負載均衡叢集實現

一、Keepalived 簡介           Keepalived 是一個用 C 語言編寫的路由軟體。它最初是專門為 LVS 負載均衡軟體設計的,用來管理並監控 LVS 集群系統中各個服務節點的狀態,後來又加

階段總結——用虛擬機器搭建一個可用負載均衡叢集架構

搭建一個高可用負載均衡叢集架構出來,並執行三個站點,具體需求如下。 ------------------------------------------------------------------------------------------ 基礎: 1 設計你認為合理的架構,用visio把架構圖

搭建簡單的可用負載均衡叢集

一、搭建DR模式的lvs叢集 環境:DS:192.168.4.53 VIP:192.168.4.100 RS:192.168.4.51 192.168.4.52 1、建立三臺實驗機器,配置好ip和yum倉庫 2、在DR上配置VIP [[email protected] ~]#c

docker下用keepalived+Haproxy實現可用負載均衡叢集

先記錄下遇到的坑,避免之後忘了; 花時間最多去解決的一個題是:在docker下啟動haproxy服務後在這個docker服務內安裝keepalived無法ping通的問題,雖然最後也是莫名其妙就好了,但是加強了不少對docker的理解和還需深入學習的地方。 為什麼要用

Saltstack自動化運維工具一鍵部署可用負載均衡叢集

在上篇部落格中我們利用salt推送了一臺主機上的haproxy為了實現高可用和負載均衡,我們再使用一臺虛擬機器server4搭建叢集 server1和server4組成高可用和負載均衡叢集 在server4 做好底層配置: 在server4上安裝minion,更改配置檔

saltstack實現一鍵部署keepalived+haproxy的可用負載均衡叢集

配置環境 主機名 ip 服務 server1 172.25.1.1 salt-master、salt-minion haproxy、keepalived server2 172.25.1.2 salt-minion

利用saltstack一鍵部署可用負載均衡叢集

實驗環境: Server1 172.25.254.1 maseter/minion keepalived/haproxy Server2 172.25.254.2 minion httpd Server3 172.25.254.3 minion

LVS+Keepalived搭建MyCAT可用負載均衡叢集

LVS+Keepalived 介紹 LVS LVS是Linux Virtual Server的簡寫,意即Linux虛擬伺服器,是一個虛擬的伺服器集群系統。本專案在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟體專案之一。目前有三種IP負載均衡技術(VS/NAT、VS/TUN和VS/DR),十種

搭建LVS-DR負載均衡叢集Keepalived-LVS可用負載均衡叢集

LVS DR模式搭建準備工作三臺機器, 三臺機器均有公網IP。排程器(director)IP:192.168.8.133real server1(real1)IP:192.168.8.134real server2(real2)IP:192.168.8.135VIP:192.

SaltStack一鍵自動化部署可用負載均衡叢集

本節內容涉及的saltstack配置以及各服務的安裝包和配置檔案均打包上傳到了百度雲,可自由下載使用 實驗環境(rhel6.5 x86_64bit virtual machine) 172.25.5.91 salt-master rhel65-lockey1

ActiveMQ可用+負載均衡叢集

一,高可用叢集 從ActiveMQ5.9開始,ActiveMQ的叢集實現方式取消了傳統的Master-Slave方式,增加了基於ZooKeeper+LevelDB的Master-Slave實現方式,其他兩種方式目錄共享和資料庫共享方式依然存在 (1)檔案共享(KahaD

JMS之——ActiveMQ可用+負載均衡叢集

一、高可用叢集 從ActiveMQ5.9開始,ActiveMQ的叢集實現方式取消了傳統的Master-Slave方式,增加了基於ZooKeeper+LevelDB的Master-Slave實現方式,其他兩種方式目錄共享和資料庫共享方式依然存在. 1、檔案共享(KahaDB

乾貨Nginx+Tomcat搭建負載均衡叢集轉載

一、       工具   nginx-1.8.0   apache-tomcat-6.0.33 二、    目標   實現高效能負載均衡

Linux運維-叢集技術進階】Nginx+Keepalived+Tomcat搭建可用/負載均衡/動靜分離的Web伺服器叢集

額,部落格名字有點長。。。 前言 終於到這篇文章了,心情是有點激動的。因為這篇文章會集中以前部落格講到的所有Nginx功能點,包括基本的負載均衡,還有動靜分離技術再加上這篇文章的重點,通過Keepalived實現的HA(High Available),為什麼