国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Heartbeat 2.0

在商業(yè)服務(wù)的Rails HTTP Cluster觀念及測(cè)試中,我提到了failover也是cluster的其中一個(gè)觀念。幾年前我用heartbeat,只是單純架設(shè) pgcluster的load balancer,那個(gè)時(shí)候也是簡(jiǎn)單的active / standby。在那個(gè)時(shí)候,有這樣的架構(gòu)已經(jīng)減輕大部分人所遇到的問(wèn)題:有一臺(tái)掛掉另一臺(tái)可以馬上取代其服務(wù),讓維護(hù)者有時(shí)間可以救,使用者不會(huì)罵,已 經(jīng)是很偷笑的事情了。不然一般的維護(hù)者可能要急得像熱鍋上的螞蟻,拼命地輸入指令試著想要拯救資料或服務(wù),而在數(shù)小時(shí)的工作後,服務(wù)還是救不起來(lái),使用者 罵聲四起。但是其實(shí)對(duì)我而言,這些比起硬體的方案,還是多多少少嫌不方便。

參考這個(gè)網(wǎng)頁(yè),可以瞭解有那些failover的方式。
http://www.ukingdom.com.tw/pro/lifekeeper/lifekeeper.htm

先不管後面的階層化或是多方向failover,其中提到的active/active及active/standby,為啥要有這些分別呢?我來(lái)一個(gè)一個(gè)介紹。

 

Failover的種類

active/standby

對(duì)於一般架設(shè)LAMP來(lái)建置phpbb論壇,或是一些簡(jiǎn)單Web服務(wù)(如wiki)的管理者,在經(jīng)費(fèi)拮據(jù)的情況下,通常都是先跑一臺(tái),在想辦法生另 一臺(tái)。這時(shí)進(jìn)行active/standby的好處是,原理單純?cè)O(shè)定簡(jiǎn)單,兩臺(tái)跑同樣的OS同樣的服務(wù),一臺(tái)掛了另一臺(tái)頂替。但缺點(diǎn)就會(huì)造成 standby的那一臺(tái)會(huì)浪費(fèi)CPU資源,所以在很久以前的小論壇都沒有問(wèn)題,但是到現(xiàn)在,要應(yīng)付可能會(huì)日漸成長(zhǎng)的web 2.0社群式的論壇,可能一開始就不能考量這樣玩了。

active/active

另一種作法是兩臺(tái)主機(jī)都維持上線的狀態(tài),也就是可以說(shuō)有主站,也有個(gè)副站。而一旦任何一方掛了,另一方就可以直接抓下對(duì)方的IP,就當(dāng)作是一樣的服 務(wù)了。當(dāng)然這樣還是可以讓管理者有時(shí)間可以去處理。然而在商用服務(wù)的狀況下,通常使用者會(huì)比較難接受有兩個(gè)以上的IP或是URL,這個(gè)算是缺點(diǎn)之一。但優(yōu) 點(diǎn)就是相對(duì)地如果使用者可以接受副站的情況之下,就會(huì)有效地疏散流量及CPU負(fù)載。

以上就是1.0版的時(shí)候提供的功能。有關(guān)heartbeat 1.0可以參考舊文章
http://kiwi.csie.chu.edu.tw/blog/archives/48

Cluster Resource Management

而在heartbeat 2.0中已經(jīng)引進(jìn)了資源管理的觀念,意思就是將一個(gè)服務(wù)程式或是一個(gè)IP視作一種資源, 而這個(gè)資源可以任意在cluster裡的任意的node中migrate(遷移)。當(dāng)然與上述兩種不同的是,在這種情況下node就可以是兩個(gè)以上了。這 並不是process migration(行程遷移),還沒有那樣進(jìn)步連程式或設(shè)定檔都可以自己搬走。所有node要拿來(lái)當(dāng)作資源的服務(wù),一開始就必須全部自行建置好在完全正 常的狀態(tài)。當(dāng)進(jìn)行遷移的時(shí)候,heartbeat還是會(huì)以service {服務(wù)名稱} start/stop的方式來(lái)完成這樣的工 作。其實(shí)這個(gè)方式基本上是和active/standby一樣,不過(guò)重要的是搭配cluster的load balance機(jī)制,也就是像下圖一樣。因?yàn)楸緛?lái)就要做load balance,每個(gè)node預(yù)設(shè)將apache啟動(dòng),而需要遷移的資源也頂多只有ip和haproxy,就不需要浪費(fèi)時(shí)間啟動(dòng)較慢的apache。

