Mavis 支援的備份與還原
我們的系統提供備份和災害備份還原功能,支持以下兩種備份方式:
- 方式一:Mavis 全部備份與還原:進行全面的系統備份,涵蓋所有數據和配置。
備份檔案的名稱(包含當天日期):
-
-
xx-xx-xxxx-backup-full => Mavis 全面的系統備份(所有數據和配置)
-
- 方式二:Mavis 分開備份與還原(系統及資料庫 + 儲存空間):專注於提高 Mavis 系統的恢復時間,先進行 Mavis 系統的備份,後續再執行日誌回放紀錄的備份,以確保盡快恢復系統使用。
部分備份檔案的名稱(包含當天日期):
-
-
xx-xx-xxxx-backup-exclude-storage => Mavis 系統及資料庫,排除儲存空間備份(日誌影片...)
-
xx-xx-xxxx-backup-only-storage => Mavis 儲存空間備份(主要備份日誌影片檔案等資料)
-
支援多種存儲來源
Velero 支持多種對象存儲方案,可以輕鬆地將集群資源保存到雲端或本地存儲。預設支持的對象存儲包括 AWS、Azure、GCP,以及兼容 S3 協議的本地存儲,如 Minio (Minio安裝文件參考)。
執行備份與還原的操作步驟
1. 設定備份存儲來源
-
單機和HA三台架構的備份步驟相同,HA三台架構只需在第一台Master01執行備份指令。
輸入存儲來源指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s init
選擇存儲來源提供為 S3 或 Azure Blob
*S3
輸入S3 資訊並確認輸入資訊後輸入y 繼續執行
欄位說明及範例: | AWS | Minio |
Enter your s3 access key | s3 access key |
access key or 登入帳號 帳號範例:minioadmin |
Enter your s3 secret key | s3 secret key |
secret key or 登入密碼 帳號範例:minioadmin |
Enter your bucket region [minio] |
輸入 region 範例:ap-northeast-1 |
預設 minio ,不需輸入 |
Enter your S3 URL [https://s3.$REGION.amazonaws.com:443] |
輸入 s3 url需要設定region 範例:https://s3.ap-northeast-1.amazonaws.com:443 |
輸入minio url 範例:http://192.168.89.122:9000 |
Enter your bucket name |
輸入bucket name 範例:shun-mavisdemo-backup-restore-100g |
輸入bucket name 範例:mavis-backup-minio |
*Azure Blob
輸入azure 資訊並確認輸入資訊後輸入y 繼續執行
欄位說明及範例: | Azure Blob |
Enter your Azure storage account name: | 範例:shunmavisdemo |
Enter your Azure storage account key | storage account key |
Enter your Azure container name: |
輸入 containe name 範例:mavis-backup |
Enter your Azure subscription ID: |
輸入 subscription ID |
Enter your Azure resource group: |
輸入storage account 所屬的resource group 範例:shun-demo-server_group |
Enter your Azure tenant ID: |
輸入 tenant ID |
Enter your Azure client ID: |
輸入 client ID |
Enter your Azure client secret |
輸入 client secret |
(Azure Bolb 欄位相關資訊:請參閱Azure建立儲存體帳戶, 如何取得雲金鑰 (API Key))
看到此 log 表示儲設定來源設定完成
注意:存儲來源設定只要設定過一次即可,下次再執行備份時可省略此步驟!
2. 執行備份
- 方式一:直接執行「Mavis 全部備份」指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s backup
看到以下訊息表示備份成功:
- 全部備份檔案名稱為 [日期*-backup-full]
- [Backup completed with status: Completed.] 的完成訊息
- 方式二:Mavis 分開備份與還原(系統及資料庫 + 儲存空間):
*先執行「Mavis 系統及資料庫備份(不含日誌回放等資料)」指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | BACKUP_STORAGE_VOLUME=false bash -s backup
看到以下訊息表示備份成功:
- 系統及資料庫備份檔案名稱為 [日期*-backup-exclude-storage]
- [Backup completed with status: Completed.] 的完成訊息
*再執行「Mavis 儲存空間備份(含日誌回放等資料)」指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | ONLY_STORAGE_VOLUME=true bash -s backup
看到以下訊息表示備份成功:
- 儲存空間備份檔案名稱為 [日期*-backup-only-storage]
- [Backup completed with status: Completed.] 的完成訊息
3. 查詢備份檔案
查看備份檔案指令:顯示所有備份檔案
velero backup get
4. 執行還原
單機版:
-
請準備一台新的和同規格的機器。
注意:如果新機器的IP位址與舊機器不同,請更新DNS記錄以指向新機器的IP位址
-
新機器上安裝 k3s 環境
安裝 K3S 指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s install
安裝 K3S 成功訊息:
--------------------------------------------------------------------------------------------
HA三台架構:
1.請準備三台與現有三台架構和規格相同的新機器。
注意:如果新機器的IP位址與舊機器不同,請更新DNS記錄以指向新機器的IP位址
2.在新機器Master01 安裝 k3s 環境
安裝 K3S 指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s install_cluster
1. 依序輸入三台機器IP
2. 輸入三台機器具備相同sudo權限的帳號及密碼 (此範例為三台機器root相同密碼)
HA三台架構安裝 K3S 成功訊息:
確認三台cluster 狀態:三台都為Ready 表示正常
kubectl get node
-------------------------------------------------------------------------------- -
設定備份存儲來源
輸入「存儲來源」指令:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s init
選擇存儲來源提供為S3 或 Azure
*S3
輸入「S3 資訊」,並確認輸入的資訊後,「輸入y」繼續執行欄位說明及範例: AWS Minio Enter your s3 access key s3 access key access key or 登入帳號
帳號範例:minioadmin
Enter your s3 secret key s3 secret key secret key or 登入密碼
帳號範例:minioadmin
Enter your bucket region [minio] 輸入 region
範例:ap-northeast-1
預設 minio ,不需輸入 Enter your S3 URL [https://s3.$REGION.amazonaws.com:443] 輸入 s3 url需要設定region
範例:https://s3.ap-northeast-1.amazonaws.com:443
輸入minio url
範例:http://192.168.89.122:9000
Enter your bucket name 輸入bucket name
範例:shun-mavisdemo-backup-restore-100g
輸入bucket name
範例:mavis-backup-minio
*Azure
輸入azure 資訊並確認輸入資訊後輸入y 繼續執行
欄位說明及範例: Azure Blob Enter your Azure storage account name: 範例:shunmavisdemo Enter your Azure storage account key storage account key Enter your Azure container name: 輸入 containe name
範例:mavis-backup
Enter your Azure subscription ID: 輸入 subscription ID
Enter your Azure resource group: 輸入storage account 所屬的resource group
範例:shun-demo-server_group
Enter your Azure tenant ID: 輸入 tenant ID
Enter your Azure client ID: 輸入 client ID
Enter your Azure client secret 輸入 client secret
看到此 log 表示存儲來源設定完成 -
執行還原
- 方式一:以「Mavis 全部備份」時,請以此方式還原:
curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s restore
視窗會顯示所有備份檔案,輸入最新的 全部備份 檔案名稱,進行 Mavis 全部還原
(此範例為:2024-05-28-133830-backup-full) ,輸入完後執行 enter 鍵,開始還原(全部備份)看到以下訊息,表示還原成功,平台可以開始正常使用
- 方式二:以「Mavis 分開備份與還原」時,請分別以「系統及資料庫」及「儲存空間」還原:
可專注於提高 Mavis 系統的恢復時間,優先進行 Mavis 系統的還原,後續再執行日誌回放紀錄的備份,以確保盡快恢復系統使用。
*「系統及資料庫」還原,請先執行還原指令:curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s restore
視窗顯示會所有備份檔案,輸入最新的 Mavis 系統及資料庫 檔案名稱,進行檔案還原
(此範例為:2024-05-30-174036-backup-exclude-storage) ,輸入完y後執行 enter 鍵,開始還原看到以下訊息,表示還原成功,Mavis 即可正登入操作使用,但連線紀錄功能暫時不能使用(仍需等待Mavis 儲存空間備份還原後,連線紀錄功能才會恢復正常)
*「儲存空間」還原,請先執行還原指令:curl -sSL https://pentium-repo.s3.ap-northeast-1.amazonaws.com/mavis/latest/backup.sh | bash -s restore
視窗顯示會所有備份檔案,輸入最新的 Mavis 儲存空間 檔案名稱,進行檔案還原
(此範例為:2024-05-30-174214-backup-only-storage) ,輸入完後執行 enter 鍵,開始還原看到以下訊息,表示還原成功,連線紀錄功能恢復正常,即可播放新舊日誌回放影片檔案!