****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數據恢復咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢復公司,專業數據恢復15年

兆柏數據恢復公司

?常見問題

?當前位置: 主頁 > 常見問題

提高可靠性最笨的辦法,也是最有效的方法——冗余設計

瀏覽量: 次 發布日期:2023-08-22 19:12:47

提高可靠性最笨的辦法,也是最有效的方法——冗余設計

       中國人德國人美國人日本人四個人坐飛機,飛機有四個發動機,結果,飛機出了故障,壞了一個發動機,需要緊急減輕重量,有一個人要跳下去,否則飛機就會墜毀。

       于是他們決定石頭剪刀布,輸了跳下去。
       美國人輸了,美國人走到艙門口說:“美利堅合眾國萬歲!”,就跳下去了。

       沒多久,又壞了一個發動機。德國人輸了。德國人走到艙門口說:“德意志萬歲!”,就跳下去了。

       又沒多久,又壞了一個發動機。中國人輸了。中國人大吼一聲:“中國人民萬歲!”然后,就把那日本人從艙門口踹了下去。


      這是一個笑話。但是呢,笑完之后,發動機如果做了備份,飛機如果有一個發動機損壞了,仍然還可以飛行。這個就是冗余設計。


一、什么是冗余設計

       又稱余度設計技術,是在系統或設備完成任務起關鍵作用的地方,增加一套以上完成相同功能的功能通道、工作元件或部件,以保證當該部分出現故障時,系統或設備仍能正常工作,以減少系統或者設備的故障概率,提高系統可靠性。


       航空領域的飛機,因為單次飛機事故造成的死亡率高,死亡人數多,所以冗余系統在飛機上也有很好的應用,如果一個飛機需要兩個發動機可以正常啟用的話,那這個飛機可能需要至少四個發動機,除去安全系數的考慮外,這里面就有冗余系統的理念,以保證一兩個發動機的故障,不會引起飛機失事,而造成重大的事故。這里可以看出冗余系統的一個很重要的缺點:就是發動機的故障并不是獨立的,可能其中一個發動機著火的話,會引起其他發動機的故障,所以這個可靠性會比理論計算的少很多。

     生活中,也有比較常見的冗余系統,如運貨的重卡,在卡車載重的后輪胎上,任意一個軸承上的一邊至少有兩個輪胎,其實僅需要一個輪胎,重卡就可以正常運行,另外一個輪胎就是冗余系統了。

        冗余系統不一定非要是軟件類的系統或機械類的設備,也可以是人(廣義上來說人也是系統的一部分),但用人來當冗余系統的話,可靠性會更低,因為人的判斷更易受外界因素的干擾。


712.png

一般來說冗余系統目的在于:為了保險起見,采取兩套同樣獨立配置的硬件、軟件或設計等,防止在其中一套系統出現故障時,另一套系統能立即啟動,代替工作,這就好比演員的替身。一套單獨的系統也許運行的故障率很高,但采取冗余措施后,在不改變內部設計的情況下,這套系統的可靠性立即可以大幅度提高。假如單獨系統的故障率為50%,而采取冗余系統后馬上可以將故障率降低到25%。


冗余系統的優點在于:

一、以現有的系統為依托,不需要任何時間或科研投入,可以立即實現;

二、配置、安裝、使用簡單,無需額外的培訓、設計等;

三、使用冗余系統,理論上來講,系統的故障率可以接近為零。


冗余系統的缺點在于:

一、使用冗余系統就代表該系統臃腫,不簡潔;

二:投入成本巨大,需要購買額外的系統,以及增加該系統后的后期維護成本等;

三:完全獨立的系統并不存在,所以冗余系統最大的缺點在于,相互獨立的配置之間會互相影響(尤其是依靠人的冗余系統),可靠性相對理論計算會大幅度下降。


       冗余系統因為前期投入巨大,后期的維護成本高,所以只有在高風險(包括金融風險、行政風險、管理風險以及危及生命安全的風險)行業應用比較廣泛,如:金融領域、核安全領域、航空領域、煤礦等領域。

       銀行中的數據非常重要,即使服務器小概率的故障,也會有很大影響,甚至會影響一個國家的金融體系的穩定。所以,每一個銀行的數據至少同時存在兩個以上的不同地點的服務器中(這就是一個簡單的冗余系統),需要明白的是這個跟備份不一樣,備份可以是先存儲,再備份,而銀行系統的冗余系統是同時更改,以保證在任意時間,任意一個服務器的故障,都不會引起數據失真。



二、冗余設計的分類


1、異地容災:  

