生產環境構建指南:Web應用——恢復規劃
系列教程
內容介紹
現在我們已經擁有了自己的示例應用設定,接下來為其構建一套恢復規劃。所謂恢復規劃是一套配備文字記錄的規程集合,用於在伺服器設定內恢復潛在故障或者管理錯誤。另外,建立這樣一套恢復規劃還能幫助大家掌握應用伺服器設定內的元件與資料。
作為最簡單的恢復規劃型別,伺服器故障恢復規劃可能包含一套步驟列表,用於執行初始伺服器部署,同時立足於備份恢復應用資料。另外,大家也可以選擇更理想的恢復規劃,即擁有良好的說明文件、使用部署指令碼及配置管理工具,例如Ansible、Chef或者Puppet,旨在幫助我們以自動方式快速完成恢復流程。
在今天的教程中,我們將探討如何為示例WordPress應用建立一套基礎恢復規劃。大家的需要可能有所區別,但今天的內容能夠在原則上提供有益的指導。
恢復規劃要求
我們的基本要求是能夠在設定中對任意伺服器進行恢復,且恢復範圍涵蓋應用功能與資料(且時間週期合理)。為了達成這一目標,我們將建立一套伺服器列表,檢測需要備份的資料,同時以可用資源為基礎編寫恢復規劃。當然,如果任意恢復規劃得以執行,應用還需要接受測試以驗證其已經得到正確恢復。
在這套恢復規劃中,我們將面向應用中的每種伺服器型別:
- 資料庫伺服器
- 應用伺服器
- 負載均衡伺服器
下面首先從資料庫伺服器開始。
資料庫伺服器
經過梳理,我們可以確定資料庫伺服器通過以下步驟完成建立:
- 安裝MySQL
- 配置MySQL
- 重啟MySQL
- 建立資料庫與使用者
資料庫伺服器恢復規劃
在回顧資料庫伺服器建立流程時,我們可以看到其能夠根據資料庫自身內容進行重新建立。以我們的WordPress為例,其中大部分應用資料都被儲存在該資料庫內。這意味著我們必須保留該資料庫的備份,從而對資料庫伺服器進行恢復。我們還需要備份MySQL配置檔案,因為不同伺服器的配置可能經過了一定修改。
根據資料庫伺服器列表,下面對資料庫伺服器恢復規劃進行總結:
必要備份:
- MySQL資料庫
- MySQL配置
恢復步驟:
- 安裝MySQL
- 恢復MySQL配置檔案,並在必要時更新監聽IP地址
- 恢復資料庫
- 重啟MySQL
現在,我們的資料庫伺服器恢復規劃已經基本就緒,接下來就是執行具體恢復步驟並確保保留必要備份。這部分內容我們在今天的文章不會太多討論。在本示例中,我們可以使用應用部署教程作為說明文件,大家參考其即可完成恢復流程。
應用伺服器
回顧各個步驟,我們可以彙總出應用伺服器的建立流程:
- 安裝並配置Apache與PHP
- 下載及配置應用(WordPress)
- 將各應用檔案複製至DocumentRoot
- 將應用檔案複製至各應用伺服器
應用伺服器恢復規劃
我們的應用伺服器可根據各應用檔案進行重新建立。在本WordPress示例中,各應用檔案包括WordPress配置檔案(包含資料庫連線資訊)、已安裝WordPress外掛與檔案上傳。這意味著我們必須保留各應用檔案的備份以恢復應用伺服器。
由於應用檔案需要被複制到多套應用伺服器上,因此我們只需要在全部應用伺服器皆出現故障或者資料庫受損的情況下,才進行資料恢復。只要至少一個應用伺服器尚能正常執行,且擁有正確的應用檔案,則直接將其複製到新應用伺服器上即可。
基於我們的應用伺服器列表,下面制定應用伺服器恢復規劃:
必要備份:
- 應用檔案(本示例中為/var/www/html/)
恢復步驟:
- 安裝並配置Apache與PHP
- 複製來自工作中應用伺服器的應用檔案
- 如果應用檔案無法複製(全部應用伺服器皆出現故障),則利用備份進行恢復
現在我們已經基本勾勒出了應用伺服器恢復規劃,請大家把實際執行當成小練習自行嘗試。不同設定會有不同的操作方式,大家可以根據我們的恢復步驟完成自己的恢復流程。
負載均衡伺服器
通過回顧各步驟,我們可以將負載均衡伺服器建立歸納為以下流程:
- 獲取SSL證書與相關檔案
- 安裝HAProxy
- 配置HAProxy
- 重啟HAProxy
負載均衡伺服器恢復規劃
我們可以利用SSL證書相關檔案重新建立負載均衡伺服器。這意味著我們必須保留SSL證書檔案備份,並將HAProxy配置檔案納入備份範疇。
根據負載均衡伺服器列表,讓我們勾勒出負載均衡伺服器恢復規劃:
必要備份:
- SSL證書(PEM)與相關檔案
- HAProxy配置檔案
恢復步驟:
- 恢復SSL證書檔案
- 安裝HAProxy
- 恢復HAProxy配置檔案
- 重啟HAProxy
現在我們已經勾勒出了負載均衡伺服器恢復規劃,具體流程請大家作為練習自行嘗試。
其它注意事項
如果某一需要恢復的元件必須配合其它元件,請確保將對應步驟納入恢復規劃。
大家可能還需要為設定中的其它元件設定恢復規劃,例如我們的DNS,外加一切可能未來需要的元件,包括備份伺服器、監控與日誌記錄。隨著伺服器設定的演進,大家應當對現有恢復規劃進行迭代。
在今天的教程中,我們還沒有談到如何建立與恢復備份,這方面內容將在後續文章內提及。
總結
在為各伺服器籌備了恢復規劃後,大家應當確定其中包含一切執行恢復所必需的資訊,並根據伺服器設定進行調整。
在下一篇教程中,我們將探討支援全新恢復規劃的根源所在——生產環境構建指南:Web應用——備份。
翻譯:diradw