如何設置一個linux盒子以便於恢復?
在我的工作中,我們使用 linux 機器來儲存我們的原始碼並託管我們的修訂控制軟體 (svn)。我們還有其他一些產品,例如用於項目管理的“trac”、用於程式碼審查的 fisheye 和 crucible。如果或當這個盒子壞掉時,我希望能夠保持所有服務、軟體、使用者帳戶等的正常執行,並且停機時間幾乎為零。我在尋找什麼解決方案?
一些有用的提示:
解決方案的成本不是問題。不過,我寧願一次性付費也不願訂閱。
我想要最少的管理工作來維護備份和恢復。
盒子在晚上和周末閒置。
我們在幾英里外有另一個設施,但兩座建築物之間的連接相對較慢(雖然在晚上更快)。如果發生火災等,我希望在場外使用此恢復選項
我希望在我呼叫它之前購買、執行和準備好備份。不是“崩潰後,買一個新盒子,……”
這個盒子沒什麼特別的,只是一個帶有 ubuntu linux 的標準桌面。我們使用它的目的不是為了高性能。
有人知道我的解決方案嗎?我不精通任何與 linux 或伺服器相關的東西,所以請在你的答案中給出基本的解釋。
謝謝!
您實際上是在談論三個相互關聯但又不同的事情:
- 容錯(我如何繼續執行,或以最少的停機時間獲得備份)
- 數據備份(當有人 rm -rf 是我的儲存庫時我該怎麼辦)
- 災難恢復(如果我的辦公室從地球上消失了怎麼辦)
您真的應該將它們視為三個不同但相互關聯的過程。我將詳細介紹容錯,因為這似乎是您在最長 1 小時停機時間內真正想要的。
容錯需要考慮的一些事項:
- 我需要多長時間才能獲得新設備?
- 我需要多長時間才能重建盒子?
- 驗證和恢復數據需要多長時間?
取這些時間的總和,乘以 30%(在緊急情況下,一切都不像您想像的那麼順利),如果該總和大於您可接受的停機時間,您需要開始考慮一些高可用性設置。如果它更少,那就是你呼籲承擔你的估計錯誤的風險,人們可能會比你預期的更久。
就一些可能的解決方案而言,您可以做很多事情。但在每種情況下,我都強烈建議用伺服器級機器替換桌面。組件的質量更高,並且它們被建構為 24x7x365 執行,因此硬體中已經內置了大量的冗餘(好的 RAID 卡、冗餘 PSU 等)
- 您可以在第二個站點設置備用伺服器,然後每隔 x 時間 rsync 您的數據 - 其中 x 是如果伺服器在複製之間發生故障時您願意失去的數據量。rsync 在第一次同步後對數據管道非常友好,因為它只發送增量和更改的文件。還要設置您的伺服器,以便通過 CNAME 訪問它們,這樣您就可以交換它指向的位置並離開。
- 執行與上述相同的操作,但在您的主要位置有備用伺服器。
- 獲取 SAN/NAS 和兩台伺服器。然後在主動/主動集群或主動/被動集群中設置它們
備份也是場景中非常重要的部分。您應該記住,沒有替代儲存在場外的時間點備份。就我個人而言,我仍然認為備份到磁帶,然後由 Iron Mountain 這樣的公司將其儲存在異地是最好的選擇。對於您的規模環境,任何“大”備份解決方案——ArcServ、BackupExec、NetBackup 都應該可以。還要確保至少每季度測試一次備份。沒有什麼比發現您需要的備份很糟糕更糟糕的了。
災難恢復實際上只是坐下來計劃您將從哪里工作,從哪裡獲得替換設備,確保您有良好的異地備份。我認為災難恢復是將上述所有組件納入一個有凝聚力的行動計劃,以應對最壞的情況。