RHCS套件+Nginx實現高可用負載均衡
紅帽叢集套件(RedHat Cluter Suite, RHCS)是一套綜合的軟體元件,可以通過在部署時採用不同的配置,以滿足你對高可用性,負載均衡,可擴充套件性,檔案共享和節約成本的需要。
它提供有如下兩種不同型別的叢集:
- 1、高可用性:應用/服務故障切換-通過建立n個節點的伺服器叢集來實現關鍵應用和服務的故障切換
- 2、負載均衡:IP 負載均衡-對一群伺服器上收到的 IP 網路請求進行負載均衡
叢集:
1.節點(node)
執行叢集程序的一個獨立主機,稱為節點,節點是HA的核心組成部分,每個節點上執行著作業系統和叢集軟體服務,在叢集中,節點有主次之分,分別稱為主節點 和備用/備份節點,每個節點擁有唯一的主機名,並且擁有屬於自己的一組資源,例如,磁碟、檔案系統、網路地址和應用服務等。主節點上一般執行著一個或多個 應用服務。而備用節點一般處於監控狀態
2.資源(resource)
資源是一個節點可以控制的實體,並且當節點發生故障時,這些資源能夠被其它節點接管
3.事件(event)
也就是叢集中可能發生的事情,例如節點系統故障、網路連通故障、網絡卡故障、應用程式故障等。這些事件都會導致節點的資源發生轉移,HA的測試也是基於這些事件來進行的。
4.動作(action)
事件發生時HA的響應方式,動作是由shell腳步控制的,例如,當某個節點發生故障後,備份節點將通過事先設定好的執行指令碼進行服務的關閉或啟動。進而接管故障節點的資源
實驗環境:
物理主機:172.25.26.250
server1:172.25.26.2
server2:172.25.26.3
1、server1和server2配置yum源
[[email protected] init.d]# vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.26.250/source6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.26.250/source6.5/HighAvailability
gpgcheck=0
[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.26.250/source6.5/LoadBalancer
gpgcheck=0
[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.26.250/source6.5/ResilientStorage
gpgcheck=0
[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.26.250/source6.5/ScalableFileSystem
gpgcheck=0
2.server1和server2都安裝ricci,設定密碼並啟動
[[email protected] ~]# yum install ricci -y
[[email protected] ~]# passwd ricci
[[email protected] ~]# /etc/init.d/ricci start
[[email protected] ~]# chkconfig ricci on
3.在server1上安裝luci,並啟動
[[email protected] ~]# yum install luci -y
[[email protected] ~]# /etc/init.d/luci start
[[email protected] ~]# chkconfig luci on
- 介面登陸設定,使用者為server1的root使用者及其密碼
https://172.25.26.2:8084
按圖示進行建立,passwd是server1和server2中ricci密碼設定中,server1和server4會重新啟動
二.安裝fence系統
物理主機:172.25.26.250
1.安裝
[[email protected] ~]# yum install fence-* -y
[[email protected] ~]# fence_virtd -c
[[email protected] ~]# mkdir /etc/cluster
生成隨機金鑰檔案,重啟服務
[[email protected] cluster]# systemctl restart fence_virtd
[[email protected] cluster]# dd if=/dev/urandom of=/etc/cluster/fency_xvm.key bs=128 count=1
把金鑰檔案傳遞給server1和server2
[[email protected] cluster]# scp /etc/cluster/fency_xvm.key [email protected]:/etc/cluster/
[[email protected] cluster]# scp /etc/cluster/fency_xvm.key [email protected]:/etc/cluster/
2.建立fence裝置
開啟瀏覽器,選擇Fence Devices 中Add
選擇server1,點選Add Fence Method 為fence1
選擇server2,點選Add Fence Method 為fence2
選擇 Fence1 中 Add Fence Instance
新增Domain為虛擬機器的uuid
fence2同樣的方法新增
測試:
Server1:
[[email protected] ~]#fence_node server2
[[email protected] ~]#clustat
三.在搭建好的叢集上新增Nginx服務
1.server1和server2上都部署好 nginx
[[email protected] ~]# ls
[[email protected] ~]#tar zxf nginx-1.14.0.tar.gz
[[email protected] ~]ls
[[email protected] ~]#cd nginx-1.14.0
cd src
cd core
vim nginx.h
cd /root/nginx-1.14.0
cd auto
cd cc
vim gcc
./configure --prefx=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio
yum install -y gcc
yum install -y pcre-devel
yum install openssl-devel -y
make
make install
cd /usr/local
ln -s /usr/local/nginx/conf/nginx.conf /sbin
nginx -t
lscpu
vim /etc/security/limits.conf
vim /usr/local/nginx/conf/nginx.conf
useradd -M -d /usr/local/nginx
id nginx
nginx
nginx -s reload
nginx -s stop
nginx
scp -r /usr/local/nginx/ [email protected]:/usr/local
Server2:
[[email protected] ~]ln -s /usr/local/nginx/sbin/nginx /sbin
[[email protected] ~]nginx -t
[[email protected] ~]useradd -M -d /usr/local/nginx nginx
[[email protected] ~]id nginx
2.配置 Luci web 端
(1)選 擇Failover Domains,如圖,填寫Name(nginxfail),如圖選擇,前面打勾的三個分別是結點失效之後可以跳到另一個結點、只服務執行指定的結點、當結點失效之跳到另一個結點之後,原先的結點恢復之後,不會跳回原先的結點。下面的Member打勾,是指服務執行server1和server2結點,後 面的Priority值越小,優先順序越高,選擇Create
(2)選擇Resourcs,點選Add,選擇新增IPAddress如圖,新增的172.25.26.100必須是未被佔用的ip,24是子網掩碼的位數,5指的是等待時間為5秒。選擇Submit
- 以相同的方法新增Script,nginx是服務的名字,/etc/init.d/nginx是服務啟動指令碼的路徑,選擇Submit
注:將nginx的指令碼放置到/etc/init.d/nginx下,指令碼為自己編寫,使用者啟動nginx
Vim /etc/init.d/nginx
#!/bin/bash
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
pidfile=/application/nginx/logs/nginx.pid
Start_Nginx(){
if [ -f $pidfile ];then
echo "Nginx is running"
else
/usr/local/nginx/sbin/nginx &>/dev/null
action "Nginx is Started" /bin/true
fi
}
Stop_Nginx(){
if [ -f $pidfile ];then
/usr/local/nginx/sbin/nginx -s stop &>/dev/null
action "Nginx is Stopped" /bin/true
else
echo "Nginx is already Stopped"
fi
}
Reload_Nginx(){
if [ -f $pidfile ];then
/usr/local/nginx/sbin/nginx -s reload &>/dev/null
action "Nginx is Reloaded" /bin/true
else
echo "Can't open $pidfile ,no such file or directory"
fi
}
case $1 in
start)
Start_Nginx
RETVAL=$?
;;
stop)
Stop_Nginx
RETVAL=$?
;;
restart)
Stop_Nginx
sleep 3
Start_Nginx
RETVAL=$?
;;
reload)
Reload_Nginx
RETVAL=$?
;;
*)
echo "USAGE: $0 {start|stop|reload|restart}"
exit 1
esac
exit $RETVAL
3)選擇Service Groups,點選Add如圖,nginx是服務的名字,下面兩個勾指分別的是自動開啟服務、執行 ,選擇Add Resource,將全域性資源IP Address 和Script加入
選擇:Add Resource選擇172.25.26.100
選擇Add Resource 選擇script
選擇Submit,完成,nginx服務組running
3.測試
clustat ,將server1的webib服務轉移到server2上
clustat 檢視狀態
clusvcadm -r nginx -m server4 將nginx組轉移到server4上
clusvcadm -e nginx 重新啟用nginx組
clusvcadm -d nginx 停止nginx組
/etc/cluster/cluster.conf 所有的配置都在裡面,刪了就沒了
相關推薦
RHCS套件+Nginx實現高可用負載均衡
紅帽叢集套件(RedHat Cluter Suite, RHCS)是一套綜合的軟體元件,可以通過在部署時採用不同的配置,以滿足你對高可用性,負載均衡,可擴充套件性,檔案共享和節約成本的需要。 它提供有如下兩種不同型別的叢集: 1、高可用性:應用/服務故障切換-通過建立n
Keepalived+Nginx實現高可用負載均衡集群
連接 靜態 adf -1 rip mail fff hostname dex 一 環境介紹 1.操作系統CentOS Linux release 7.2.1511 (Core) 2.服務keepalived+lvs雙主高可用負載均衡集群及LAMP應用keepalived-1
nginx+keepalived實現高可用負載均衡
其中 centos7.3 9.png IT 配置文件 bsp 是我 add nginx 環境: centos7.3虛擬機A 10.0.3.46 centos7.3虛擬機B 10.0.3.110 虛擬機A和B都需要安裝nginx和keepalived(過程省略,其中keepa
nginx+keepalive實現高可用負載均衡
keepalived+nginx高可實驗一:實驗環境 主nginx負載均衡器:192.168.10.63 (通過keepalived配置了VIP:192.168.10.188供外使用)副nginx負載均衡器:192.168.10.200(通過keepalived配置了VIP:192.168.10.188供外
postgresql使用RHCS套件搭建HA高可用叢集
環境: 資料庫伺服器 2臺 伺服器一 作業系統:CentOS 6.8 x86_64 IP(eth0):192.168.11.61 主機名:node1 伺服器二 作業系統:CentOS 6.8 x86_64 IP_1(eth0):192.168.11.62 主機名:node2
【Nginx】如何實現Nginx的高可用負載均衡?看完我也會了!!
## 寫在前面 > 不得不說,最近小夥伴們的學習熱情是越來越高,不斷向冰河提出新的想學習的技術。這不,又有小夥伴問我:冰河,你在【Nginx專題】寫的文章基本上都是Nginx單機版的,能不能寫一篇關於Nginx的高可用的文章呢?我:沒問題,安排上!這不,就有了這篇文章!! ## Keepalived
LVS+Keepalived實現高可用負載均衡
lvs+keepalived 高可用 負載均衡 用LVS+Keepalived實現高可用負載均衡,簡單來說就是由LVS提供負載均衡,keepalived通過對rs進行健康檢查、對主備機(director)進行故障自動切換,實現高可用。1. LVS NAT模式配置準備三臺服務器,一臺director, 兩
HAProxy+Varnish+LNMP實現高可用負載均衡動靜分離集群部署
else 應用服務器 bash == 開機啟動 多少 heal 啟用 4.0 轉自http://bbs.hfteams.com/forum.php?mod=viewthread&tid=11&extra=page%3D1 HAProxy+Varnish+LN
keepalived+lvs實現高可用負載均衡集群
keepalived+lvs實現高可用LVS實戰篇第1章 環境準備1.1 系統環境1.1.1 系統版本[root@lb01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@lb01 ~]# uname -r 2.6.32-696.el6
consul-template + nginx部署高可用負載均衡
mas server web key use 健康 png ice pre 簡介 Consul-template是Consul的一個方擴展工具,通過監聽Consul中的數據可以動態修改一些配置文件,大家比較熱衷於應用在Nginx,HAProxy上動態配置健康
LVS+Keepalived 實現高可用負載均衡叢集
LVS+Keepalived 實現高可用負載均衡叢集 隨著網站業務量的增長,網站的伺服器壓力越來越大?需要負載均衡方案!商業的硬體如 F5 ,Array又太貴,你們又是創業型互聯公司如何有效節約成本,節省不必要的浪費?同時還需要實現商業硬體一樣的高效能高可
Nginx+Keepalived高可用負載均衡
warn 兩個 available fail star 服務 online vip .com 轉自 https://www.jianshu.com/p/da26df4f7d60 Keepalived+Nginx實現高可用Web負載均衡 Master 192.
docker下用keepalived+Haproxy實現高可用負載均衡叢集
先記錄下遇到的坑,避免之後忘了; 花時間最多去解決的一個題是:在docker下啟動haproxy服務後在這個docker服務內安裝keepalived無法ping通的問題,雖然最後也是莫名其妙就好了,但是加強了不少對docker的理解和還需深入學習的地方。 為什麼要用
【Linux】LVS+Keepalived實現高可用負載均衡(Web群集)
一、Keepalived概述 keepalived是一個類似於layer3,4,5交換機制的軟體,也就是我們平時說的第3層、第4層和第5層交換。Keepalived的作用是檢測web伺服器的狀態,
LVS-DR+keepalived實現高可用負載均衡
介紹 LVS是Linux Virtual Server的簡寫,意即Linux虛擬伺服器,是一個虛擬的伺服器集群系統。本專案在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟體專案之一。 Keepalived 主要用作RealServer的健康狀態檢查以及Load
centos7.2 MYSQL雙主+半同步+keepalived實現高可用負載均衡
這兩天瞭解了一下mysql的叢集方案,發現有很多解決方案,有複雜的也有簡單的,有興趣的參考下面網址:http://www.cnblogs.com/Kellana/p/6738739.html 這裡,我使用中小企業最常用也是較簡單的方案,用keepalived提供一個vip(
利用lvs+keepalived實現高可用負載均衡環境的部署
http://wangwq.blog.51cto.com/8711737/1852212 ,執行即可(注意指令碼的VIP,不同的realserver對應不同的VIP) 1 2 3 4 5 6
利用saltstack自動化運維工具結合keepalived實現高可用負載均衡
在上次實驗“saltstsck自動化運維工具實現負載均衡”的基礎上,也就是在server3端配置實現server4端的httpd和server5端的nginx負載均衡,繼續進行操作實現高可用: (本文所有主機ip均為172.25.17網段,主機名和ip相對應。
Haproxy + Pacemaker 實現高可用負載均衡(二)
Pacemaker server1 和 server2 均安裝pacemaker 和 corosync server1 和 server2 作相同配置 [root@server1 ~]# yum install -y pacemaker coros
keepalived+httpd+tomcat實現高可用負載均衡
一、環境 centos 6.5 keepalived keepalived-1.2.19.tar.gz httpd httpd-2.4.12.tar.gz tomcat apache-tomcat-7.0.63.tar.gz 二、部署 安裝 http