網路伺服器突然斷電的應急措施

2021-08-22 03:39:33 字數 1346 閱讀 8239

我最近為了乙個諮詢專案,在乙個偏遠的小鄉村裡花了幾周時間。因為打**回家十分昂貴,妻子和我便用電郵聯絡。但在離開美國幾天後的一次,電源突然中斷,雖然只一秒時間,我們的計算機卻無法訪問網際網路了。最後我只能打**到12000英里以外請求幫助。

雖然我們所有的計算機都是以ups連線,但其中乙個ups沒有及時工作,因而連線在那個ups上的所有伺服器都停止工作。這些伺服器都配置成接通電源便會自動啟動,但由於訪問網路出現問題,我的dns伺服器無法重啟。只有手動啟動dns伺服器,問題才會得到解決。

如果你的公司斷電會發生什麼呢?多數情況下,你也會將所有伺服器連線到ups,但你也看到了我的情況,ups也會失靈,尤其是使用了幾年。

如果你遇到斷電,伺服器掉線,那麼只需在恢復電源後啟動伺服器便能解決問題。

ntfs能起到保護作用

幾年前,我是netware網路的一名管理員。每當出現斷電情況,我通常得從停止工作的伺服器備份中對其進行恢復。

但現在,當乙個檔案或列印伺服器出現問題時,我們很少再使用恢復這種方法。很多人都沒有意識到,但nt檔案系統(ntfs)的確包含有斷電時的防護措施。只有建立或修改乙個檔案,ntfs就將該操作認作處理程式。這意味著在操作寫入磁碟以前就已經寫入事務日誌了。事實上,任何時候你想將檔案寫入乙個ntfs中,windows就會進行以下操作:

將處理的meta-data操作記錄在ram的日誌檔案中。

在ram中記錄實際的meta-data操作。

在日誌裡標記出該處理。

將日誌轉儲到硬碟裡。

在硬碟裡寫入實際的meta-data操作。

(注意:第

四、第五步驟並不總是立即發生。)

只要進行這些步驟,一旦出現斷電情況,windows將自動執行chkdsk,將其作為啟動的一部分。chkdsk將日誌檔案比作硬碟。如果日誌檔案中有處理情況發生,而該處理不在硬碟裡或是不完整,windows就會利用日誌中有關資訊重構處理,更新硬碟。唯一丟失的資料--通常都很小--是那些寫入ram日誌,卻未被轉儲到硬碟裡的日誌檔案的處理程式。

將文件伺服器重現連接入網相對比較簡單,但應用伺服器就需要更多工作。在斷電後,我啟動了乙個應用伺服器,並得手動開始一些服務,但除此之外,伺服器一切良好。然而,在很多情況下,如果應用程式依賴於乙個資料庫,斷電便會破壞該資料庫。

exchange server就是依賴於資料庫的應用伺服器。它以類似nt文件系統的方式使用事務日誌。儘管如此,在斷電時還是會丟失一些資料。如果發生這種情況,當重啟伺服器時,資料庫便處於矛盾的狀態。那時你就得在裝配資料庫以前,使用一些內建的維護工具恢復資料庫的協調。

依賴於資料庫的應用程式有很多種。有些應用程式的資料庫會用到事務日誌,有些則不會。如果你的資料庫服務程式發生斷電,而其又沒有使用事務日誌進行保護,那麼你不得不從備份中進行恢復了。

關於網路伺服器

假如我有數千萬甚至是上億的使用者資料,我想把使用者自增id和使用者名稱username放到快取裡。我的需求是,當要查詢使用者的資訊時,我想先從快取裡根據使用者名稱username獲取到使用者的id,然後再通過id在資料庫裡查詢使用者的資訊。我想當乙個使用者表達到上億的數量級別時,用自增id來查詢肯定...

網路伺服器宕機

1.伺服器程序終止 當伺服器程序終止時,伺服器傳送fin給客戶端,客戶端回以ack,客戶端進入close wait狀態,但還沒有結束連線。此時客戶端阻塞於fgets,客戶端繼續傳送buffer,伺服器傳送rst,客戶端readline返回0。而如果客戶端不理睬readline返回的rst,繼續wri...

linux網路伺服器

在本次中,學習了乙個簡單的基於tcp ip的伺服器 客戶端。在例子中,利用的是af inet域。在linux下,最常用就是af inet,af unix.af unix是linux檔案系統實現的本地要借字。後面的是可以用於包括英特網在內的tcp ip網路通訊的程式。下面來看乙個簡單的基於tcp ip...