這期內容當中小編將會給大家?guī)碛嘘P如何進行OpenStack云環(huán)境數(shù)據(jù)備份方案的分析,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)是一家以重慶網(wǎng)站建設、網(wǎng)頁設計、品牌設計、軟件運維、成都網(wǎng)站推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為成都報廢汽車回收等眾行業(yè)中小客戶提供優(yōu)質的互聯(lián)網(wǎng)建站和軟件開發(fā)服務。
對于很多用戶來說,OpenStack 環(huán)境中的數(shù)據(jù)備份一直存在著眾多痛點,影響了OpenStack備份,具體包括如下幾個方面:
1. Nova Cinder 備份方式存在不統(tǒng)一性
OpenStack 數(shù)據(jù)備份過程中,我們的主要關注點在Nova 和Cinder中。
Nova備份方式,一貫做法是將該虛擬機進行快照處理。
Cinder的Volume備份目前主要有兩種方式
1) 對Volume制作快照,形成Volume快照鏈備份數(shù)據(jù)
2) 對Volume使用Cinder-backup 的方式進行備份,針對不同的后端使用不同的備份Driver
如果我們在OpenStack的使用過程中,既要備份云主機又要備份云硬盤就需要在Nova 和Cinder上分別進行備份,無法使其由一種中間的方式來管理所有的備份
2. 備份數(shù)據(jù)不方便統(tǒng)一的管理
備份的數(shù)據(jù)存儲比較獨立,Nova Instance一般存放于Glance中,而Cinder Volume 一般存放備份數(shù)據(jù),由不同的Driver存于不同的存儲中
3. 無法進行有效的周期性備份
目前在OpenStack的云環(huán)境數(shù)據(jù)備份中,還無法對備份動作進行有效的周期性的自動化備份
4. 沒有好的備份鏈管理
沒有好的備份鏈管理,無法對備份數(shù)據(jù)進行整理
5. 對舊備份的刪除不智能
對舊備份的刪除能力,云硬盤的備份一般由手工判斷等方式,進行清理,即不方便也不智能
綜上所述,OpenStack環(huán)境數(shù)據(jù)備份中急需一套好的備份方案, 而Freezer在解決上述問題中也有比較好的表現(xiàn),所以我們引入了Freezer
Freezer是一套開源的備份軟件,它能幫助你自動的進行數(shù)據(jù)備份和還原動作。
目前Freezer已正式引入OpenStack,從事數(shù)據(jù)備份,是OpenStack社區(qū)中一個官方項目,旨在為OpenStack提供數(shù)據(jù)備份環(huán)境的解決方案。Freezer從OpenStack Liberty 版本開始引入支持,以前的版本支持需要做微量的修改。
上面我們已經(jīng)解釋了Freezer已經(jīng)是OpenStack的一套數(shù)據(jù)備份的解決方案,那Freezer具體可以做哪些工作呢?
目前Freezer有四種Job可供支持
主要用于數(shù)據(jù)的備份任務。目前Freezer支持的數(shù)據(jù)備份有下面這些:
l FS:基于文件的數(shù)據(jù)備份
l MySQL: 對Mysql數(shù)據(jù)庫進行有效的備份
l MongoDB: 對MongoDB數(shù)據(jù)庫進行有效的備份
l SQL Server: 對Microsoft sql server數(shù)據(jù)庫進行有效的備份
l OpenStack Nova instance(nova): 對OpenStack 云主機進行備份
l OpenStack Cinder volume(Cinder or Cindernative): 對OpenStack 云硬盤進行備份
說明: 目前Freezer 對云硬盤的備份主要有兩種方式
1) Freezer自主的一套對云硬盤的備份機制(Cinder)
2) Freezer 編排Cinder Backup 的方式進行備份(Cindernative)
數(shù)據(jù)的還原任務
對備份數(shù)據(jù)的管理,主要用戶整理備份鏈以及舊備份的刪除任務
執(zhí)行命令以及腳本
Freezer的特性介紹
對于Freezer可以做哪些,我們已經(jīng)有了大概的認識,那么Freezer還有哪些額外的特性呢。
1. 多平臺支持性
目前Freezer支持平臺包括 Linux Based OS、 Windows、 Mac-OS、BSD Based OS 等多種平臺
2. 備份數(shù)據(jù)的多存儲支持
目前Freezer 備份數(shù)據(jù)可以支持的存儲包括 對象存儲Swift,本地掛載存儲Local以及備份數(shù)據(jù)到遠程的SSH server
3. 備份數(shù)據(jù)的一致性校驗
Freezer對每次備份都會做數(shù)據(jù)一致性的校驗
4. 備份數(shù)據(jù)的壓縮以及加密
默認的壓縮方式為zip,支持的壓縮方式有 bzip、xz等
加密方式采用openssl的 AES-256-CFB方式
5. 備份數(shù)據(jù)可支持增量全量
備份數(shù)據(jù)可以備份數(shù)據(jù)的全量以及增量
6. 備份數(shù)據(jù)的上傳帶寬的限速
對備份的數(shù)據(jù)在上傳到存儲中時,為了不影響業(yè)務,還可以限制上傳的帶寬
7. 對備份鏈的整理
對備份的整理,方便管理員對備份數(shù)據(jù)進行有效的整理,刪除舊備份,整理全量備份等。
對Freezer的能力已經(jīng)有了大概的認識,那么Freezer的內部到底是如何進行工作的,下面主要說明Freezer的構成。
Freezer主要有四個組件, Freezer-Agent、Freezer-Scheduler、Freezer-Web-Ui、 Freezer-Api。
l Freezer-Agent:
主要用于真正執(zhí)行備份、還原等動作的組件。
l Freezer-Scheduler:
與Freezer-api進行交互以及編排Freezer-agent定期執(zhí)行特定任務的組件。
l Freezer-Api:
提供Rest Api 服務,與數(shù)據(jù)庫進行交互,存取Job的一些信息。
l Freezer-Web-Ui:
在Horizon中進行任務的編排,與Freezer-api進行交互發(fā)送Job的一些信息等。
Freezer的總體架構圖
1) Freezer-web-ui 編排Job信息通過apiclient發(fā)送給Freezer-api。
2) Freezer-api 生成action 生成任務。
3) Freezer-scheduler 通過三種不同的周期任務方式調用Freezer-agent 執(zhí)行任務。
4) Freezer-agent 執(zhí)行任務將數(shù)據(jù)存儲在備份的Storage中。
任務需求:
1. 備份OpenStack 云環(huán)境中一個正在使用的云硬盤。
2. 進行周期的進行全量備份。
3. 每次備份完成后保留最后的三次全量備份,并刪除以前的舊備份。
使用freezer-scheduler 進行備份
編輯備份所需要的任務json文件
創(chuàng)建任務
freezer-scheduler job-create –file backup-cinder.json
說明:
freezer-action:
action: backup 表示備份job
cindernative-vol-id: 表示使用的cinder volume的uuid
action: admin 表示使用admin job
fullbackup-rotation: 3 表示保留三次備份
job-schedule:
schedule_interval: 1 weeks 表示每隔一周執(zhí)行該job 一次
schedule_start_date: 表示第一次開始執(zhí)行的時間
1. Freezer 社區(qū)開發(fā)人員目前過少
2. 數(shù)據(jù)備份尚未對Ceph支持
3. 目前還無法對OpenStack進行整體的備份
4. 對計算節(jié)點的服務進行監(jiān)控,保護業(yè)務的不間斷性
上述就是小編為大家分享的如何進行OpenStack云環(huán)境數(shù)據(jù)備份方案的分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。