redis企業(yè)級(jí)數(shù)據(jù)備份方案以及各種踩坑的數(shù)據(jù)恢復(fù)容災(zāi)演練

到這里為止铸本,其實(shí)還是停留在簡單學(xué)習(xí)知識(shí)的程度寞冯,學(xué)會(huì)了redis的持久化的原理和操作枕赵,但是在企業(yè)中猜欺,持久化到底是怎么去用得呢?

企業(yè)級(jí)的數(shù)據(jù)備份和各種災(zāi)難下的數(shù)據(jù)恢復(fù)拷窜,是怎么做得呢开皿?

1、企業(yè)級(jí)的持久化的配置策略

在企業(yè)中篮昧,RDB的生成策略赋荆,用默認(rèn)的也差不多

save 60 10000:如果你希望盡可能確保說,RDB最多丟1分鐘的數(shù)據(jù)懊昨,那么盡量就是每隔1分鐘都生成一個(gè)快照糠睡,低峰期,數(shù)據(jù)量很少疚颊,也沒必要

10000->生成RDB狈孔,1000->RDB,這個(gè)根據(jù)你自己的應(yīng)用和業(yè)務(wù)的數(shù)據(jù)量材义,你自己去決定

AOF一定要打開均抽,fsync,everysec

auto-aof-rewrite-percentage 100: 就是當(dāng)前AOF大小膨脹到超過上次100%其掂,上次的兩倍
auto-aof-rewrite-min-size 64mb: 根據(jù)你的數(shù)據(jù)量來定油挥,16mb,32mb

2款熬、企業(yè)級(jí)的數(shù)據(jù)備份方案

RDB非常適合做冷備深寥,每次生成之后,就不會(huì)再有修改了

數(shù)據(jù)備份方案

(1)寫crontab定時(shí)調(diào)度腳本去做數(shù)據(jù)備份
(2)每小時(shí)都copy一份rdb的備份贤牛,到一個(gè)目錄中去惋鹅,僅僅保留最近48小時(shí)的備份
(3)每天都保留一份當(dāng)日的rdb的備份,到一個(gè)目錄中去殉簸,僅僅保留最近1個(gè)月的備份
(4)每次copy備份的時(shí)候闰集,都把太舊的備份給刪了
(5)每天晚上將當(dāng)前服務(wù)器上所有的數(shù)據(jù)備份,發(fā)送一份到遠(yuǎn)程的云服務(wù)上去

/usr/local/redis

每小時(shí)copy一次備份般卑,刪除48小時(shí)前的數(shù)據(jù)

crontab -e

0 * * * * sh /usr/local/redis/copy/redis_rdb_copy_hourly.sh

redis_rdb_copy_hourly.sh

!/bin/sh

cur_date=date +%Y%m%d%k
rm -rf /usr/local/redis/snapshotting/cur_date mkdir /usr/local/redis/snapshotting/cur_date
cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date

del_date=date -d -48hour +%Y%m%d%k
rm -rf /usr/local/redis/snapshotting/$del_date

每天copy一次備份

crontab -e

0 0 * * * sh /usr/local/redis/copy/redis_rdb_copy_daily.sh

redis_rdb_copy_daily.sh

!/bin/sh

cur_date=date +%Y%m%d
rm -rf /usr/local/redis/snapshotting/cur_date mkdir /usr/local/redis/snapshotting/cur_date
cp /var/redis/6379/dump.rdb /usr/local/redis/snapshotting/$cur_date

del_date=date -d -1month +%Y%m%d
rm -rf /usr/local/redis/snapshotting/$del_date

每天一次將所有數(shù)據(jù)上傳一次到遠(yuǎn)程的云服務(wù)器上去

3武鲁、數(shù)據(jù)恢復(fù)方案

(1)如果是redis進(jìn)程掛掉,那么重啟redis進(jìn)程即可蝠检,直接基于AOF日志文件恢復(fù)數(shù)據(jù)

不演示了沐鼠,在AOF數(shù)據(jù)恢復(fù)那一塊,演示了,fsync everysec饲梭,最多就丟一秒的數(shù)

(2)如果是redis進(jìn)程所在機(jī)器掛掉乘盖,那么重啟機(jī)器后,嘗試重啟redis進(jìn)程排拷,嘗試直接基于AOF日志文件進(jìn)行數(shù)據(jù)恢復(fù)

AOF沒有破損,也是可以直接基于AOF恢復(fù)的

AOF append-only锅尘,順序?qū)懭爰嗲猓绻鸄OF文件破損,那么用redis-check-aof fix

(3)如果redis當(dāng)前最新的AOF和RDB文件出現(xiàn)了丟失/損壞藤违,那么可以嘗試基于該機(jī)器上當(dāng)前的某個(gè)最新的RDB數(shù)據(jù)副本進(jìn)行數(shù)據(jù)恢復(fù)

當(dāng)前最新的AOF和RDB文件都出現(xiàn)了丟失/損壞到無法恢復(fù)浪腐,一般不是機(jī)器的故障,人為

大數(shù)據(jù)系統(tǒng)顿乒,hadoop议街,有人不小心就把hadoop中存儲(chǔ)的大量的數(shù)據(jù)文件對(duì)應(yīng)的目錄,rm -rf一下璧榄,我朋友的一個(gè)小公司特漩,運(yùn)維不太靠譜,權(quán)限也弄的不太好

/var/redis/6379下的文件給刪除了

找到RDB最新的一份備份骨杂,小時(shí)級(jí)的備份可以了涂身,小時(shí)級(jí)的肯定是最新的,copy到redis里面去搓蚪,就可以恢復(fù)到某一個(gè)小時(shí)的數(shù)據(jù)

容災(zāi)演練

