精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

MongoDBHotBackup測試及痛點(diǎn)

MongoDB  Hot Backup 測試及痛點(diǎn)

創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷、企業(yè)網(wǎng)站建設(shè),買友情鏈接,廣告投放平臺為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。

Percona MongoDB Hot Backup 測試及痛點(diǎn)

前言

Part1:寫在最前

Percona MongoDB 支持Hot Backup,解決了MongoDB官方版本只能使用mongodump的情況。mongodump在小庫中還好,量上來后,備份恢復(fù)都是痛苦的。本文就MongoDB hot backup 備份中的一個(gè)bug進(jìn)行復(fù)現(xiàn)和解決。

實(shí)戰(zhàn)

Part1:限制

在Percona MongoDB3.2.12版本之前,在進(jìn)行物理熱備份時(shí),如果配置文件中配置了

directoryPerDB: true

directoryForIndexes: true

這兩個(gè)參數(shù)的話,那么在執(zhí)行備份的時(shí)候會爆出錯(cuò)誤:

[root@HE1 bin]#./mongo 127.0.0.1:27020/admin
MongoDB shellversion: 3.2.11-3.1 
connecting to:127.0.0.1:27020/admin
 
heleitest:PRIMARY>use admin
switched to db admin
heleitest:PRIMARY>db.runCommand({createBackup: 1, backupDir: "/home/work/backup"})
{ "ok" : 0, "errmsg" : "boost::filesystem::copy_file: No such file or directory:\"/home/mongodb/data/admin/collection/11-6714811575794894766.wt\",\"/home/work/backup/admin/collection/11-6714811575794894766.wt\""}

Part2:痛點(diǎn)

這個(gè)問題會很頭痛,比如生產(chǎn)庫中,MongoDB庫越來越大,促使我們計(jì)劃采用hot backup方案,由于起先的庫開啟了這個(gè)方式,那么臨時(shí)的解決方案是什么樣的呢?

It may be useful to simply let a secondary initial sync with those options off, then you could take a hot backup again to populate all the other nodes. This is not a solution but a path to get the production system back into a state you can use the backups. 
please note this assume production is built to best practices and is in a replica-set and not a stand alone mongod process.

意思是在我們MongoDB常規(guī)的復(fù)制集中,如果想要備份這個(gè)庫,那么首先要下掉一個(gè)Secondary,清空數(shù)據(jù)目錄進(jìn)行重新復(fù)制,這個(gè)過程會非常緩慢和復(fù)雜。如果僅僅是重啟數(shù)據(jù)庫的話,會起不來報(bào)錯(cuò),原因是已經(jīng)開啟了多路徑存儲數(shù)據(jù)和索引獨(dú)立存儲這兩個(gè)選項(xiàng),而現(xiàn)有版本的hotbackup是不支持這樣的備份方式的。

Part3:方案

好在Percona版本響應(yīng)給力,在賀春旸老師提出該Bug后,官方在3.2.12-3.2版本便修正了這一問題,使得hot backup的痛點(diǎn)得以解決,例如,原先我需要重新對集群進(jìn)行關(guān)閉參數(shù),導(dǎo)出導(dǎo)入數(shù)據(jù),這無疑是一個(gè)巨大的工作量,同時(shí)會讓數(shù)據(jù)庫可靠性在不短的時(shí)間內(nèi)都處于較低狀態(tài)。而現(xiàn)在,我們僅僅要做的就是升級數(shù)據(jù)庫,這一問題就能夠得到解決。

Part4:復(fù)現(xiàn)

[root@HE1 bin]# ./mongo 127.0.0.1:27020/admin
Percona Server for MongoDB shell version: 3.2.12-3.2
connecting to: 127.0.0.1:27020/admin
 
heleitest:PRIMARY> db.runCommand({createBackup: 1, backupDir: "/home/work/backup"})
{ "ok" : 1 }


我這里先對之前的3.2.11-3.1版本進(jìn)行一個(gè)升級,如何升級MongoDB數(shù)據(jù)庫可參考:

http://suifu.blog.51cto.com/9167728/1947035

同時(shí),配置文件中配置了

directoryPerDB: true

directoryForIndexes: true

可以看到,在3.2.12-3.2版本中,備份是沒有任何異常的。

Part5:校驗(yàn)

我們來看下3.4最新版是否也是正常的

[root@HE1 bin]# ./mongo 127.0.0.1:27020/admin
Percona Server for MongoDB shell version v3.4.4-1.4
connecting to: mongodb://127.0.0.1:27020/admin
Percona Server for MongoDB server version: v3.4.4-1.4
heleitest:PRIMARY> db.runCommand({createBackup: 1, backupDir: "/home/work/backup"})
{ "ok" : 1 }

可以看到,最新版也沒有問題。

Part6:官方日志

#PSMDB-123: Fixed the creation of proper subdirectories inside the backup destination directory

賀春旸老師提交的jira

https://jira.percona.com/browse/PSMDB-123

——總結(jié)——

感謝賀春旸老師的bug提交,感謝Percona團(tuán)隊(duì)高效的修復(fù)速率,開源,讓世界更美好~由于筆者的水平有限,編寫時(shí)間也很倉促,文中難免會出現(xiàn)一些錯(cuò)誤或者不準(zhǔn)確的地方,不妥之處懇請讀者批評指正。


文章標(biāo)題:MongoDBHotBackup測試及痛點(diǎn)
本文鏈接:http://m.jcarcd.cn/article/gcjpcp.html
主站蜘蛛池模板: 制服丝袜自 | 午夜国产在线观看 | 日本网站在线观看 | 国产亲子| 91黑丝系列| 精新精新国产自在现 | 91同志app| 美日韩在线视频 | 国产精选在线播放 | 日韩中文字幕网站 | 另类综合视频在线 | 日韩新片在线观看网 | 福利影视| 欧美一级做 | 午夜亚洲欧 | 三级全黄的视频在线 | 成人国产精品 | 91香蕉小视频 | 日本午夜一级视频 | 精品人人 | 区二区三区新线路 | 国产原创导航 | 国产女同百合91 | 午夜成人日韩 | 成人九九 | 日韩a级一片 | 国产精选在线视频 | 日韩又爽又黄 | 97国语| 精品福利枧频网站 | 国产一区免费观 | 日本欧美高清全视频 | 精品欧美不卡一区 | 日本精品一区在线 | 国产亚洲一卡一 | 欧美日韩一区不卡 | 69热视| 国產後精品在线 | 国产二区在线播放 | 国产理论片在线播放 | 日本怡春院天堂 |