---
# System prepended metadata

title: Backup 3-2-1 and Disaster Recovery (DR)

---

# 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