在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Linux 網(wǎng)絡文件系統(tǒng)的數(shù)據(jù)備份及恢復機制實現(xiàn)

            Linux 網(wǎng)絡文件系統(tǒng)的數(shù)據(jù)備份及恢復機制實現(xiàn)

            作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

            把原目錄中的結構復制到新目錄;

            在原目錄中找到所有的子目錄,重復 2、3 步;

            把新的子目錄對應的 inode 號替換上一層目錄中的老 inode 號;

            重復上述過程,及到目錄樹中的所有目錄得到復制為止。

            在上述策略中,新版本并沒有復制所有的文件,只是在復制的目錄結構中記錄下了該文件的 inode 號(即復制了目錄的結構,而不是把文件都進行復制,從而節(jié)省了存儲和計算資源),因此,當有 NFS 請求需要對文件進行版本生成后的第一次修改時,需要復制該文件,生成新的版本。該實現(xiàn)過程參見如下流程圖:

            圖 3 寫時復制算法示意圖

            圖 3 寫時復制算法示意圖

            這種文件復制策略其實是一種惰性算法,也即我們常說的寫時復制的方法,這個方法在 操作系統(tǒng)的子進程對父進程資源的繼承中有所體現(xiàn)。這個策略一方面可以最大限度減少復制文件的數(shù)量,另一方面則可以避免瞬間過大的文件復制工作量,影響文件服務的性能。該算法的過程如下:當文件操作為寫操作時,判斷該文件是否版本生成后的第一次寫操作;若是則利用文件系統(tǒng)提供的底層函數(shù)生成一個新的文件,復制源文件的數(shù)據(jù)到新生成的文件,同時把該文件當前版本的 inode 節(jié)點中的版本號置為當前版本號,這樣新文件就成為該文件的最新版本。

            雖然我們采用的算法可以有較好的性能,存儲開銷也是最優(yōu),但是,每次版本生成肯定會造成服務性能的下降和空間的占用,而這些代價在一個比較安全可靠的環(huán)境中是可以適當降低的,即當系統(tǒng)比較安全的時候,可以選擇讓系統(tǒng)以更低的頻率進行版本生成,相反,當系統(tǒng)安全狀況比較糟糕的時候,可以通過提高版本生成頻率適當降低服務性能來獲得更高的數(shù)據(jù)安全性能,當系統(tǒng)處于緊急狀態(tài)時,甚至可以要求立即進行版本生成。

            基于這些考慮,我們采用了自適應的備份策略,災情評估系統(tǒng)可以動態(tài)評估系統(tǒng)的災情程度,然后可以立即修改版本生成策略,以適應當時的安全要求。

            NFS 數(shù)據(jù)恢復技術

            企業(yè)應用 NFS 的一個重要目標就是要保證系統(tǒng)的高可用性,即使在出現(xiàn)嚴重災難、故障、攻擊等情況下能具有較好的生存能力。因此,當一個系統(tǒng)出現(xiàn)故障時,如何快速地恢復系統(tǒng),迅速投入到服務備份中去是相當重要的,所以,對于文件系統(tǒng)數(shù)據(jù)的恢復而言,也需要專門的考慮和設計。

            本方案被配置成多個站點互為備份的情況,即平時只有一個主站點在服務,其他站點處于同步備份狀態(tài),當某個站點出現(xiàn)故障或災難時,或者是被非法入侵者攻破時,系統(tǒng)可以立即分配新的主站點把被破壞的站點替換下來,進入恢復狀態(tài),其他正常的站點仍可提供正常的服務。

            當然,也存在所有站點均出現(xiàn)故障的情況,但是由于我們采用了多種措施,如動態(tài)隨機遷移、災情評估與響應策略等,再配合傳統(tǒng)的防火墻、IDS 等安全系統(tǒng),可以極大限度地減少這種幾率。因此,我們的數(shù)據(jù)恢復問題主要考慮上述這種情形,即個別服務器出現(xiàn)故障退出服務而其他系統(tǒng)依然正常的情況。

            首先,我們來分析一下系統(tǒng)退出后數(shù)據(jù)的情形,主要涉及到退出的服務器和正常的主服務器與備份服務器,如圖 4 所示:

            圖 4 一個系統(tǒng)退出后數(shù)據(jù)狀態(tài)示意圖

            圖 4 一個系統(tǒng)退出后數(shù)據(jù)狀態(tài)示意圖

            在上圖中,退出服務器最后生成的版本號為 i,系統(tǒng)退出后,一方面主文件服務器會察覺到同步數(shù)據(jù)無法從退出服務器返回結果,這樣的話它就會重發(fā)同步請求,經(jīng)過 3 次重發(fā)后,如果依然沒有返回信息,則認為該服務器退出服務,因此會把同步到磁盤文件中,并記錄下該服務器在同步數(shù)據(jù)文件中的起始位置,這當由多個文件服務器退出時可以分別識別出來。由于退出系統(tǒng)無法繼續(xù)保持同步,因此其狀態(tài)會與工作的文件服務器不一致,具體表現(xiàn)在以下幾個方面:

            當退出時間很短時,數(shù)據(jù)不一致僅存在于緩沖區(qū)中,這時如果退出服務器能立即重新投入使用,則不需要進行額外的數(shù)據(jù)恢復,數(shù)據(jù)同步可以通過主服務器同步請求的重試來達到。

            當主服務器確認退出服務器退出后,會把未同步的數(shù)據(jù)寫入特定的同步數(shù)據(jù)文件中,這時的不一致性包括了緩沖區(qū)中的數(shù)據(jù)和同步數(shù)據(jù)文件中的數(shù)據(jù),這時的數(shù)據(jù)恢復需要做兩方面的工作:

            把同步數(shù)據(jù)文件中的正確數(shù)據(jù)一次性發(fā)送給退出服務器,退出服務器把它寫入本地的同步數(shù)據(jù)文件;

            建立本地的緩沖區(qū),建立起同步機制,接收同步數(shù)據(jù),同時啟動數(shù)據(jù)同步進程,先同步數(shù)據(jù)文件中的數(shù)據(jù),當緩沖區(qū)數(shù)據(jù)因沒有處理而達到一定程度時,會自動把部分數(shù)據(jù)追加到同步數(shù)據(jù)文件的后面,這時,退出服務器已經(jīng)恢復了正常工作,實際上也不需要過多的數(shù)據(jù)恢復工作。

            由于主文件服務器一般需要處理文件的讀寫請求,寫請求僅占一部分,需要同步而執(zhí)行的操作造成的負載要小于主服務器,因此可能在較短的時間內(nèi)完成同步。當需要退出服務器(此時已經(jīng)進入同步階段)成為主服務器時,則必須等所有同步數(shù)據(jù)同步完成后才能開始服務。

            如果退出服務器是因為較嚴重的故障或災難而退出的,則可能需要較長時間的處理,如更換硬件、系統(tǒng)重啟、甚至重裝系統(tǒng)等,這時就可能出現(xiàn)一些困難的情況,一種是如上圖所示的,工作正常的系統(tǒng)已經(jīng)生成了新的版本,如服務器退出時的最新版本是 i,經(jīng)過一段時間后,正常系統(tǒng)生成了新的版本,這時主系統(tǒng)會清空同步數(shù)據(jù)文件,重新從版本生成后進行記錄。對于這種情況,可以有兩種處理辦法:

            基于本地版本的快速恢復:當退出文件服務器本地至少存在一個版本與其他正常機器上的版本相同時,可以采用這種恢復策略。具體而言,先確定一個最新的正確版本,用本地版本恢復,這一過程非常簡單快捷,僅涉及到兩次 inode 的修改;然后選擇一臺正常服務器,請求它生成一個正常系統(tǒng)上最新版本與恢復版本的增量升級數(shù)據(jù),這樣的數(shù)據(jù)量不會很大,而且不需要象基于操作的同步那樣逐步進行,同步效率非常高,因此可以大大提高恢復速度。同步到正常系統(tǒng)的最新版本后,然后就按照上述第 2 條的情況進行同步數(shù)據(jù)文件的同步。



            評論


            相關推薦

            技術專區(qū)

            關閉