異地容災,顧名思義就是在不同的地域,構建一套或者多套相同的應用或者數據庫,起到災難后立刻接管的作用。

      現代的企業已經變得越來越依賴數據處理中心進行業務處理,對于這些數據中心來說,業務完全依靠信息技術進行處理。對于信息處理中心來說,對數據的完整性和可用性提出了極高的要求。特別是大型金融、電信等企業,對業務系統的連續性提出了更高的要求,對于這些企事業單位來說,遇到突發的故障事件,沒有完備的災備系統,對于業務系統都是致命的。同樣,對許多中小企業來說,必要的災備系統也是必要的。

由于異地容災的解決方案,是兩套或者多套數據及設備部署在不同的地域,所以當一個地點發生火災、地震的情況的時候,在異地的備份可以接管業務。由于平時兩地的數據同步,也不會造成用戶數據丟失


2、雙機備份

     雙機熱備特指基于高可用系統中的兩臺服務器的熱備(或高可用),因兩機高可用在國內使用較多,故得名雙機熱備,雙機高可用按工作中的切換方式分為:主-備方式(Active-Standby方式)和雙主機方式(Active-Active方式),主-備方式即指的是一臺服務器處于某種業務的激活狀態(即Active狀態),另一臺服務器處于該業務的備用狀態(即Standby狀態)。而雙主機方式即指兩種不同業務分別在兩臺服務器上互為主備狀態(即Active-Standby和Standby-Active狀態)。

在企業的發展情況與不同環境因素下,用戶對系統的連續工作性和實時性也有著更高的要求,從實際操作面來看,企業用戶在工作環節中,要把采集到的實時數據存儲在兩臺計算機上,其中一臺采集機故障時,另一臺備用的立刻可以接替,并給出警告信號,當采集機恢復后,可自動接替備用機。因此既達到能保存重要數據,又能節省成本,那么雙機備份軟件就是企業用戶的更好選擇。


基于共享存儲(磁盤陣列)的方式

共享存儲方式主要通過磁盤陣列提供切換后,對數據完整性和連續性的保障。用戶數據一般會放在磁盤陣列上,當主機宕機后,備機繼續從磁盤陣列上取得原有數據。如下圖所示

傳統的單存儲方式

這種方式因為使用一臺存儲設備,往往被業內人士稱為磁盤單點故障。但一般來講存儲的安全性較高。所以如果忽略存儲設備故障的情況下,這種方式也是業內采用最多的熱備方式。




全冗余方式

全冗余方式就是雙機雙存儲,基于單臺存儲的傳統雙機熱備方式,確實存在存儲單點故障的情況,為實現存儲冗余,存儲高可用也已經越來越多的被用戶接受。我們從理解上可以看出,雙機熱備最早是為解決服務器的計劃性停機與非計劃性宕機的解決方案,但是我們無法實現存儲的計劃性停機與非計劃性宕機帶來的服務器停機,而存儲作為雙機熱備中唯一存儲數據的設備,它一旦發生故障往往會造成雙機熱備系統全面崩潰。


3、單板級主備倒換

高端設備由于所處網絡位置非常重要,不允許出現單點故障,設備一般都配備兩塊主控板,分別稱為主用主控板(Master)和備用主控板(Slave)。其中,主用主控板作為控制平面的核心,與外部和業務板進行業務通信,完成系統內各模塊的正常功能;而備用主控板則只作為主用主控板的備份,與外部和業務板沒有通信。當主用主控板發生故障時,系統自動進行主備切換,由備用主控板接替主用主控板的工作,保證業務的正常運行


主備主控板的熱備份過程主要分為批量備份、實時備份和數據平滑三個階段。

備用主控板啟動后,由于此時主用主控板和備用主控板的差異比較大,主用主控板會將當前需要備份的數據批量同步到備用主控板,這個過程稱之為批量備份,批量備份時間的長短取決于需要備份數據量的大小。

批量備份過程結束后,系統進入實時備份過程,在此過程中,當主用主控板備份數據發生變化時,備份數據將實時同步到備用板,這個過程通常很快。

主備倒換后,備用板升為新的主用板,會通知各個模塊向業務板進行數據收集和同步,這個過程稱之為數據平滑。平滑過程中,各模塊主動與業務板進行通信,在硬件狀態、鏈路層狀態、配置數據三個方面進行確認和同步,以保證整個系統維護的數據和狀態是一致的,從而確保主備切換之后,系統能夠正常運行。平滑階段結束,新的主用板才稱之為完全意義上的主用主控板。


上面的機框,可以看出,電源板、主控板都做了備份兩份的配置。


