大數(shù)據(jù)“復(fù)活”記
883
2025-04-01
為什么要進(jìn)行數(shù)據(jù)備份?
在信息化社會,數(shù)據(jù)是每個企業(yè)最重要的資產(chǎn),每個好的企業(yè)致力于為用戶提供穩(wěn)定可靠的服務(wù),各種客觀(自然災(zāi)害,網(wǎng)絡(luò)故障,硬盤故障等)或者主觀原因(人為損壞,人為誤操作等)會造成數(shù)據(jù)丟失,影響企業(yè)業(yè)務(wù),所以數(shù)據(jù)的備份及恢復(fù)顯得尤為重要。保護(hù)好客戶數(shù)據(jù),災(zāi)難來臨,客戶數(shù)據(jù)不丟失,企業(yè)業(yè)務(wù)能夠連續(xù)進(jìn)行是數(shù)據(jù)災(zāi)備的目的。數(shù)據(jù)庫災(zāi)備能力是評價數(shù)據(jù)庫優(yōu)劣的重要指標(biāo)之一。
Raoch工具介紹:
GaussDB A通過Roach工具提供備份和災(zāi)難恢復(fù)功能。目前Roach支持的集群形態(tài)包括:主備從集群、一主多備集群、小型化集群(單節(jié)點部署)。支持物理備份和邏輯備份,并且支持DISK,NBU,OBS(DWS線上使用),EISOO等備份介質(zhì)。在備份恢復(fù)過程中,集群內(nèi)每個節(jié)點都會運行g(shù)s_roach進(jìn)程,并且會有一個節(jié)點以roach master的角色運行roach進(jìn)程,其余所有節(jié)點會以roach agent的角色運行roach進(jìn)程。roach master控制備份恢復(fù)的所有流程和操作,roach agent接收和處理來自于master的命令。
應(yīng)用場景之集群級備份:
集群級備份屬于物理備份,GaussDB A根據(jù)用戶需求提供全量備份和增量備份兩種方式,并支持?jǐn)帱c續(xù)做。
集群級全量備份場景:
python $GPHOME/script/GaussRoach.py
-t <命令類型> 【例如:restore】
--master-port
--media-type <介質(zhì)類型> 【備份集存放的介質(zhì)類型,如DISK等】
--media-destination <備份文件存放路徑>【例如:/home/test/media】
--metadata-destination <備份元數(shù)據(jù)存放路徑>【例如:/home/test/meta】
集群級增量備份場景:
在全量備份基礎(chǔ)上加--prior-backup-key參數(shù):
--prior-backup-key<指定基于的全量備份的key>【例如:如果該參數(shù)的值為20200505_162558,則表示該次備份為增量備份,且本次增量備份基于key為20200505_162558的全量備份進(jìn)行】
集群全量備份斷點續(xù)做場景:
考慮到集群級備份數(shù)據(jù)量大且備份時間較長,在備份過程中可能受到不可抗力導(dǎo)致備份中斷,GaussDB A 提供了斷點續(xù)做功能,只需要在備份命令添加—resume-backup參數(shù)即可。
應(yīng)用場景之集群級恢復(fù):
集群級恢復(fù)命令如下:
python $GPHOME/script/GaussRoach.py -t restore --master-port 7786 --media-type disk --media-destination /home/test/media --metadata-destination /home/test/meta --clean –backup-key XXXX_XXXX
其中:
--clean <表示恢復(fù)前清除數(shù)據(jù)庫中的數(shù)據(jù)>
--backup-key <參數(shù)值為帶恢復(fù)的備份集的key>
應(yīng)用場景之表級備份:
全量備份數(shù)據(jù)量較大,備份集占用存儲空間較大,重復(fù)數(shù)據(jù)重復(fù)備份,造成存儲空間的浪費。實際應(yīng)用中,客戶數(shù)據(jù)庫中常用的表有限,需要經(jīng)常的做全量備份,因此,為了節(jié)約存儲資源,提升客戶工作效率,GaussDB A提供了表級備份功能。其中,表級備份分為單表備份和多表備份。
單表備份場景:
python $GPHOME/script/GaussRoach.py -t backup --master-port
--tablename <表名稱>
--agent-port<備份表時Roach與數(shù)據(jù)庫內(nèi)核之間建立外表所需端口>
–dbname <表所在數(shù)據(jù)庫名稱>
多表備份場景:
python $GPHOME/script/GaussRoach.py -t backup --master-port
--agent-port
--table-list <待備份tablelist列表文件,例如:tablist.txt>
--dbname <備份表所在數(shù)據(jù)庫名稱>
--logical <--logical參數(shù)表示本次備份為邏輯備份>
說明:--table-list的值為tablist.txt,其內(nèi)容需要備份的表,每張表名一行,格式如下:
schema01.tab01
schema02.tab02
schema01.tab03
…
應(yīng)用場景之表級恢復(fù):
單表恢復(fù):
python $GPHOME/script/GaussRoach.py -t restore --clean --create --master-port 9898 --media-type DISK --media-destination /home/test/media --metadata-destination /home/test/meta --agent-port 7000 --dbname db1 –tablename tab1 --backup-key XXXX_XXXX
其中:
--create <表示創(chuàng)建表結(jié)構(gòu)>
--logging <參數(shù)值為true或false,true表示啟用日志文件記錄功能;false表示禁用日志文件記錄功能>
多表恢復(fù):
python $GPHOME/script/GaussRoach.py -t restore --clean --create --master-port 9898 --media-type DISK --media-destination /home/test/media --metadata-destination /home/test/meta --agent-port 7000 --dbname db1 –table-list tablist.txt --backup-key XXXX_XXXX --logical
在執(zhí)行備份恢復(fù)命令時,還提供了以下多種功能參數(shù):
--buffersize <緩存大小>
--compression-type <壓縮算法類型,值為1代表采用zlib壓縮算法,值為 2代表采用lz4壓縮算法>
--compression-level <壓縮級別,參數(shù)值為0-9,值為0表示快速壓縮或無壓縮,值為9表示慢速壓縮或最大壓縮>
--filesplit-size <被拆分文件的大小>
--log-filecount <日志文件的最大個數(shù)>
--log-filesize <最大日志文件的大小>
--logging-level <日志級別 FATAL ERROR WARNING INFO DEBUG DEBUG2>
--parallel-process
--retry-wait-time <失敗后重試時需等待的時間>
……
roach其它功能介紹:
stop---用于停止正在進(jìn)行的備份恢復(fù)進(jìn)程;
validate---用于驗證所有的備份文件,識別文件有無損壞;Roach工具提供了備份集的兩種驗證方法,分別是Full(基于CRC校驗)和Partial(基于文件大小驗證)。
delete---用于刪除不需要的備份集;
show---以列表形式顯示可用備份、備份類型、將用于特定backup key恢復(fù)的備份,回顯信息中包括BACKUP KEY、BKP TYPE、BARRIER TIME、DELETION TIME、VALIDATION TIME、STATUS、TLI、BKP PRIOR KEY、BACKUP LEVEL等關(guān)鍵信息。
除以上應(yīng)用場景,roach工具還提供了基于schema級別和database數(shù)據(jù)庫級別的備份恢復(fù)。
GaussDB A提供了管控面管理,可以在管控面進(jìn)行備份恢復(fù)管理。客戶可以在管控面,定制自己的備份恢復(fù)策略,輕松創(chuàng)建一個備份任務(wù),對備份集進(jìn)行管理。可視化執(zhí)行備份恢復(fù)任務(wù)。
除了基本備份恢復(fù),GaussDB A還提供專門容災(zāi)工具,在兩套主備集群之間實現(xiàn)周期性備份恢復(fù),主集群正常提供業(yè)務(wù),進(jìn)行周期性備份,并將備份集傳給備集群,備集群進(jìn)行周期性恢復(fù),兩套集群互不影響,當(dāng)主集群發(fā)生故障,備集群能夠迅速替代主集群,提供正常業(yè)務(wù)。
總而言之,GaussDB A提供各種符合客戶使用需求的備份恢復(fù),容災(zāi),遷移解決方案,使數(shù)據(jù)管理變得更加簡單,安全和可靠。
更多精彩內(nèi)容,請關(guān)注華為云開發(fā)者社區(qū)論壇:https://bbs.huaweicloud.com/forum/forum-598-1.html 及微信公眾號“華為云AI”
數(shù)據(jù)倉庫服務(wù) GaussDB(DWS) 數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。