另一點(diǎn)是資源的群組,數(shù)量,相依性,啟動(dòng)順序,甚至限制在哪些node上跑,全部都可以調(diào)整。也因此如果要做active/active那樣主站副站的作法也完全可行。

如這兩張圖,假設(shè)有一個(gè) cluster有四個(gè)node,在正常的情況下,使用者會(huì)透過(guò)Virtual Server的IP連到Real Server的真實(shí)服務(wù),這個(gè)我們?cè)谥暗奈恼乱呀?jīng)談過(guò)。然而套用heartbeat 2.0的觀念,我們將virtual server ip及haproxy設(shè)定為資源,接著這個(gè)資源就可以進(jìn)行手動(dòng)或自動(dòng)的遷移。手動(dòng)遷移就像是,當(dāng)你點(diǎn)下移往第二臺(tái)的按鈕後,第一臺(tái)就會(huì)停止服務(wù),而第二臺(tái) 就會(huì)開啟服務(wù)。自動(dòng)遷移會(huì)發(fā)生在整個(gè)cluster的服務(wù)被斷定為無(wú)法使用的情況下,其他node自動(dòng)地挑出下一個(gè)Quorum(服務(wù)候選人),並且將該 候選人的服務(wù)喚起,來(lái)完成資源遷移。根據(jù)硬體執(zhí)行完服務(wù)的速度,遷移大概會(huì)在10秒到30間完成,像haproxy是個(gè)小程式,整個(gè)遷移的動(dòng)作在10秒內(nèi) 就完成了。而當(dāng)cluster上所有node偵測(cè)到原本斷線的node回復(fù),又會(huì)自動(dòng)將資源遷移回第一個(gè)node,這個(gè)是因?yàn)閔eartbeat執(zhí)行的演 算法必須要維持一致性的關(guān)係。

儘管heartbeat 2.0多個(gè)了這個(gè)他稱為CRM(Cluster Resource Management)的技術(shù),卻像是以plugin的方式掛上,核心設(shè)定還是沒有啥改變,只要加上crm yes選項(xiàng)就可以啟動(dòng)了。此外也有附上另一個(gè)做的不錯(cuò)的GUI介面,讓資源建立,監(jiān)控和操作更為順暢。

此外在閱讀過(guò)後heartbeat的wiki後,我確實(shí)覺得他們的編排有點(diǎn)「偷懶」,就是提到了2.0版更新的部分,然後讓你把1.0的說(shuō)明和2.0的說(shuō)明混在一起看。其實(shí)這樣子並沒有辦法好好解釋2.0的觀念。

實(shí)做

安裝

在所有l(wèi)inux平臺(tái)上,包括fedora 6、7, CentOS 5,SuSE Enterprise 10,Ubuntu,Gentoo上都可以找到heartbeat的蹤跡。在這裡就只提到redhat系列平臺(tái)基本上是採(cǎi)用yum,所以打yum install heartbeat就可以了。不過(guò)如果要安裝heartbeat_gui,請(qǐng)確定要有XWindow或是VNC,然後打yum install heartbeat_gui

兩個(gè)設(shè)定檔
以下兩個(gè)步驟和heartbeat 1.0一樣,先從/usr/share/doc/heartbeat-{version} /複製ha.cf, authkeys兩個(gè)檔案至/etc/ha.d/
編輯ha.cf,在node設(shè)定的部分,依照你的主機(jī)名稱,依序打上。請(qǐng)注意這些名稱一定要符合在該主機(jī)上打uname -n所顯示的值

BASH:
  1. node web01
  2. node web02
  3. node web03
  4. ...
  5. crm yes

接著編輯authkeys,使用以下設(shè)定即可。如果你的網(wǎng)路環(huán)境沒有啥防火牆,建議使用md5或是sha1

BASH:
  1. auth 1
  2. 1 crc

接著在其他主機(jī)也依此安裝,也順手裝好你想要當(dāng)作資源的服務(wù),就可以service heartbeat start來(lái)啟動(dòng)。

