[Note] 有關系統管理:Systems Administration – Data Recovery & Backups

此篇主要是紀錄 Coursera 平台上的課程 Google IT Support Professional Certificate 中 System Administration and IT Infrastructure Services 的第五個星期的上課筆記,大致上是系統管理相關介紹。其他的筆記也一併附上,未來整理好之後下方文字可以直接連結到該筆記:


目錄


Planning for Data Recovery

What is Data Recovery?

大家應該都曾經遇過需要恢復資料的時候。例如誤刪或是弄壞電腦、手機等等。資料復原就是嘗試在這些結果中找回資料。

資料救援首先要知道不見資料的性質,如果是物理的硬碟損壞,那有可能可以從中恢復資料,也或許可以使用資料救援軟體。軟體一般可以分析發生故障的硬碟,並且嘗試進行提取資料和檔案。

另外影響的層面是備份,如果有先見之明及早備份,資料救援應該會相對容易一些。有資料備份,就可以恢復失去的資料。

Backing Up Your Data

為了避免組織的關鍵資料有遺失的風險,我們要弄清楚哪些是需要備份的資料。我們應該只備份絕對必要且無法在其他來源中找到的資料,以避免浪費資源。資料除了可以在本地端備份,也能把備份資料向上發送到遠端系統,各有利弊,也都可以幫助降低不同的風險。另外一般會強烈建議異地備份,雖然本地端備份很方便,我們也較易取得資料,但萬一本地端出事(中毒、火災、淹水等等),備份資料風險也很大。

而異地備份因為通常會經由網路,所以安全傳輸非常重要,最好通過 TLS 加密。而連接上來說,也可能需要花一段很長的時間。

Backup Solutions

對於 DIY 備份方案或是眾多的雲端提供商,我們該如何選擇?自我備份或是現場備份通常可以購買商用 NAS 設備。但若是長期來說,或許還有更好的選擇。必須要提醒這些選項並不互斥,就算兩種方式都備份也可以(也通常建議這麼做)。

rsync 是 Unix 下的一款套用軟體,它能同步更新兩處電腦的檔案與目錄,並適當利用差分編碼以減少資料傳輸量,可以使用 SSH 通過網絡安全地傳輸數據,對於簡單的自動備份非常有用。Apple 為 Mac 作業系統提供備份解決方案, Time Machine 支援從備份或單個檔案恢復整個系統。 甚至允許恢復舊版本的備份檔案。

Testing Backups

關於備份,還有一個重要的步驟-測試。悲慘的不只是丟失資料,還有可能以為都有備份,卻發現備份無效。因此設定定期備份是不夠的,另外還需要定期測試恢復資料的過程。這個過程被稱為「災難恢復測試」(Disaster Recovery testing),應該是每年大約進行一次的常規演練。

Types of Backup

我們該如何訂定備份資料的時間和方式?

我們可以定期進行完整備份,無論資料是否被修改,所有要備份的檔案完整未修改內容都包含在該備份機制中。一種更有效的方法是僅備份自上次完整備份以來更改或創建的文件,這稱為差異備份。我們不存重複、不變的資料,這樣可以省空間和時間。

另外一個能幫助節省空間的方式是壓縮檔案,並非所有資料類型都適合壓縮,且也要考量到解壓縮的成本。

如果保存所有備份資料的硬碟發生故障,該怎麼辦?RAID 磁碟陣列可以解決這一件事情。它是一種將多個物理硬碟組合成一個大型虛擬硬碟的方法。根據 RAID 所需的特性,各種 RAID 級別優先考慮性能、容量或可靠性等特性。RAID 陣列是創建大量資料容量的絕佳且廉價的方法,同時可最大限度地降低硬碟故障時資料丟失的風險。但是將數據存儲在 RAID 陣列上並不能防止意外刪除檔案或惡意軟體損壞。

Disaster Recovery Plans

What’s a Disaster Recovery Plan?

