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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

piranha

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 piranha 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

利用紅帽 Piranha 方案實現 WEB 負載均衡
準備環境:iptables和selinux均是關閉的。
desktop12.example.com
desktop41.example.com
(這2臺和之前的一樣是高可用的HA,假設這2臺是真機,也可以是虛擬機,只要你的電腦內存足夠大)
desktop58.example.com
desktop67.example.com(這2臺是負載均衡的real server,這2臺是虛擬機)
高可用的2臺主機將讀物請求發送給real server,之前我們利用hearbeat的時候需要配制好多文件,而紅帽的這個套件你只需要在圖形中添加,然后會自動在/etc/sysconfig/ha/ 下有一個lvs.cf的文件,你在圖形上的操作將會被記錄到此文件中。
Piranha 方案原理結構描述:Piranha 方案是基于 LVS 基礎上設計的一套負載均衡高可用解決方案.
LVS 運行在一對有相似配置的計算機上: 一個作為活動 LVS Router(Active LVS Router), 一個作為備份 LVS Router(Backup LVS Router)。 活動 LVS Router 服務有兩個角色: (1)均衡負載到真實服務器上。 (2)檢查真實服務器提供的服務是否正常。 備份 LVS Router 用來監控活動的 LVS Router,以備活動的 LVS Router 失敗時由備份 LVS Router 接管。(兩個LVS Router活動的和備份的都是高可用HA)
Pulse: Pulse 進程運行在活動 LVS Router 和備份 LVS Router 上。 在備份 LVS Router 上,pulse 發送一個心跳(heartbeat)到活動 LVS Router 的公網接口上以檢查活動 LVS Router 是否正常。 在活動 LVS Router 上,pulse 啟動 lvs 進程并響應來自于備份 LVS Router 的心跳。(pulse是安裝在HA2個高可用上的。eg:本實驗中針對的是:desktop12.example.com和desktop41。example.com)
lvsd: lvs 進程調用 ipvsadm 工具去配置和維護 IPVS 路由表,并為每一個在真實服務器
上的虛擬服務啟動一個 nanny 進程。 (自動給你去維護,不用你自己去添加ipvs的路由信息等)
nanny:每一個 nanny 進程去檢查真實服務器上的虛擬服務狀態,并將故障情況通知 lvs進程。假如一個故障被發現,lvs 進程通知 ipvsadm 在 IPVS 路由表中將此節點刪除。(nanny監控的是的realserver即real server:desktop58.example.com和desktop67.example.com)

步驟:(1)desktop12.example.com(設為主HA)
desktop41.example.com(HA)
yum install piranha -y(安裝了這個包之后你會發現提供了/etc/init.d/piranha-gui 和/etc/init.d/pusle ,而且也要安裝 yum install ipvsadm -y)
安裝了包之后會增加一個piranha這個用戶:piranha-passwd是用來修改用戶piranha的密碼。在你登錄的時候使用的。
/etc/init.d/piranha-gui restart之后
netstat -antlp | grep :3636開啟了。。
(2)訪問:http://desktop12.example.com:3636
login
username:pirnaha

password: redhat(你剛才設置的!)
(3)進入圖形界面:
點擊GLOBAL SETTINGS:
Primary server public IP: 192.168.0.12 (主LVS的公網IP)
Primary server private IP:(內部IP用于心跳檢測)
(May be blank)
Use network type: NAT Direct Routing Tunneling(不選擇)(LVS類型)
(Current type is: direct )
點擊:ACCEPT
(以上配制的是主的HA高可用)

點擊REDUNDANCY->Enable:(配置備用的HA高可用)
Redundant server public IP: 192.168.0.41(備份LVS公網)
Heartbeat interval (seconds): 2(自己設置心跳間隔(秒)時間)
Assume dead after (seconds): 10(多長時間確立死亡轉移服務)
Heartbeat runs on port: 50001(該端口不可以被占用,指的是hearbeat運行服務端口)
Monitor NIC links for failures:選擇
Syncdaemon: (同步)選擇

點擊:ACCEPT(保存設置)