4、單板資源池

再如上圖中,下面這些電路板一般都是業務或者是接口板,為了防止有單板損壞,按照業務性能滿足之外,一般會多備份一塊備用電路,如果有正在工作的某一塊電路損壞,都可以切換到備用電路板,進行繼續工作。


5、磁盤陣列

即然提到了RAID磁盤陣列,那么我們就先來了解一下什么是RAID?所謂的RAID,是Redundant Arrays of Independent Disks的簡稱,中文為廉價冗余磁盤陣列。由1987年由加州大學伯克利分校提出的,初衷是為了將較廉價的多個小磁盤進行組合來替代價格昂貴的大容量磁盤,希望單個磁盤損壞后不會影響到其它磁盤的繼續使用,使數據更加的安全。RAID作為一種廉價的磁盤冗余陣列,能夠提供一個獨立的大型存儲設備解決方案。在提高硬盤容量的同時,還能夠充分提高硬盤的速度,使數據更加安全,更加易于磁盤的管理。

1、RAID 0

RAID 0是最早出現的RAID模式,即Data Stripping數據分條技術。RAID 0是組建磁盤陣列中最簡單的一種形式,只需要2塊以上的硬盤即可,成本低,可以提高整個磁盤的性能和吞吐量。RAID 0沒有提供冗余或錯誤修復能力,是實現成本是最低的。

RAID 0最簡單的實現方式就是把N塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起創建一個大的卷集。在使用中電腦數據依次寫入到各塊硬盤中,它的最大優點就是可以整倍的提高硬盤的容量。如使用了三塊80GB的硬盤組建成RAID 0模式,那么磁盤容量就會是240GB。其速度方面,各單獨一塊硬盤的速度完全相同。最大的缺點在于任何一塊硬盤出現故障,整個系統將會受到破壞,可靠性僅為單獨一塊硬盤的1/N。

為了解決這一問題,便出一了RAID 0的另一種模式。即在N塊硬盤上選擇合理的帶區來創建帶區集。其原理就是將原先順序寫入的數據被分散到所有的四塊硬盤中同時進行讀寫。四塊硬盤的并行操作使同一時間內磁盤讀寫的速度提升了4倍。

在創建帶區集時,合理的選擇帶區的大小非常重要。如果帶區過大,可能一塊磁盤上的帶區空間就可以滿足大部分的I/O操作,使數據的讀寫仍然只局限在少數的一、兩塊硬盤上,不能充分的發揮出并行操作的優勢。另一方面,如果帶區過小,任何I/O指令都可能引發大量的讀寫操作,占用過多的控制器總線帶寬。因此,在創建帶區集時,我們應當根據實際應用的需要,慎重的選擇帶區的大小。

帶區集雖然可以把數據均勻的分配到所有的磁盤上進行讀寫。但如果我們把所有的硬盤都連接到一個控制器上的話,可能會帶來潛在的危害。這是因為當我們頻繁進行讀寫操作時,很容易使控制器或總線的負荷 超載。為了避免出現上述問題,建議用戶可以使用多個磁盤控制器。最好解決方法還是為每一塊硬盤都配備一個專門的磁盤控制器。

雖然RAID 0可以提供更多的空間和更好的性能,但是整個系統是非常不可靠的,如果出現故障,無法進行任何補救。所以,RAID 0一般只是在那些對數據安全性要求不高的情況下才被人們使用。

2   RAID 1

RAID 1稱為磁盤鏡像,原理是把一個磁盤的數據鏡像到另一個磁盤上,也就是說數據在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行,當一塊硬盤失效時,系統會忽略該硬盤,轉而使用剩余的鏡像盤讀寫數據,具備很好的磁盤冗余能力。雖然這樣對數據來講絕對安全,但是成本也會明顯增加,磁盤利用率為50%,以四塊80GB容量的硬盤來講,可利用的磁盤空間僅為160GB。另外,出現硬盤故障的RAID系統不再可靠,應當及時的更換損壞的硬盤,否則剩余的鏡像盤也出現問題,那么整個系統就會崩潰。更換新盤后原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。因此,RAID 1多用在保存關鍵性的重要數據的場合。


RAID 1主要是通過二次讀寫實現磁盤鏡像,所以磁盤控制器的負載也相當大,尤其是在需要頻繁寫入數據的環境中。為了避免出現性能瓶頸,使用多個磁盤控制器就顯得很有必要。


3    RAID0+1

