高可用集群技術
下面針對高可用性集群,介紹一下它的工作原理。
在微軟的mscs(microsoft cluster server)術語中,所有的應用程式、資料檔案、磁碟、網路ip位址等都被稱為
資源,一些資源可以組成乙個資源組,乙個資源組存在於乙個節點上,但同時只能在乙個節點上,它是mscs可以進行故障切換(failover)的最小單元。
可以看出,檔案共享資源依賴於硬碟資源,網路名稱資源依賴於ip位址資源,而對應的web服務剛依賴於檔案共享和網路名稱。
資源的存在可以分為五種狀態
1、offline,資源不能被別的資源或者客戶機使用
2、offline pending,資源正處於offline的過程中
3、online,資源處於可用的狀態
4、online pending,資源正處於online的過程中
5、failed,資源出現了mscs無法解決的問題
前面已經提到,mscs可以從乙個節點故障切換到另乙個節點的最小單元是資源組。被定義好的相關的資源放在同乙個組中,並建立對應的依賴關係。以下圖為例,如果節點a中的資源組1要移到節點b上的話,資源組1中的資源(資源a,資源b,資源c)也必須從節點a移到節點b才行。
在mscs的資源中,有乙個非常重要的資源,quorum,它是乙個可以被兩個節點訪問的物理硬碟,用來儲存集群的資訊。這些資訊是用來維護集群的完整性以及使節點保持同步,特別是當節點不能與另乙個節點通訊的時候。quorum盤在某一時刻只能被乙個節點所擁有,並用來決定由哪個節點來擁有集群的所有資源。quorum必須位於共享的磁碟子系統中,一般都是使用外接的磁碟櫃。一般情況下,不建議把應用程式和資料儲存到包含quorum的硬碟上。
故障切換(failover)是指把出現故障的節點上的資源重新定位到另乙個可用的節點上。負責監視資源的資源監視器一旦發現資源出現故障,它就會通知集群服務,集群服務會根據事前定義好的策略觸發對應的事件。雖然發現的是個別資源的故障,但是,集群還是會把整個資源組進行故障切換。
故障切換會在三種不同的情況下發生:人工(一般是因為管理員的請求),自動,或者在特定的時間(由集群管理軟體設定)。自動故障切換又包含了三個階段:1、故障發現。2、資源重新定位。3、重新啟動應用程式(一般是故障切換過程中最耗費時間的)。當達到資源組的故障切換閥值時,自動的故障切換才會發生,閥值是可以設定的,一般由管理員來設定。
故障恢復(failback)是一種故障切換的特例,是指發生故障切換之後,把部分或者全部資源組移回它們首選的節點的過程。首選的節點,就是指集群中指定的執行資源組的道選的節點,如果是多個節點的高可用性方案,就會有多個首選的節點。當首選的節點出現故障後,對應的資源組就切換到另外的可用節點上,當出現故障的節點恢復正常後,資源組可以自動的切換回首選節點。如果沒有定義首選節點,資源組就不會自動切換回來。
要檢查資源是不是可用,資源監視器會向對應的動態鏈結庫傳送狀態資訊的請求,一般會有兩種級別的檢查,looksalive和isalive。looksalive級別的檢查相對比較簡單,每隔一段時間(相對比較短的時間,預設是5秒),資源監視器會進行一次looksalive級別的檢查,如果資源沒有響應,監視器會向集群服務報告。isalive級別的檢查是非常完整的檢查,它會徹底檢查資源是不是工作正常,isalive檢查的時間間隔比looksalive要長,預設是1分鐘。
結合上面提到的各個要素,高可用性就是通過下面的過程來實現的:
首先,資源監視器根據設定的時間間隔對資源進行lookalive和isalive兩種級別的檢查,一旦發現某乙個資源不可用,就會試圖重新啟動該資源。根據閥值的設定,如果在某一時間段內,資源不可用的情況達到了設定的閥值時,就會發生故障切換。經過故障切換的過程,對應的資源組在另外乙個節點上重新啟動了,繼續為客戶機提供服務,對客戶來說,工作沒有影響,這就完成了一次故障切換。當出現故障的節點恢復正常以後,如果事先對該資源組設定了首選節點,就會把該資源組移回該首選節點。
高效能計算技術
hpc: 平行計算工作原理
要實現平行計算,您需要:
1. 支援並行運算的硬體架構;
2. 支援平行計算的應用程式;
3. 使應用能夠並行執行的軟體工具,如編譯器,api等等。
下面我們就這三個方面分別介紹它們的分類和作用。
一、平行計算硬體架構
1、 計算方式的分類
在這裡我們使用歷史"悠久"的flynn分類法將計算方式分為以下四種:
• sisd(單指令流單資料流):傳統的計算機只有一塊cpu,因此准許一條指令流順序執行。目前許多大型主機有一塊以上的cpu,但各cpu執行的指令流互不相關,因此它們仍被看作是sisd機器,不過是很多執行在不同資料空間上的sisd的組合。很多hp,dec和sun的工作站屬於這種型別。並行計算機不應採用這種計算方式。
• simd(單指令流多資料流):單個指令流對於多個資料流進行操作。這種方式可以形象化為多台計算機在**排程處理器的協調下處理各自的資料。從邏輯上看,此時指令全部來自於**排程器,儘管它們可以執行在不同的硬體裝置(cpu)上。
• misd(多指令流單資料流):多個指令流共同操作同一條資料流。到目前為止尚未發明這樣的系統。
• mimd(多指令流多資料流):這種系統並行的在不同資料上執行不同的指令流,這種型別與上面提到的多處理器sisd系統的本質區別在於不同處理器處理的資料是彼此相關的,它們實際上是在並行執行同一工作的不同部分。因此mimd系統可以將乙個主任務分解為眾多子任務並行執行以縮短工作時間。這是目前大部分協同計算系統所採用的計算方式。
2、 平行計算的相關架構
為了使計算機系統能夠實現並行處理,一系列的計算機架構相關的技術被開發出來。下面我們介紹一下其中的幾種主要技術。
■ 處理器陣列(array processors):
使用多個處理器組成陣列,在執行時由**處理器廣播指令流,各個其它處理器(又稱處理元,processing element)執行指令流來處理本地記憶體中的資料。這種處理技術是被廣泛採用的分布式記憶體技術的基礎。
■ 共享記憶體(shared memory):
處理器(pe)通過某種連線機制連線到一塊巨大的共享記憶體上,使得任何處理器都能夠訪問任何一段記憶體。這種技術的優點是在並行環境中可以簡化作業系統、編譯器和應用程式的設計,缺點是當處理器數目增加時效能會迅速下降而成本會迅速上公升。著名的cray t90超級計算機使用的就是這種技術,目前很多的risc工作站也使用這種技術。這種技術在很多新的平行計算實現上也被部分借鑑。
■ 分布式記憶體(distributed memory):
每個處理器(pe)只訪問自己的本地記憶體,處理器之間通過某種連線機制進行通訊,從而進行協同工作,成為一台並行計算機。這種技術的優點是可以很容易地組合很多標準計算機硬體成為一台超級計算機,與其它技術相比具有很高的效能**比和可擴充套件性。缺點是應用程式中必須包含明確的資訊傳遞呼叫以利用並行架構,而且編譯器、偵錯程式、並行化工具和效能監測工具的設計也會非常複雜。使用這種技術時,連線機制的選擇至關重要。頻寬和時延會直接影響整個系統的效能。這種技術在新興的linux hpc中廣為採用。
■ 虛擬共享記憶體(virtual shared memory):
這種技術將分布式記憶體虛擬為統一的記憶體空間,從而獲得分布式記憶體和共享記憶體技術的所有優點。但是由於過多的記憶體訪問排程,在目前的技術水平上效能非常差。目前的實際應用中不會採取這種技術。
微商城系統是什麼?可以分為哪幾類?
隨著網際網路技術的發展,越來越多商家轉型做微 系統,那麼 一 什麼是微 系統?二 微 系統分類 1 店鋪型 專指 京東 微店等電商平台下的店鋪,不需要單獨的網域名稱和伺服器配置。可直接註冊賬號建立,不需要開發,不支援二次開發。但是需要平台入駐費用,和外掛程式 模板的使用費。商家運營受平台限制,需遵守...
微商城系統是什麼?可以分為哪幾類?
二 微 系統分類 1 店鋪型 專指 京東 微店等電商平台下的店鋪,不需要單獨的網域名稱和伺服器配置。可直接註冊賬號建立,不需要開發,不支援二次開發。但是需要平台入駐費用,和外掛程式 模板的使用費。商家運營受平台限制,需遵守平台規則。4 定製開發型 niushop開源 微 系統支援定製開發,商家可根據...
什麼是集群
什麼是集群 1 一組通過告訴網路互聯的計算機組,並以單一系統的模式加以管理.2 將很多伺服器集中起來一起,提供通一種服務,在客戶端看來就向是只有乙個伺服器.3 可以在付出較低成本的情況下獲得在效能 可靠性 靈活性方面的相對較高的權益.任務排程是集群系統中的核心技術.集群目的 1 提高效能 如計算秘籍...