# Backup 3-2-1 and Disaster Recovery (DR) ## by OCF --- ### Speaker Introduction BlueT - Matthew Lien - 練喆明 韌性架構總顧問 - 行政院 PDIS - 國家資通安全研究院 (Co-)founder of - Ubuntu Taiwan - OSSPlanet 暨大資管講師 - Practical Linux System Administration (LSA) --- ### World Backup Day ( 世界備份日 ) 3/31 - 是一個強調資料安全性與備份的日子 - 目的 : 了解資料在我們生活中日益重要的趨勢,來提高備份和資料保存意識 >訂於 4/1 日以前,除了想引起注意,同時也想降低因愚人節被整而丟失資料的風險 - 紀念日宣言 : 「I solemnly swear to backup my important documents and precious memories on March 31st.」 > 「我鄭重宣示,我會在 3 月 31 號備份我重要的檔案與珍貴的回憶」 ---- - 調查顯示 : - 21% 的人從未備份過 - 每分鐘有 113 隻手機被偷或是遺失 - 29% 的資料遺失案件是意外造成的 - **30% 的電腦已經感染了惡意軟體** >[官網有更多的詳細資訊](https://www.worldbackupday.com/en) --- ### The Importance of Backup and DR ---- ### Real-life Scenario: Google Cloud誤刪澳洲大型用戶雲端基礎架構,導致用戶資料遺失與服務中斷 ---- 澳洲退休基金 Unisuper 雲端服務訂閱遭到誤刪,透過第三方備份方能恢復服務 ![螢幕快照 2024-05-19 09-45-18](https://hackmd.io/_uploads/rJhnVlPX0.png) ---- 恭喜你成為~~盜版~~勒索軟體的受害者 ![](https://i.imgur.com/urQpVo0.png =400x) --- ## Introduction --- ### As a ~~NGP/NPO~~ Service Provider --- ### High Availability ---- HA network topology ![image](https://hackmd.io/_uploads/Hkc22yPmC.png) ---- load balancer & autoscaling ![image](https://hackmd.io/_uploads/SyGO6yPmC.png) --- ## HA is not enough HA makes you strong, but not immortal. ---- ### Comparing High Availability with Backup/DR | Aspect | High Availability (HA) | Backup/Disaster Recovery (DR) | |-----------------------------|-----------------------------------------------|------------------------------------------------| | Purpose | Ensures continuous operation with minimal downtime | Ensures data recovery and system restoration after a failure | | Focus | Availability and uptime | Data protection and recovery | | Redundancy | Multiple systems running simultaneously | Periodic data snapshots and copies | | Recovery Time Objective (RTO) | Very low (near-zero) | Higher, dependent on backup and restore processes | | Recovery Point Objective (RPO) | Near-zero | Variable, dependent on backup frequency | | Implementation Complexity | High, requires real-time synchronization and failover mechanisms | Lower, involves regular backup processes and storage | | Cost | High, due to duplicate systems and real-time synchronization | Lower, involves backup storage costs | | Typical Use Cases | Critical applications and services requiring constant uptime | Data protection, regulatory compliance, and recovery from data loss | | Examples | Load balancing, failover clusters | Backup servers, offsite storage, cloud backups | | Data Consistency | Real-time consistency ensured | Consistency based on the latest backup | | Risk Management | Minimizes downtime risks | Mitigates data loss risks | | Maintenance | Requires ongoing monitoring and maintenance of redundant systems | Involves regular backup verification and occasional restoration testing | | Scalability | Scales with additional hardware and complex configurations | Scales with additional storage and backup frequency | ---- ### The Difference Between Backup and DR | Aspect | Backup | Disaster Recovery (DR) | |-----------------------------|-----------------------------------------------|------------------------------------------------| | Purpose | To create copies of data for protection against data loss | To restore full system functionality after a major failure | | Focus | Data protection | Business continuity | | Data Recovery | Restores individual files or data sets | Restores entire systems or environments | | Recovery Time Objective (RTO) | Typically longer, depending on data size and backup method | Shorter, designed for minimal downtime | | Recovery Point Objective (RPO) | Variable, depends on backup frequency | Minimal data loss, depends on DR plan | | Implementation Complexity | Lower, involves regular data backups | Higher, involves comprehensive planning and system setup | | Cost | Lower, based on storage and backup software | Higher, includes backup infrastructure, failover sites, and recovery plans | | Typical Use Cases | Protecting against accidental deletions, hardware failures, and minor data corruptions | Responding to natural disasters, cyber attacks, or major system failures | | Examples | Cloud backups, external hard drives, tape backups | DR sites, failover systems, cloud DR solutions | | Data Consistency | Based on last backup, might not be real-time | Ensures up-to-date data for critical applications | | Maintenance | Requires regular backup schedules and storage management | Requires regular DR plan testing and updates | | Scalability | Scales with additional storage | Scales with more comprehensive and robust DR plans | | Downtime | Downtime depends on the time to restore backups | Designed to minimize downtime | --- ## Fault Tolerance of Disk: RAID ### Protecting Against Hardware Failure - 問題 : - 單顆磁碟的空間容量小 - 單顆的磁碟讀寫速度也不夠快 - 若此單顆磁碟壞了就真的完蛋了 ---- - 在 80 年代發明了此項虛擬化技術來解決 - 透過將多顆磁碟組合起來變成一個儲存裝置使用 - 而此儲存裝置有幾個特殊名詞叫做 **Virtual disk** ( 虛擬磁碟 )、**Logical disk** ( 邏輯磁碟 ) >原因是因為作業系統 (OS) 只會將此多顆磁碟組合視為一個磁碟而已 >對應到的 **Physical disk** ---- - 透過此技術來 : - 資料方便存取 >因已經整合成一台高容量的『虛擬儲存空間』使用,不必在各硬碟間來回切換。 - 容量增加 - 提升讀寫性能 - 容錯、可靠性提升 ---- #### RAID 0 ![](https://i.imgur.com/rwNliSV.png =300x) ![](https://i.imgur.com/fwtyuh5.png) ---- #### RAID 1 ![](https://i.imgur.com/lSATLPJ.png =300x) ---- #### RAID 5 ![](https://i.imgur.com/aiX3HH7.png =400x) ---- #### RAID 6 ![](https://i.imgur.com/kH28Gjn.png) ---- | | RAID 0 | RAID 1 | RAID 2 | RAID 3 | RAID 4 | RAID 5 | RAID 6 | |:------------------------------------ | ------ | --------------- | -------- | --------- | -------- | -------- | --------- | | 至少需要硬碟數量 | 2 台 | 2 ( 需偶數 ) 台 | 3 台 | 3 台 | 3 台 | 3 台 | 4 台 | | 儲存空間 | N 台 | N/2 台 | N-K 台 | N-1 台 | N-1 台 | N-1 台 | N-2 台 | | 最大容錯數 | 0 台 | N/2 台 | K | 1 台 | 1 台 | 1 台 | 2 台 | > N: 代表硬碟總數 > K : 需要用來儲存 hamming code 的磁碟數量 ---- 效能 : 寫入資料量 & 運算複雜度 - 寫入資料量 : 若依據 **所有硬碟的總寫入資料量** 與**原始檔案大小** 的比值來看的話 :point_right:RAID 1 > RAID 2 > RAID 6 > RAID 3 = RAID 4 = RAID 5 > RAID 0 - ex: 所有硬碟的總寫入資料量 / 原始檔案大小 - RAID 0 = 1G/1G = 100% - RAID 1 = 2G/1G = 200% >數值越大,代表需占用的儲存空間越大 - 運算複雜度 : 若綜合花費最多的時間成本 & 空間成本來看的話 :point_right: RAID 0 > RAID1 > RAID 5 > RAID 6 > RAID 4 > RAID 3 > RAID 2 --- ### Hybrid RAID 為了滿足更高的性能或更好的可靠性等要求,結合以上不同的 RAID 的方式,延伸出以下常見的組合模式 ---- #### RAID 10 (RAID 1+0) ![](https://i.imgur.com/w0h2aTJ.png =300x) > [圖片來源](https://zh.wikipedia.org/wiki/File:RAID_01.svg) - 至少 4 台硬碟 - 儲存容量 :point_right:( 1TB + 1TB ) + ( 1TB + 1TB ) = 2TB - 結合 RAID 1 與 RAID 0 :point_right: Mirroring + Striping : 先做鏡像 (Mirroring),再做分割 (Striping) 資料 ---- #### RAID 50 (RAID 5+0) ![](https://i.imgur.com/8uXuWkL.png =400x) > [圖片來源](https://i.imgur.com/8uXuWkL.png) - 至少 6 台硬碟 - 儲存容量 :point_right: ( 1TB * 3 ) + ( 1TB * 3 ) = 4 TB - 結合 RAID 5 與 RAID 0 :point_right: 先做RAID5,再做 RAID 0 ---- ### Case study --- ## The 3-2-1 Backup Strategy ### Understanding the 3-2-1 Rule - 至少備份 3 份 - 至少要儲存於 2 種不同的儲存媒體 >例 : 光碟、外接硬碟、USB、雲端儲存空間 - 至少要有 1 份於異地保存 > 例: 常使用雲端儲存空間 ---- #### Why the 3-2-1 Strategy Works - 至少 3 份資料 > 其中一份壞的,倒底是壞的是哪一個不確定 - 2 種不同儲存裝置 - 1 個異地且離線的儲存 > 當然有錢有空間就是越多份越好,所以後來也有人在推廣 4-3-2 規則 ---- ### Implementing the 3-2-1 Strategy #### Tailoring the 3-2-1 Rule to Your Organization ### Case study: Implementing the 3-2-1 Backup Strategy --- ## 備份的類型 ---- ### Full Backup ( 完整備份 ) - 完整複製一份資料 - 比起其他方式,資料備份所花的時間較長 - 復原資料較快 - 記憶體占用空間大 ---- ### Incremental Backup ( 增量備份 ) ![](https://i.imgur.com/FSWk52D.png) > [圖片來源](http://diun69.blogspot.com/2020/12/blog-post.html) - 一開始會進行完整備份,之後只會備份與 **上一次備份** 的有差異的資料 - 記憶體佔用空間小 - 比起其他方式,資料備份的時間最快 > 因為只要備份與上一次備份有差異的資料即可 - 復原資料最慢 ---- ### Differential Backups ( 差異備份 ) ![](https://i.imgur.com/x57vP7I.png) > [圖片來源](http://diun69.blogspot.com/2020/12/blog-post.html) - 一開始會進行完整備份,之後只會備份與 **上一次完整備份** 有差異的資料 - 比起完整備份,資料備份所花的時間較快 ---- ![](https://i.imgur.com/rpEcFET.png) ---- | | Full Backup | Differential Backups | Incremental Backup | | -------------- | ----------- | -------------------- | ------------------ | | 中文 | 完整 / 全部 / 完全備份 | 差異備份 | 增量備份 | | 備份速度 | 慢 ☹ | 中 | 快 😊 | | 復原速度 | 快 😊 | 中 | 慢☹ | | 占用空間 | 最多 ☹ | 中 | 最少 😊 | | 花費 | 貴 ☹ | 中 | 便宜🙂 | ---- ### 混合式備份 透過上述的三種備份方式來交替組合,以循環的方式來進行不同的備份方式,藉此降低單一個別備份的風險 #### GFS 輪替原則/三代輪替原則 Grandfather-Father-Son Rotation - 目的 : 透過**階層式混合**了不同種的備份方式,確保過去一段時間內的資料都會被備份 >即使發生有惡意程式潛伏之類的情況也能往前回朔到一定的時間內,同時又不會花太多的空間和成本在保存備份上,算是一個在可用性和安全性上取得的一個平衡。 ---- - 三代等級 : - <span style="background-color: #72B747">**祖父 (Grandfather)**</span> : 每個月做一次完整備份 (Full Backup),每個備份會被保存一年 - <span style="background-color: #FEDDD6">**父親 (father)** </span>: 每個禮拜做一次差異備份 (Differential Backups),每個備份會被保存一個月 - <span style="background-color: #FFF887">**兒子 (son)**</span> : 每天做一次增量備份 (Incremental Backup),每個備份會被保存一週 ![](https://i.imgur.com/TYyYZN8.png) >[圖片來源](https://www.ubackup.com/articles/grandfather-father-son-backup-5740.html) ---- :::success GFS 原則中的**備份頻率**以及**保存的時間**都是可以根據不同的情況和需求去做調整,關係到 Cost( 成本 )、RPO 以及 RTO 。 > RPO、RTO 將在接下來會介紹到 ::: ---- ### Case study 你/妳會怎麼做? ![螢幕快照 2024-05-19 03-52-25](https://hackmd.io/_uploads/rksbBew70.png) ---- ### 關鍵指標 RTO & RPO - 前提 - 公司日常的運作都非常仰賴這些伺服器的ERP相關的系統,而服務斷線即代表公司核心業務無法正常執行,而每分每秒都是成本的耗損😥 ---- - 管理者最大的盲點「只要有備份就好」:point_right:容易讓公司的備份沒有實質的意義 >對於多久備份一次、還原時間點目標、資料恢復時間目標等等重要的目標都疏於規劃 - 以**管理層的角度**談到備份規劃時,需要從以下兩個指標看起 : RTO & RPO - 備份對於公司最大的目標 :point_right: 極小化對公司與使用者功能所帶來的衝擊 ---- ![](https://i.imgur.com/3liCNAX.png) > [ 圖片來源 ](https://www.creative-n.com/blog/what-is-backup-rto-and-rpo/) ---- #### RTO ( Recovery Time Objective ),復原時間目標 - 代表企業最多能夠承受服務中斷多久的時間 >今天公司的服務斷線的時候,要花多少的時間能夠讓公司的服務重新上線 - 目標是為了要確定災害人禍發生時,系統需要花多少時間復原資料 ---- - 而公司該怎麼評估? - 重點取決於**公司能忍受多久** >當中除了員工抱怨之外,所帶來的商業損失 ( 因斷線導致客戶與你的交易沒辦法完成)、員工上班的系統沒辦法使用 ( 人事成本平白的消耗 ),這些都是可以量化的成本項目 - 成本量化:point_right: 分析 : 分析多少的損失是公司今天可以忍受的,公司又願意投入多少的成本去把風險控制在可以忍受的範圍,而此就是規劃的重點 - ex: - 電商服務平台很重要,隨時都要服務客戶,因此 RTO 設定為 1 小時 - 金融系統 5min - 文章分享平台,沒有立即需要服務的需求,因此 RTO 可以較寬鬆,設定為 1 天 --- #### RPO ( Recovery Point Objective ),復原點目標 - 代表可以接受的損失多久的資料量 >今天當公司的系統資料損壞後,透過還原機制可以還原到多久以前的資料? - 目標是提前確保資料恢復和備份功能到位,以最大限度地減少事件期間可能丟失的資料量 - 依據不同的產業、型態,需求與目標都不同 : - ex : 研發密集的產業、線上電商等等 :point_right: 隨時都會有資料的串流,因此每一筆資料都非常重要,對於資料損失的容忍度一定是非常低的 - ex: 每五分鐘做一次增量備份 :point_right: RPO = 5 min ---- :::success 先訂出 RTO、RPO 分析公司能承擔的對應風險,才能評估要花多少資源投資,在成本與效益之間取得平衡,發揮備份的實質意義 ::: ---- ### Determining Appropriate RTO and RPO for Your Organization ![螢幕快照 2024-05-19 04-05-59](https://hackmd.io/_uploads/BydQrgD70.png) ---- Take a break. --- ### Local Backup Solutions #### The Importance of Local Backups ### Backup Media and Devices - Overview of common backup media and devices, such as magnetic tapes, HDDs, SSDs, optical discs, and USB drives. - Comparison of backup media in terms of capacity, durability, portability, and cost. ### Backup Methods for Different Data Types - Explanation of backup methods suitable for different data types (disk, file system, files, databases, VMs). - Examples of tools and techniques used for each data type (e.g., dd for disk imaging, rsync for file-level backups, mysqldump for databases). #### Disk Copy #### Filesystem Backup ##### ZFS File System #### File-Level Backup #### Steps further: Architecture - IaC / Container ### Cloud Backup Solutions #### The Benefits of Cloud Backups ### Hybrid Backup Approaches #### Combining Local and Cloud Backups - The advantages of using a hybrid backup approach that leverages both local and cloud storage. - Strategies for balancing local and cloud backups based on factors like data criticality, recovery speed, and cost. --- ## 4. Backup Software and Tools ### Overview of Popular Backup Software and Tools - Comparison of features and capabilities - Examples of using specific backup tools (e.g., AutoMySQLBackup, Déjà Dup, Vorta, HyperBackup, ActiveBackup) ### Hands-on Workshops: Using Backup Software and Tools --- ## 7. Disaster Recovery (DR) ### Why Disaster Recovery is Essential - disaster + recovery = 災害 + 復原 ( 服務 ) - 代表在**災害** 發生時,是一個能夠將 data center ( 資料中心 ) 的資料即時恢復,並且復原 IT 設備服務的操作手法與架構 ![image](https://hackmd.io/_uploads/HkR-NxD7C.png) ---- 分為以下三種 : - hot site - 擁有與主站點同樣完整的服務 - 資料庫與主站同步,且服務一直都在 - 當災害發生時,可直接支援主站點的服務 - 該站點配備了所有必要的硬碟、軟體以及網路連接 - 最貴 ---- - warm site - 介於 hot site 與 cold site 之間 - 資料庫與主站同步,但服務是沒有上線的 - 災害復原速度慢於 hot site : 主機需要重新啟動需要時間 ---- - cold site - 平常是關機狀態沒有運作,有問題才啟動。 > 停機時間 : RPO + RTO 的最大值 + 服務啟動的時間 - 定期的資料會備份過去 > ex: 可能一個月備份一次完整備份過去,一個禮拜備份一次差異備份,一天備份一次增量備份 - 災害復原速度最慢 : 當真的發生災害時,才開始進行軟體或硬體設備的安裝,使用備份檔進行復原,因此復原時間需要較長的時間 - 最便宜 ---- #### hot DR V.S. warm DR V.S. cold DR | | hot site | warm site | cold site | | ------------ | -------- | --------- | ---------- | | 設備完整度 | 最高👍 | 中間 | 最低 👎 | | 復原速度 | 快 😊 | 中 | 慢 ☹ | | 資料完整度 | 高😊 | 高 😊 | 低 ☹ | | RPO | 小 | 小 | 大 | | RTO | 小 | 中 | 大 | | 成本 (Cost) | 高 ☹ | 中 | 低 😊 | ---- ### Hands-on Workshop: Creating and Testing a DR Plan --- - CIA - confidentiality, integrity and availability - 加密分持 - VeraCrypt ![image](https://hackmd.io/_uploads/SJ-eLXD7R.png) --- ## 9. Conclusion and Q&A ### Key Takeaways and Action Items ### Q&A Session --- Contact: bluet@bluet.org Refs: - https://hackmd.io/@ncnu-opensource/book/https%3A%2F%2Fhackmd.io%2F%40Shaila-Hsiao%2FS1xDRapAs - https://hackmd.io/@ncnu-opensource/book/https%3A%2F%2Fhackmd.io%2Fq2oW90yQQr-DUTOxbe15Sw%3Fview