為災難性事故或錯誤做好準備非常重要。災難恢復計劃(Disaster Recovery Plans)是關於如何從操作角度對緊急情況或災難情況做出反應和處理的書面程序和計劃的集合,這包括在災難發生之前、期間和之後應該做的事情。目標是通過將系統停機時間降至最低並防止重大數據丟失,最大限度地減少對業務和 IT 運營的中斷。儘管名稱如此,但災難恢復計劃實際上將涵蓋災難後恢復方法的預防措施和檢測措施。

預防措施涵蓋任何可主動將災難影響降至最低的程序或系統,這包括定期備份系統之類的東西,任何能夠減少事件的總體停機時間的事情都能夠視為是有預防性的。

Designing a Disaster Recovery Plan

有效的災難恢復計劃究竟包含哪些內容?這得看情況。災難恢復計劃沒有放之四海皆準的方案,選擇的機制和實施的程序很大程度上取決於組織和環境的具體情況。

了解計劃內容的一個好方法是進行風險評估,對團隊的運營和特徵進行長期認真的審視。風險評估使您可以優先考慮組織的某些方面,如果發生不可預見的事件,這些方面的風險更大。理想情況下,應該對位於現場和異地的備份系統進行定期但自動的備份,清楚記錄數據恢復程序並保持最新也很重要。災難後的數據恢復是很少會做的事情。要確保這些程序得到更新,因為系統在其整個生命週期中都會發生變化和發展。

另一個應該評估和驗證的重要的預防措施是操作文件,確保每個重要的操作程序都記錄在案並可訪問。這包括諸如設置和配置關鍵系統和基礎設施之類的事情,應詳細記錄將 100% 功能恢復到核心系統和服務所需的任何步驟或特定配置細節。這個檔案保持最新的狀態也很重要。一種有效的方法是定期驗證記錄的步驟是否有效。在考慮檢測措施時,需要確保擁有一個可以快速檢測並提醒您服務中斷或異常環境條件的綜合系統。

想監控服務和基礎設施設備的狀況,應該調查任何不尋常的尖峰或意外增加。這些早期預警系統可以讓您在災難停止之前阻止它。這些系統也要進行測試,模擬監控系統確保檢測確實像預期的那樣觸發警報。還需要測試對這些警報的反應和響應,如果您正在監視系統可靠地觸發警報但每個人都忽略它們,那就沒啥路用。

糾正或恢復措施(Corrective or recovery measures)施包括為恢復正常操作,和從事件或中斷中恢復而採取的措施。災難恢復文檔不需要包含操作的詳細信息,鏈接和參考就足夠了,但重要的是要為典型的操作方法不可用的情況做好準備。

Post-Mortems

What’s a post-mortem?

字義來說是驗屍報告,在這裡指檢討報告。事後分析的目的是從事件或項目中吸取教訓,而不是懲罰任何人或強調錯誤。要了解錯誤發生的根本原因以及如何防止錯誤再次發生。一旦報告寫好就需要進行交流。 這些類型的報告的價值超出了直接參與事件、調查和報告撰寫的人員。分享事後分析有助於鼓勵從錯誤中學習的文化,不要讓錯誤阻礙你,它為其他人樹立了一個很好的榜樣,報告中的內容可能會引發其他團隊的想法,並讓他們意識到他們的基礎設施中也有類似的問題。在任何組織中,這都是一種健康的態度。 如果人們害怕犯錯,那麼決策就會非常保守。如果每個人都害怕搞砸,就很難突破界限並嘗試新事物。但是,如果主流文化說只要我們能從中吸取教訓,犯錯是可以的,那麼這就是一個願意承擔風險並嘗試新的和令人興奮的想法的組織。

Writing a Post-Mortem

一個典型的事件事後分析以一個簡短的總結開始。事件是什麼? 持續了多長時間? 影響是什麼? 它是如何修復的?(列出時間和日期時請注意時區)

接下來,需要關鍵事件的詳細時間表,包括整個活動中發生的一切。例如活動開始的時間,以及相關人員何時收到通知或意識到正在發生的事情,確定為解決這種情況而採取的每項行動,以及誰做了什麼、為解決中斷和恢復服務而採取的行動,標誌事件的結束。接下來,對根本原因進行非常詳細和誠實的說明,這應該詳細解釋導致問題的原因。

讓我知道你在想什麼!