從RAID 0+1名稱上我們便可以看出是RAID0與RAID1的結合體。在我們單獨使用RAID 1也會出現類似單獨使用RAID 0那樣的問題,即在同一時間內只能向一塊磁盤寫入數據,不能充分利用所有的資源。為了解決這一問題,我們可以在磁盤鏡像中建立帶區集。因為這種配置方式綜合了帶區集和鏡像的優勢,所以被稱為RAID 0+1。把RAID0和RAID1技術結合起來,數據除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗余能力,允許一個以下磁盤故障,而不影響數據可用性,并具有快速讀/寫能力。RAID0+1要在磁盤鏡像中建立帶區集至少4個硬盤。


由于我們此次只是介紹家用臺式機如何組建RAID磁盤陣列功能,目前主流的主板也只是提供這三種組建模式,因此其它諸如服務等的高級RAID模式,這里我們將不再過多的介紹。


4、RAID 5

RAID 5控制還是比較常用的。RAID 5和RAID4 相似但避免了RAID4 的瓶頸,方法是不用校驗磁盤而將校驗數據以循環的方式放在每一個磁盤中,RAID 5控制比較復雜,尤其是利用硬件對磁盤陣列的控制,因為這種方式的應用比其他的RAID level 要掌握更多的事情,有更多的輸出/入需求,既要速度快,又要處理數據,計算校驗值,做錯誤校正等,所以價格較高。

RAID 5在不停機及容錯的表現都很好,但如有磁盤故障,對性能的影響較大,大容量的快取內存有助于維持性能,但在OLTP 的應用上,因為每一筆數據或記錄(record)都很小,對磁盤的存取頻繁,故有一定程度的影響。

某一磁盤故障時,讀取該磁盤的數據需把共用同一校驗值分段的所有數據及校驗值讀出來,再把故障磁盤的數據計算出來;寫入時,除了要重覆讀取的程序外,還要再做校驗值的計算,然后寫入更新的數據及校驗值;等換上新的磁盤,系統要計算整個磁盤陣列的數據以回復故障磁盤的數據,時間要很長,如系統的工作負載很重的話,有很多輸出/入的需求在排隊等候時,會把系統的性能拉下來。

但如使用硬件磁盤陣列的話,其性能就可以得到大幅度的改進,因為硬件磁盤陣列如Arena 系列本身有內置的CPU 與主機系統并行運作,所有存取磁盤的輸出入工作都在磁盤陣列本身完成,不花費主機的時間,配合磁盤陣列的快取內存的使用,可以提高系統的整體性能,而優越的SCSI 控制更能增加數據的傳輸速率,即使在磁盤故障的情況下,主機系統的性能也不會有明顯的降低。RAID 5要做的事情太多,所以價格較貴,不適于小系統,但如果是大系統使用大的磁盤陣列的話,RAID 5卻是最便宜的方案。以上介紹RAID 5控制。


三、冗余設計應用舉例


      上圖,這是一個典型的通信設備的冗余備份設計。

主控板、交換板、時鐘板:  1+1熱備或溫備

一次電源模塊:  1:1并聯雙工

風扇單元:負荷分擔

功能板、接口板:N+1備份


我們都知道:一個和尚挑水喝、兩個和尚抬水喝,三個和尚沒水喝。如果資源多了,做不好協調和管理,會適得其反。


我們做了冗余設計,如果以下幾點沒有做好,不但不能提高系統的可靠性,還可能弄巧成拙。


影響1+1冗余系統可靠性的關鍵因素:

1、主、備用單元故障檢測率

2、切換成功率(與倒換電路、邏輯等相關)

3、主、備用單元的失效率

4、故障修復率

5、數據備份模塊負責通過一定的形式組織和管理需要備份的數據,在主備板之間建立備份通道,接收用戶的備份通知,發送和接收備份數據,將主板中的數據備份到備板上。

6、倒換模塊負責單板狀態監控和主備單板倒換的觸發。執行相應的操作:主板降為備板復位、備板升為主板,并且觸發平滑過程。倒換模塊同時對數據備份模塊進行控制,并在倒換后啟動原備板的平滑過程。

7、數據平滑模塊負責倒換后備板對備份數據進行一致性檢查以及數據重建的工作。 


1、主備倒換

高端交換機由于所處網絡位置非常重要,不允許出現單點故障,設備一般都配備兩塊主控板,分別稱為主用主控板(Master)和備用主控板(Slave)。 
 
其中,主用主控板作為控制平面的核心,與外部和業務板進行業務通信,完成系統內各模塊的正常功能;而備用主控板則只作為主用主控板的備份,與外部和業務板沒有通信。當主用主控板發生故障時,系統自動進行主備切換,由備用主控板接替主用主控板的工作,保證業務的正常運行