點擊VIRTUAL SERVERS:進入點擊ADD->EDIT
Name:web (LVS服務名可以自己定義)
Application port:80 (虛擬服務端口)
Protocol: tcp (虛擬服務協議)
Virtual IP Address:192.168.0.1(虛擬IP)
Virtual IP Network Mask:255.255.255.255(子網掩碼)
Sorry Server: (可不寫)
Firewall Mark: (可不寫)
Device: br0:0(IP綁定的設備接口。與你選擇的HA高可用的服務器有關,如果你選擇的是真機做HA高可用,那么這里填寫br0:0,要是你選擇的是虛擬機做HA的話,那么這里寫成:eth0:0)
Re-entry Time: 15(移動RS后,重新加入的時間)
Service timeout: 6(RS失效多久后從路由中刪除)
Quiesce server: No
Load monitoring tool: none(監視各服務器負載的工具,要是你選擇的是rup和ruptime,那么你需要在你的real server中安裝你選擇的命令。)
Scheduling: LVS調度算法選擇八種調度算法中的一種(Round robin
Persistence: (使用持久穩固鏈接的時間)
Persistence Network Mask: Unused
點擊:ACCEPT
之后不退出,接著點擊REAL SERVER:ADD-->EDIT
Name: desktop67.example.com
Address: 192.168.0.67
Port: 80
Weight: 1

Name: desktop58.example.com
Address: 192.168.0.58
Port: 80
Weight: 1
點擊ACCEPT
最后你要點擊Virtual Servers 服務up起來。否則會報錯(Starting pulse: pulse: no active lvs services defined in /etc/sysconfig/ha/lvs.cf)。點擊VIRTUAL SERVICES-->((DE)ACTIVATE)
接著點擊EDIT-->REAL SERVER 選中你剛才添加的2個real server分別-->((DE)ACTIVATE)
注意你的上述修改都在:
cat /etc/sysconfig/ha/lvs.cf可以看到
(4)為了保持2個HA高可用服務器的設置相同:
scp /etc/sysconfig/ha/lvs.cf desktop41.example.com:/etc/sysconfig/ha/
(5)在desktop12.example.com上:
/etc/init.d/pulse start(注意這里的hearbeat是要關閉的)
tail -f /var/log/message可以看到lvs啟動。
status
ipvsadm -l可以看到策略。
同樣在desktop41.example.com上:
/etc/init.d/pulse start(注意這里的hearbeat也是要關閉的)
tail -f /var/log/message
可以看到lvs啟動,state=BACKUP(備用)
(6)在desktop58.example.com
desktop67.example.com設置sysctl -p是否有 net.ipv4.conf.eth0.arp_announce = 2
net.ipv4.conf.eth0.arp_ignore = 1

分別在2臺real server上: ifconfig eth0:0 192.168.0.1 netmask 255.255.255.255
route add -host 192.168.0.1 dev eth0:0
/etc/init.d/httpd restart

(7)測試:
http://192.168.0.1
如果正常的話應該是desktop58.example.com和desktop67.example.com輪詢出現,倘若出現只停留在你的一個頁面,不管你如何刷都不行,原因是因為緩存的問題,在desktop12.example.com你需要先把主的HA/etc/init.d/pusle stop ,在備用的高可用的服務器上:/etc/init.d/pusle start(此時會正常訪問,在desktop41上你可以通過:ipvsadm -l 查看調度列表,當你在將desktop12重啟的時候不會自動轉向主HA的,除非你將desktop41關閉,才會自動轉向desktop12,arp -a/arp -e是用來查看緩存的)

同樣的你可以添加vsftpd服務作為期中的一個,添加的過程如上述添加httpd服務一樣的,同樣的你可以產成如下代碼:

  • serial_no?=?70?
  • primary?=?192.168.0.71?
  • service?=?lvs?
  • backup_active?=?1?
  • backup?=?192.168.0.72?
  • heartbeat?=?1?
  • heartbeat_port?=?50001?
  • keepalive?=?2?
  • deadtime?=?10?
  • network?=?direct?
  • debug_level?=?NONE?
  • monitor_links?=?1?
  • syncdaemon?=?1?
  • virtual?web?{?
  • ?????active?=?1?
  • ?????address?=?192.168.0.2?eth0:0?
  • ?????vip_nmask?=?255.255.255.255?
  • ?????port?=?80?
  • ?????send?=?"GET?/?HTTP/1.0\r\n\r\n"?
  • ?????expect?=?"HTTP"?
  • ?????use_regex?=?0?
  • ?????load_monitor?=?none?
  • ?????scheduler?=?rr?
  • ?????protocol?=?tcp?
  • ?????timeout?=?6?
  • ?????reentry?=?15?
  • ?????quiesce_server?=?0?
  • ?????server?desktop73.example.com?{?
  • ?????????address?=?192.168.0.73?
  • ?????????active?=?1?
  • ?????????port?=?80?
  • ?????????weight?=?1?
  • ?????}?
  • ?????server?desktop74.example.com?{?
  • ?????????address?=?192.168.0.74?
  • ?????????active?=?1?
  • ?????????port?=?80?
  • ?????????weight?=?1?
  • ?????}?
  • }?
  • virtual?ftp?{?
  • ?????active?=?1?
  • ?????address?=?192.168.0.4?eth0:1?
  • ?????vip_nmask?=?255.255.255.255?
  • ?????port?=?21?
  • ?????load_monitor?=?none?
  • ?????scheduler?=?rr?
  • ?????protocol?=?tcp?
  • ?????timeout?=?6?
  • ?????reentry?=?15?
  • ?????quiesce_server?=?0?
  • ?????server?desktop73.example.com?{?
  • ?????????address?=?192.168.0.73?
  • ?????????active?=?1?
  • ?????????port?=?21?
  • ?????????weight?=?1?
  • ?????}?
  • ?????server?desktop74.example.com?{?
  • ?????????address?=?192.168.0.74?
  • ?????????active?=?1?
  • ?????????port?=?21?
  • ?????????weight?=?1?
  • ?????}?
  • }?
  • ?

    轉載于:https://blog.51cto.com/sushan/739189

    總結

    以上是生活随笔為你收集整理的piranha的全部內容,希望文章能夠幫你解決所遇到的問題。

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