與1.0不相同的是,接著可以參考這段影片,瞭解heartbeat gui怎樣操作。

http://www.linux-ha.org/Education/Newbie/IPaddrScreencast

那我稍微解釋各張投影片在說(shuō)啥:

  1. 這邊最主要是介紹,與打指令啟動(dòng)hb_gui
  2. 這邊要提示你,本來(lái)在安裝的時(shí)候就有新增了一個(gè)群組叫haclient,你可以編輯/etc/group然後把你想要的帳號(hào)加進(jìn)去
  3. 這邊可以看到主畫面,如果點(diǎn)選linux-ha,也就是cluster的名字,可以看見其設(shè)定。Status會(huì)顯示with quorum或是without quorum,表示是否能夠找的到服務(wù)候選人。記住要是沒有服務(wù)候選人的話(通常是只有一臺(tái)的情形),是無(wú)法儲(chǔ)存設(shè)定的,服務(wù)基本上也不會(huì)啟動(dòng)。畫面右邊 可以看見cluster的屬性,這些都可以在ha.cf修改。
  4. 將nodes展開後,可以看見有標(biāo)著DC的node,這個(gè)表示協(xié)調(diào)者目前是位於哪一個(gè)node。以他的設(shè)計(jì),協(xié)調(diào)者也會(huì)遷移的,無(wú)須擔(dān)心。
  5. 這邊可以點(diǎn)+圖示來(lái)新增資源
  6. 資源視窗裡,可以看見現(xiàn)在可以使用資源種類的列表。注意到class/provider會(huì)有l(wèi)sb或是osf,表示是從/etc/init.d讀取到的,或是heartbeat自己提供的。
  7. 接著他在名稱裡就打了our_ipaddr,名稱當(dāng)然是取的看得懂就好。此外旁邊group最好也要填,讓接著要加入的資源也填同一個(gè)group 的名字。基本上IP當(dāng)然跟服務(wù)綁在同一個(gè)群組裡,除非你是想要做active/active。選好填好之後,可以自己刪除或新增parameters,一 般來(lái)說(shuō)lsb的通常都可以把parameters全刪了。然後在這裡你可以看見他填入ip address。
  8. 如果資源還沒啟動(dòng),就按播放圖示吧!
  9. 接著因?yàn)閠arget_role本來(lái)是表示資源啟動(dòng)的狀態(tài),但因?yàn)槭褂肎UI本來(lái)就可以看得到,怕會(huì)讓自己搞混,就刪了吧
  10. 接著只是單純展示資源可以停止,或是可以增加額外的parameters。我在這邊在多解釋一個(gè)功能是,可以在任何一個(gè) node上點(diǎn)右選standby來(lái)模擬該node斷線,或是點(diǎn)上下的箭頭圖示來(lái)遷移資源,這就讓大家自己玩了。

結(jié)論

要測(cè)試其實(shí)很簡(jiǎn)單,把網(wǎng)路線拔掉就可以了。不過(guò)要注意的是,拔拔插插的動(dòng)作不要太頻繁,會(huì)導(dǎo)致反應(yīng)很慢;但因?yàn)镃RM所使用的演算法在node有兩 個(gè)以上,不修改預(yù)設(shè)設(shè)定的情況下,是不會(huì)產(chǎn)生死結(jié)的,算是可以放心試。此外也不一定要使用hb_gui來(lái)監(jiān)控,在文字介面下有一個(gè)crm_mon指令,可 以監(jiān)控而不會(huì)像gui有時(shí)候會(huì)卡住不更新。

初學(xué)者還是要注意,千萬(wàn)別將load balance和failover所用的程式搞混了。Linux上有名的ip load balance程式為ipvsadm與ldirectord,儘管heartbeat有附資源script來(lái)操作ldirectord,但其執(zhí)行檔還是要 自己用RPM裝的。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
教主/解決扁塌凌亂的頭髮! 短、中長(zhǎng)、長(zhǎng)髮的整髮小撇步
windows 2008+Oracle 11g R2 故障轉(zhuǎn)移群集配置完整版-1
男人養(yǎng)精蓄銳的方法
ceph ceph.conf 配置流程
corosync openais pacemaker構(gòu)建高可用性集群
Heartbeat實(shí)現(xiàn)集群高可用熱備
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服