etcd 備份與恢復(fù)

etcd 是一款開(kāi)源的分布式一致性鍵值存儲(chǔ),由 CoreOS 公司進(jìn)行維護(hù),詳細(xì)的介紹請(qǐng)參考官方文檔。

etcd 目前最新的版本的 v3.1.1,但它的 API 又有 v3 和 v2 之分,社區(qū)通常所說(shuō)的 v3 與 v2 都是指 API 的版本號(hào)。從 etcd 2.3 版本開(kāi)始推出了一個(gè)實(shí)驗(yàn)性的全新 v3 版本 API 的實(shí)現(xiàn),v2 與 v3 API 使用了不同的存儲(chǔ)引擎,所以客戶端命令也完全不同。

# etcdctl --version
etcdctl version: 3.0.4
API version: 2

官方指出 etcd v2 和 v3 的數(shù)據(jù)不能混合存放,support backup of v2 and v3 stores 。

特別提醒:若使用 v3 備份數(shù)據(jù)時(shí)存在 v2 的數(shù)據(jù)則不影響恢復(fù)
若使用 v2 備份數(shù)據(jù)時(shí)存在 v3 的數(shù)據(jù)則恢復(fù)失敗

對(duì)于 API 2 備份與恢復(fù)方法

官方 v2 admin guide

etcd的數(shù)據(jù)默認(rèn)會(huì)存放在我們的命令工作目錄中,我們發(fā)現(xiàn)數(shù)據(jù)所在的目錄,會(huì)被分為兩個(gè)文件夾中:

  • snap: 存放快照數(shù)據(jù),etcd防止WAL文件過(guò)多而設(shè)置的快照,存儲(chǔ)etcd數(shù)據(jù)狀態(tài)。

  • wal: 存放預(yù)寫式日志,最大的作用是記錄了整個(gè)數(shù)據(jù)變化的全部歷程。在etcd中,所有數(shù)據(jù)的修改在提交前,都要先寫入到WAL中。

# etcdctl backup --data-dir /home/etcd/ --backup-dir /home/etcd_backup

# etcd -data-dir=/home/etcd_backup/  -force-new-cluster

恢復(fù)時(shí)會(huì)覆蓋 snapshot 的元數(shù)據(jù)(member ID 和 cluster ID),所以需要啟動(dòng)一個(gè)新的集群。

對(duì)于 API 3 備份與恢復(fù)方法

官方 v3 admin guide

在使用 API 3 時(shí)需要使用環(huán)境變量 ETCDCTL_API 明確指定。

在命令行設(shè)置:

# export ETCDCTL_API=3

備份數(shù)據(jù):

# etcdctl --endpoints localhost:2379 snapshot save snapshot.db

恢復(fù):

# etcdctl snapshot restore snapshot.db --name m3 --data-dir=/home/etcd_data

恢復(fù)后的文件需要修改權(quán)限為 etcd:etcd
--name:重新指定一個(gè)數(shù)據(jù)目錄,可以不指定,默認(rèn)為 default.etcd
--data-dir:指定數(shù)據(jù)目錄
建議使用時(shí)不指定 name 但指定 data-dir,并將 data-dir 對(duì)應(yīng)于 etcd 服務(wù)中配置的 data-dir

etcd 集群都是至少 3 臺(tái)機(jī)器,官方也說(shuō)明了集群容錯(cuò)為 (N-1)/2,所以備份數(shù)據(jù)一般都是用不到,但是鑒上次 gitlab 出現(xiàn)的問(wèn)題,對(duì)于備份數(shù)據(jù)也要非常重視。

官方文檔翻譯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • from http://www.infoq.com/cn/articles/etcd-interpretation...
    小樹(shù)苗苗閱讀 14,100評(píng)論 3 38
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來(lái)源:Linux社區(qū) 作...
    陽(yáng)屯okyepd閱讀 3,822評(píng)論 0 7
  • etcd簡(jiǎn)介 etcd是一個(gè)高可用的分布式鍵值(key-value)數(shù)據(jù)庫(kù)。etcd內(nèi)部采用raft協(xié)議作為一致性...
    Java面試官閱讀 20,237評(píng)論 1 6
  • 今天,是8月16日,我早上剛起來(lái),就知道了一個(gè)不好的消息:我的爺爺退休了! 我的爺爺本來(lái)是一名法醫(yī),但是,因?yàn)槟昙o(jì)...
    走走道瘋了閱讀 596評(píng)論 1 3
  • 姓名:趙麗萍 公司:寧波大發(fā)化纖有限公司 組別:第264期努力二組 【日精進(jìn)打卡第159天】 【知~學(xué)習(xí)】 《六項(xiàng)...
    zhaoliping閱讀 175評(píng)論 0 0

友情鏈接更多精彩內(nèi)容