日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RHCS套件实现高可用负载均衡集群(一)

發布時間:2025/3/19 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RHCS套件实现高可用负载均衡集群(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、RHCS

什么是RHCS

RHCS即 RedHat Cluster Suite ,中文意思即紅帽集群套件。 紅帽集群套件(RedHat Cluter Suite, RHCS)是一套綜合的軟件組件,可以通過在部署時采用不同的配置,以滿足你的對高可用性,負載均衡,可擴展性,文件共享和節約成本的需要。

提供有如下兩種不同類型的集群:

  • 1.高可用性:應用/服務故障切換-通過創建n個節點的服務器集群來實現關鍵應用和服務的故障切換
  • 2.負載均衡:IP 負載均衡-對一群服務器上收到的 IP 網絡請求進行負載均衡

RHCS特點

  • 最多支持128個節點(紅帽企業Linux 3 和紅帽企業Linux 4 支持 16 個節點
  • 可同時為多個應用提供高可用性
  • NFS/CIFS 故障切換:支持 Unix 和 Windows 環境下使用的高可用性文件。
  • 完全共享的存儲子系統:所有集群成員都可以訪問同一個存儲子系統
  • 綜合數據完整性:使用最新的 I/O 屏障(barrier)技術,如可編程的嵌入式和外部電源開關裝置(power switches)
  • 服務故障切換:紅帽集群套件可以確保及時發現硬件停止運行或故障的發生并自動恢復系統,同時,它還可以通過監控應用來確保應用的正確運行并在其發生故障時進行自動重啟

集群相關術語

  • 節點(node):運行集群進程的一個獨立主機,稱為節點,節點是HA的核心組成部分,每個節點上運行著操作系統和集群軟件服務,在集群中,節點有主次之分,分別稱為主節點和備用/備份節點,每個節點擁有唯一的主機名,并且擁有屬于自己的一組資源,例如,磁盤、文件系統、網絡地址和應用服務等。主節點上一般運行著一個或多個應用服務。而備用節點一般處于監控狀態。
  • 資源(resource):資源是一個節點可以控制的實體,并且當節點發生故障時,這些資源能夠被其它節點接管。
  • 事件(event):也就是集群中可能發生的事情,例如節點系統故障、網絡連通故障、網卡故障、應用程序故障等。這些事件都會導致節點的資源發生轉移,HA的測試也是基于這些事件來進行的。
  • 動作(action):事件發生時HA的響應方式,動作是由shell腳步控制的,例如,當某個節點發生故障后,備份節點將通過事先設定好的執行腳本進行服務的關閉或啟動。進而接管故障節點的資源。

集群大致結構

二、搭建RHCS環境

基本環境搭建

  • 操作系統:rhel6.5

  • 準備五臺主機:
    物理機:172.25.54.250,作為fence, 暫時不用
    server1:172.25.54.1, 下載ricci,luci(為了提供Conga配置用戶界面),server1作為主節點
    server2:172.25.54.2, 下載ricci,server2作為副節點
    server3:172.25.54.3 后面作iscci共享存儲,此時暫時用作RS進行負載均衡測試
    server4:172.25.54.4 ,作為RS,負載均衡測試
    注:
    從紅帽企業版 Linux 6.1 開始,您在任意節點中使用 ricci 推廣更新的集群配置時要求輸入密碼。所以在前面兩臺主機安裝完成ricci后需要修改ricci用戶的密碼,這個是后面節點設置的密碼,并且要作時間同步;然后啟動安裝的服務


  • 避免其他因素影響:關閉所有防火墻,禁用selinux

  • server1 和server2:配置高可用 yum 源

  • 物理機添加本地解析

[root@foundation54 ~]# vim /etc/hosts 172.25.54.1 server1 172.25.54.2 server2

創建集群

  • 瀏覽器訪問 https://172.25.54.1:8084
    在網頁瀏覽器的地址欄中輸入 cman 服務器的 URL
    luci服務器的URL語法為https://172.25.54.1:luci_server_prot
    luci_server_port 的默認值為 8084

    首次訪問時,需做以下操作:






[root@server1 ~]# clustat Cluster Status for tutu1 @ Wed Aug 1 10:38:44 2018 Member Status: QuorateMember Name ID Status------ ---- ---- ------server1 1 Online, Localserver2 2 Online[root@server1 ~]#





腳本制作

[root@server1 ~]# vim /etc/init.d/nginx [root@server1 ~]# cat /etc/init.d/nginx #!/bin/bash # # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/var/run/nginx.pid RETVAL=0 prog="nginx" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1 fiecho -n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/nginxreturn $RETVAL } # Stop nginx daemons functions. stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid } # reload nginx service functions. reload() {echo -n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo } # See how we were called. case "$1" in start)start;; stop)stop;; reload)reload;; restart)stopstart;; status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1 esac exit $RETVAL [root@server1 ~]# chmod a+x /etc/init.d/nginx //使腳本有執行權限

查看server1 和 server2 的 nginx 服務狀態

[root@server1 ~]# /etc/init.d/nginx status nginx is stopped [root@server1 ~]# [root@server2 ~]# /etc/init.d/nginx status nginx is stopped [root@server2 ~]#






測試

[root@server1 ~]# cat /usr/local/nginx/html/test.html <h1>www.westos.com server1</h1> [root@server1 ~]#[root@server2 ~]# cat /usr/local/nginx/html/test.html <h1>www.westos.com server2</h1> [root@server2 ~]#


[root@server1 ~]# /etc/init.d/nginx stop Stopping nginx: [ OK ] [root@server1 ~]#


負載均衡——加入RS:server3, server4

  • 添加物理機本地解析
[root@foundation54 ~]# vim /etc/hosts 172.25.54.100 www.westos.org bbs.westos.org westos.org 172.25.54.1 server1 172.25.54.2 server2 [root@foundation54 ~]#

修改 server1 和 server2 的nginx配置文件

// vim /usr/local/nginx/conf/nginx.conf 內容如下:2 user nginx nginx;3 worker_processes 1;4 worker_cpu_affinity 1;13 events {14 worker_connections 65535;15 } // 下面添加的內容在 http { } 中19 upstream westos {20 #ip_hash;21 #server 172.25.54.2:80;22 server 172.25.54.3:80;23 server 172.25.54.4:80;24 server 127.0.0.1:80 backup;25 } 125 server { 126 listen 80; 127 server_name www.westos.org; 128 129 location / { 130 proxy_pass http://westos; 131 } 132 }

編輯 server3 和 server4 的網頁發布內容

[root@server3 ~]# vim /var/www/html/index.html [root@server3 ~]# cat /var/www/html/index.html <h1>server3</h1> [root@server3 ~]# [root@server4 ~]# vim /var/www/html/index.html [root@server4 ~]# cat /var/www/html/index.html <h1>server4</h1> [root@server4 ~]#

測試

[root@server1 ~]# clustat Cluster Status for tutu @ Thu Aug 2 12:58:56 2018 Member Status: QuorateMember Name ID Status------ ---- ---- ------server1 1 Online, Local, rgmanagerserver2 2 Online, rgmanagerService Name Owner (Last) State ------- ---- ----- ------ ----- service:nginx server1 started [root@server1 ~]# /etc/init.d/nginx status nginx (pid 30422 30420) is running... [root@server1 ~]#[root@server2 ~]# /etc/init.d/nginx status nginx is stopped [root@server2 ~]#[root@server1 ~]# /etc/init.d/nginx stop Stopping nginx: [ OK ] [root@server1 ~]#[root@server2 ~]# clustat Cluster Status for tutu @ Thu Aug 2 12:59:29 2018 Member Status: QuorateMember Name ID Status------ ---- ---- ------server1 1 Online, rgmanagerserver2 2 Online, Local, rgmanagerService Name Owner (Last) State ------- ---- ----- ------ ----- service:nginx server12 started


[root@foundation54 ~]# curl www.westos.org <h1>server3</h1> [root@foundation54 ~]# curl www.westos.org <h1>server4</h1> [root@foundation54 ~]# curl www.westos.org <h1>server3</h1> [root@foundation54 ~]# curl www.westos.org <h1>server4</h1> [root@foundation54 ~]# curl www.westos.org <h1>server3</h1> [root@foundation54 ~]#

總結

以上是生活随笔為你收集整理的RHCS套件实现高可用负载均衡集群(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。