多Web服務器的備份 |
發(fā)布時間: 2012/8/9 15:44:00 |
重要的Web服務在正常工作的同時,必然需要建立一套對應的備份系統(tǒng),來確保數據的安全性以及不間斷性。這里的意外主要指的是電源的中斷、服務器硬件的自然損壞、服務器系統(tǒng)軟件的崩潰,以及各種形式的黑客攻擊導致的數據丟失或者頁面信息的篡改等突發(fā)情況。
通常的備份是由人工定期將數據拷貝至另一臺服務器上,或者購買特殊的硬件備份系統(tǒng)來完成。現在我們需要一種新的備份體系,它能做到定時備份,在意外發(fā)生時及時啟動備用系統(tǒng)并通知管理員。 我們的備份服務器安置在至少有一段空間距離的另一個機房中,備份服務器也擁有獨立的公網IP,并和其他服務器組成單獨的局域網,它們可通過局域網IP相互訪問。另外,我們最好再設置一臺服務器(在下文中稱為監(jiān)測/分配服務器)讓它完成判斷其他服務器工作狀態(tài)和及時切換用戶訪問目標地址以啟動備份服務的任務。 其次是操作系統(tǒng)和相應的設置。為了保證安全,避免黑客利用同樣的系統(tǒng)漏洞攻擊,除了及時打補丁以外,最好為服務器安裝第三種系統(tǒng)。通常服務器會使用Windows 2000 或者 Linux 系統(tǒng),那么我們就可以為備份服務器安裝Windows 2003。同時不要忘記設置一個復雜而長的系統(tǒng)密碼。然后我們將Web服務器的硬盤通過局域網IP映射到這臺機器上,這樣我們就能通過程序方便地備份數據了。 為節(jié)省資源,我們可以將多個服務集中在一臺備份服務器上進行備份,但這就要求這臺服務器的性能必須可靠且安全級別很高,同時安裝殺毒軟件和軟硬件防火墻也是必要的。 接下來我們將對備份和監(jiān)測/分配服務器做詳細配置。 備份工作 之前我們已經把Web服務器的硬盤映射到了備份服務器上,這樣就使得備份工作可以順利進行。只要用任何一種編程語言編制一個定時執(zhí)行的小程序,把源文件夾中的Web頁面文件、腳本文件、圖片資源和數據庫文件等原封不動地拷貝到對應的本地文件夾中就可以了。 定時拷貝可以在訪問量小的凌晨執(zhí)行,以減少對服務的影響。另外,還可以采取監(jiān)視文件改動的方法進行備份,就是讓程序隨時掃描源文件夾中文件的修改時間,發(fā)現有變化就進行拷貝,這種方法可以做到真正的實時備份。 注意:在拷貝的同時,還要確認一下文件的合法性,以避免將被人篡改過的頁面復制過來。 搭建備份服務器Web服務環(huán)境 為了讓備份的文件在原服務器故障時代替其進行工作,我們必須在備份服務器上搭建一套相同的運行環(huán)境,比如安裝IIS還有相應的數據庫。由于我們的Web服務器不止一個,系統(tǒng)可能不同,所用的腳本文件也就可能不同,因此我們還需安裝相應的腳本解析程序。 目前對于PHP等在Linux下運行的腳本也有了Win32的版本,可以直接和IIS配合使用。如果管理員不習慣,也可以安裝Apache的Win32版本。 注意:不同的服務器軟件不要使用相同的端口,以避免沖突。 安裝好的服務在平時不需要運行,以防止文件在拷貝復制中出現錯誤。我們可以在必要時通過程序啟動它們。 監(jiān)測服務器運作狀況 我們利用監(jiān)測/分配服務器對給Web服務包括備份服務器進行運行監(jiān)測,以及時發(fā)現硬件故障、系統(tǒng)故障、數據庫錯誤和惡意攻擊等。我們需要在編寫的檢測程序中分別判斷,檢測程序定時主動連接Web頁面。對于硬件故障,如電源故障發(fā)生后,將導致服務的全部停止,因此連接請求會得不到回應。 對于系統(tǒng)故障(包括服務器軟件故障),程序會發(fā)現響應過慢或者回應異常(比如返回找不到頁面的錯誤信息)。對于數據庫故障程序,也會同樣收不到對數據庫請求的響應,由此可以進行判斷。而對于黑客攻擊程序的工作要多一些,因為黑客往往只是篡改網頁(主要是網站首頁)的內容,我們就不能根據前幾項檢查來發(fā)現錯誤,當在前幾項檢查都通過以后,程序需要獲取網站首頁和關鍵頁的頁面文件內容,然后通過與本地保存的文件作對比來判斷真?zhèn)巍?/p> |