2、數據備份

主備主控板的熱備份過程主要分為批量備份、實時備份和數據平滑三個階段。

備用主控板啟動后,由于此時主用主控板和備用主控板的差異比較大,主用主控板會將當前需要備份的數據批量同步到備用主控板,這個過程稱之為批量備份,批量備份時間的長短取決于需要備份數據量的大小。

批量備份過程結束后,系統進入實時備份過程,在此過程中,當主用主控板備份數據發生變化時,備份數據將實時同步到備用板,這個過程通常很快。

主備倒換后,備用板升為新的主用板,會通知各個模塊向業務板進行數據收集和同步,這個過程稱之為數據平滑。平滑過程中,各模塊主動與業務板進行通信,在硬件狀態、鏈路層狀態、配置數據三個方面進行確認和同步,以保證整個系統維護的數據和狀態是一致的,從而確保主備切換之后,系統能夠正常運行。平滑階段結束,新的主用板才稱之為完全意義上的主用主控板。


3、主備工作狀態機

主用主控板狀態機在如下五個狀態順序遷移,分別為:等待備用板插入狀態、等待批量備份請求狀態、批量備份狀態、實時備份狀態以及數據平滑狀態。

備用主控板狀態則在就緒狀態、批量接收數據狀態、實時接收數據狀態三個狀態順序遷移。

主用板啟動正常工作后就進入等待備用板插入狀態;主用主控板檢測到備用板插入槽位上電啟動后進入到等待批量備份數據狀態,等待備用板的批量備份數據請求;當備用板上電啟動完畢后,首先會向主控板發送數據批量備份請求,主控板就把需要備份的數據打包批量發送給備用板,包括配置信息和一些狀態信息等;批量備份完成后,進入實時備份狀態,當主控板需要備份的數據發生變化時,會通過消息發送給備用板,備用板完成相關同步工作;平滑過程只有在備用板變為主控板的階段才會出現,是主控板的控制平面數據和業務板進行狀態確認和同步的過程;平滑過程完成后備用板才真正成為主控板。

備用板上電啟動完成后即進入就緒狀態,即隨時可以接替主控板工作的狀態;然后向主控板發送批量數據備份請求,進行批量數據同步,此時不與業務板進行通信;批量同步完成后,進入實時備份狀態,實時備份的發起者是主控板,備用板只有在接收到備份數據消息時才進行實時備份。


4、主備狀態確定及倒換

4.1 主備狀態確定

雙主控環境下,主控板的狀態是主用還是備用,是在啟動過程中由硬件決定的。一般情況,設備會首先選擇小槽位號的主控板作為主用主控板(雙主控啟動環境下,硬件會在大槽位號主控板設置一個延時,使它稍后啟動)。

初始啟動時,兩塊主控板都處于備用狀態,各自進行軟件的啟動。小槽位號主控板在啟動到一定階段時將自己的單板狀態位置為正常,并且同時檢測另一塊主控板的狀態是否正常;而大槽位號的主控此時會有一個延時,再檢查另一塊主控板是否正常,并且將自己的單板狀態位置為正常。這樣,在小槽位號主控板的狀態變為正常時,大槽位號主控板的狀態還未正常,因此小槽位號主控板的狀態為主用;大槽位號主控板在延時過后檢查,發現另一塊主控板的狀態為正常,便將自己設置為備用狀態。所以,在雙主控環境下,即使在系統重啟之前,是大槽位號主控板的狀態為主用,重啟后,仍然會是小槽位號主控板的狀態為主用。

4.2 主備倒換觸發

備用主控板到達實時接收數據狀態后,如果檢測到倒換通知,則切換為主用主控板。檢測通知是中斷觸發的,主備倒換的硬件切換時間在毫秒級。硬件切換后,新主控板的主備狀態機進入平滑狀態,開始平滑過程處理。

主備切換的觸發因素主要有以下幾類:

命令行執行主備倒換命令,強行切換。

主用主控板硬復位或者被手工拔出,引起主備倒換。

主用主控板上發生軟件異常重啟,從而觸發倒換。如:模塊異常占用CPU時間過長,引發硬件看門狗重啟系統;數據訪問異常、指令訪問異常等系統異常等引發重啟。

對于以上不同的觸發因素,備用主控板感應的時間都是一樣的:都是在硬件中斷觸發的,狀態切換時間在毫秒級。

主控板和備用板都會周期發送握手報文,主控板或備用板在設定的周期內沒有收到對方的握手報文,就會認為主備通信異常,重新復位備用板。



相關推薦