我跟大家解釋一下蛤售,我其實(shí)上課,為什么大量的講師可能講課就是純PPT妒潭,或者是各種復(fù)制粘貼悴能,都不是現(xiàn)場講解和寫代碼演示的

很容易出錯(cuò),為了避免出錯(cuò)雳灾,一般就會(huì)那樣玩兒

吐槽漠酿,念PPT,效果很差

真實(shí)的谎亩,備課记靡,講課不可避免,會(huì)出現(xiàn)一些問題团驱,但是我覺得還好摸吠,真實(shí)

appendonly.aof + dump.rdb,優(yōu)先用appendonly.aof去恢復(fù)數(shù)據(jù)嚎花,但是我們發(fā)現(xiàn)redis自動(dòng)生成的appendonly.aof是沒有數(shù)據(jù)的

然后我們自己的dump.rdb是有數(shù)據(jù)的寸痢,但是明顯沒用我們的數(shù)據(jù)

redis啟動(dòng)的時(shí)候,自動(dòng)重新基于內(nèi)存的數(shù)據(jù)紊选,生成了一份最新的rdb快照啼止,直接用空的數(shù)據(jù)道逗,覆蓋掉了我們有數(shù)據(jù)的,拷貝過去的那份dump.rdb

你停止redis之后献烦,其實(shí)應(yīng)該先刪除appendonly.aof滓窍,然后將我們的dump.rdb拷貝過去,然后再重啟redis

很簡單巩那,就是雖然你刪除了appendonly.aof吏夯,但是因?yàn)榇蜷_了aof持久化,redis就一定會(huì)優(yōu)先基于aof去恢復(fù)即横,即使文件不在噪生,那就創(chuàng)建一個(gè)新的空的aof文件

停止redis,暫時(shí)在配置中關(guān)閉aof东囚,然后拷貝一份rdb過來跺嗽,再重啟redis,數(shù)據(jù)能不能恢復(fù)過來页藻,可以恢復(fù)過來

腦子一熱桨嫁,再關(guān)掉redis,手動(dòng)修改配置文件份帐,打開aof瞧甩,再重啟redis,數(shù)據(jù)又沒了弥鹦,空的aof文件肚逸,所有數(shù)據(jù)又沒了

在數(shù)據(jù)安全丟失的情況下,基于rdb冷備彬坏,如何完美的恢復(fù)數(shù)據(jù)朦促,同時(shí)還保持aof和rdb的雙開

停止redis,關(guān)閉aof栓始,拷貝rdb備份务冕,重啟redis,確認(rèn)數(shù)據(jù)恢復(fù)幻赚,直接在命令行熱修改redis配置禀忆,打開aof,這個(gè)redis就會(huì)將內(nèi)存中的數(shù)據(jù)對(duì)應(yīng)的日志落恼,寫入aof文件中

此時(shí)aof和rdb兩份數(shù)據(jù)文件的數(shù)據(jù)就同步了

redis config set熱修改配置參數(shù)箩退,可能配置文件中的實(shí)際的參數(shù)沒有被持久化的修改,再次停止redis佳谦,手動(dòng)修改配置文件戴涝,打開aof的命令,再次重啟redis

(4)如果當(dāng)前機(jī)器上的所有RDB文件全部損壞,那么從遠(yuǎn)程的云服務(wù)上拉取最新的RDB快照回來恢復(fù)數(shù)據(jù)

(5)如果是發(fā)現(xiàn)有重大的數(shù)據(jù)錯(cuò)誤啥刻,比如某個(gè)小時(shí)上線的程序一下子將數(shù)據(jù)全部污染了奸鸯,數(shù)據(jù)全錯(cuò)了,那么可以選擇某個(gè)更早的時(shí)間點(diǎn)可帽,對(duì)數(shù)據(jù)進(jìn)行恢復(fù)

舉個(gè)例子娄涩,12點(diǎn)上線了代碼,發(fā)現(xiàn)代碼有bug映跟,導(dǎo)致代碼生成的所有的緩存數(shù)據(jù)蓄拣,寫入redis,全部錯(cuò)了

找到一份11點(diǎn)的rdb的冷備申窘,然后按照上面的步驟弯蚜,去恢復(fù)到11點(diǎn)的數(shù)據(jù)孔轴,不就可以了嗎

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剃法,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子路鹰,更是在濱河造成了極大的恐慌贷洲,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晋柱,死亡現(xiàn)場離奇詭異优构,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)雁竞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門钦椭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碑诉,你說我怎么就攤上這事彪腔。” “怎么了进栽?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵德挣,是天一觀的道長。 經(jīng)常有香客問我快毛,道長格嗅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任唠帝,我火速辦了婚禮屯掖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘襟衰。我一直安慰自己懂扼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阀湿,像睡著了一般赶熟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陷嘴,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天映砖,我揣著相機(jī)與錄音,去河邊找鬼灾挨。 笑死邑退,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劳澄。 我是一名探鬼主播地技,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼秒拔!你這毒婦竟也來了莫矗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤砂缩,失蹤者是張志新(化名)和其女友劉穎作谚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庵芭,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妹懒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了双吆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眨唬。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖好乐,靈堂內(nèi)的尸體忽然破棺而出匾竿,到底是詐尸還是另有隱情,我是刑警寧澤曹宴,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布搂橙,位于F島的核電站,受9級(jí)特大地震影響笛坦,放射性物質(zhì)發(fā)生泄漏区转。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一版扩、第九天 我趴在偏房一處隱蔽的房頂上張望废离。 院中可真熱鬧,春花似錦礁芦、人聲如沸蜻韭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肖方。三九已至闺魏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俯画,已是汗流浹背析桥。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艰垂,地道東北人泡仗。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像猜憎,于是被迫代替她去往敵國和親娩怎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容