溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

[譯] Couchbase 使用 cbbackup 備份

發(fā)布時(shí)間:2020-07-12 09:53:27 來(lái)源:網(wǎng)絡(luò) 閱讀:2705 作者:oceanszf 欄目:關(guān)系型數(shù)據(jù)庫(kù)

cbbackup 工具 是一個(gè)靈活的備份命令,使您可以備份本地?cái)?shù)據(jù)和遠(yuǎn)程節(jié)點(diǎn)和涉及您的集群數(shù)據(jù)的不同組合:

單節(jié)點(diǎn)單buckets
單節(jié)點(diǎn)上所有buckets
整個(gè)群集上單個(gè)buckets
整個(gè)群集上所有buckets

備份可以在一個(gè)單獨(dú)的節(jié)點(diǎn)直接拷貝文件,也可以通過(guò)連接遠(yuǎn)程群集然后通過(guò)數(shù)據(jù)流的形式保存到備份位置。備份可以運(yùn)行在運(yùn)行的節(jié)點(diǎn)或集群或脫機(jī)節(jié)點(diǎn)上執(zhí)行。

cbbackup 命令可以以一種容易恢復(fù)的格式儲(chǔ)存數(shù)據(jù)。當(dāng)需要恢復(fù)的時(shí)候使用 cbrestore,你可以還原數(shù)據(jù)到任何配置的群集。源和目的群集不需要滿足你使用 cbbackup 命令時(shí)保存的信息。

cbbackup 命令將從源定義的每個(gè)項(xiàng)中拷貝數(shù)據(jù)到目的備份目錄。備份文件的格式是Couchbase所特有的并且能夠使你在打算將數(shù)據(jù)還原到群集時(shí)恢復(fù)所有或部分備份數(shù)據(jù)  。

可以選擇在一個(gè)關(guān)鍵上(通過(guò)正則表達(dá)式)或所有的數(shù)據(jù)存儲(chǔ)在一個(gè)特定的vbucket ID,您也可以選擇從一個(gè) bucket 中將源數(shù)據(jù)復(fù)制到這個(gè)群集中一個(gè)不同名字的 bucket 。

cbbackup 命令參數(shù)選項(xiàng):

cbbackup [options] [source] [backup_dir]

Note: cbbackup工具位于Couchbase標(biāo)準(zhǔn)命令行目錄。

要知道 cbbackup 不支持外部IP地址。如果你安裝了Couchbase服務(wù)器使用默認(rèn)的IP地址,不能使用外部主機(jī)訪問它。

接下來(lái)是 cbbackup 可選參數(shù):

下面選項(xiàng)是用來(lái)配置連接群集的用戶和密碼信息,備份類型和bucket 選項(xiàng)。

你可以使用一個(gè)或多個(gè)選項(xiàng)。主要的選項(xiàng)包括:

  • –single-node

  • 備份單節(jié)點(diǎn)


  • –bucket-source or -b

  • 備份特定名稱的 bucket

接下來(lái)是 cbbackup 的必選參數(shù):

數(shù)據(jù)源,本地?cái)?shù)據(jù)目錄參考或者是遠(yuǎn)程 節(jié)點(diǎn)/群集規(guī)范:

  • 本地目錄參考

  • 本地目錄規(guī)范是使用 couchstore-files 協(xié)議定義的 URL。舉個(gè)栗子:
    couchstore-files:///opt/couchbase/var/lib/couchbase/data/default

  • 使用這種方法,您只需在單個(gè)節(jié)點(diǎn)上備份指定 bucket 的數(shù)據(jù)。如果在群集上備份全部 bucket 數(shù)據(jù) 或是 備份單個(gè)節(jié)點(diǎn)上的所有數(shù)據(jù),這時(shí)你必須使用群集節(jié)點(diǎn)規(guī)范。這種方法在 bucket 中定義的設(shè)計(jì)文檔不支持。

  • 群集 節(jié)點(diǎn)

  • 這個(gè)一個(gè)節(jié)點(diǎn)或是群集中的一個(gè)節(jié)點(diǎn),將 URL 指定為一個(gè)節(jié)點(diǎn) 或是 群集 服務(wù)。

    舉個(gè)栗子:



  • http://HOST:8091
    
    // For distinction you can use the couchbase protocol prefix:
        couchbase://HOST:8091
    
    
    // The administrator and password can also be combined with both forms of the URL for authentication. 
    If you have named data buckets (other than the default bucket) that you want to backup, 
    specify an administrative name and password for the bucket:
    
        couchbase://Administrator:password@HOST:8091

其他選項(xiàng)的組合所提供的URL是否指的是整個(gè)群集、單節(jié)點(diǎn)、或者是一個(gè)單獨(dú)的bucket (節(jié)點(diǎn)或者是群集)。其中節(jié)點(diǎn)和群集可以使遠(yuǎn)程的也可以是本地的。這種方法也用于備份定義視圖和索引的設(shè)計(jì)文檔。

cbbackup [backup_dir] 參數(shù)是執(zhí)行 cbbackup 命令保存?zhèn)浞輸?shù)據(jù)的目錄。這必須是一個(gè)絕對(duì)明確的目錄,文件將直接存儲(chǔ)在特定的目錄;沒有額外的目錄結(jié)構(gòu)被創(chuàng)建用來(lái)區(qū)分備份數(shù)據(jù)不同組件。你所指定的那個(gè)備份目錄應(yīng)該是不存在的,或者是存在的空目錄。如果目錄不存在,它將被創(chuàng)建,但是如果父目錄已經(jīng)存在。備份目錄總是在本地節(jié)點(diǎn)創(chuàng)建,即使你正在備份的遠(yuǎn)程節(jié)點(diǎn)或是一個(gè)群集。備份文件存儲(chǔ)在本地指定的特定目錄中。備份可以運(yùn)行在一個(gè)正在運(yùn)行的集群中或是一個(gè)對(duì)應(yīng)ip的節(jié)點(diǎn)

使用這種基本結(jié)構(gòu),你可以從源集群中備份不同的數(shù)據(jù)組合。下面提供一些不同數(shù)據(jù)組合的例子:

備份所有節(jié)點(diǎn)上的所有bucket

備份整個(gè)群集的數(shù)據(jù)包含所有bucket、所有節(jié)點(diǎn)數(shù)據(jù):


cbbackup http://HOST:8091 /backups/backup-20120501 \ 
    -u Administrator -p password 
    [####################] 100.0% (231726/231718 msgs) 
bucket: default, msgs transferred... 
          : 
               total |     last | per sec 
    batch :     5298 |     5298 | 617.1 
    byte  : 10247683 | 10247683 | 1193705.5 
    msg   :   231726 |   231726 | 26992.7 
done 
    [####################] 100.0% (11458/11458 msgs) 
bucket: loggin, msgs transferred... 
          : 
               total |     last | per sec 
    batch :     5943 |     5943 | 15731.0 
    byte  : 11474121 | 11474121 | 30371673.5 
    msg   :       84 |       84 | 643701.2 
done

其他選項(xiàng)的組合所提供的URL是否指的是整個(gè)群集、單節(jié)點(diǎn)、或者是一個(gè)單獨(dú)的bucket (節(jié)點(diǎn)或者是群集)。其中節(jié)點(diǎn)和群集可以使遠(yuǎn)程的也可以是本地的。這種方法也用于備份定義視圖和索引的設(shè)計(jì)文檔。

cbbackup [backup_dir] 參數(shù)是執(zhí)行 cbbackup 命令保存?zhèn)浞輸?shù)據(jù)的目錄。這必須是一個(gè)絕對(duì)明確的目錄,文件將直接存儲(chǔ)在特定的目錄;沒有額外的目錄結(jié)構(gòu)被創(chuàng)建用來(lái)區(qū)分備份數(shù)據(jù)不同組件。你所指定的那個(gè)備份目錄應(yīng)該是不存在的,或者是存在的空目錄。如果目錄不存在,它將被創(chuàng)建,但是如果父目錄已經(jīng)存在。備份目錄總是在本地節(jié)點(diǎn)創(chuàng)建,即使你正在備份的遠(yuǎn)程節(jié)點(diǎn)或是一個(gè)群集。備份文件存儲(chǔ)在本地指定的特定目錄中。備份可以運(yùn)行在一個(gè)正在運(yùn)行的集群中或是一個(gè)對(duì)應(yīng)ip的節(jié)點(diǎn)

使用這種基本結(jié)構(gòu),你可以從源集群中備份不同的數(shù)據(jù)組合。下面提供一些不同數(shù)據(jù)組合的例子:

備份所有節(jié)點(diǎn)上的所有bucket

備份整個(gè)群集的數(shù)據(jù)包含所有bucket、所有節(jié)點(diǎn)數(shù)據(jù):

cbbackup http://HOST:8091 /backups/backup-20120501 \
      -u Administrator -p password \
      -b default
      [####################] 100.0% (231726/231718 msgs)
    bucket: default, msgs transferred...
           :                total |       last |    per sec
     batch :                 5294 |       5294 |      617.0
     byte  :             10247683 |   10247683 |  1194346.7
     msg   :               231726 |     231726 |    27007.2
    done

-b 選項(xiàng)用來(lái)指定你所想要備份的bucket. 如果bucket的名字是bucket,你必須提供管理員的賬號(hào)和密碼。如果你想要備份整個(gè)群集的數(shù)據(jù),你必須執(zhí)行對(duì)群集中每個(gè)bucket執(zhí)行相同的備份操作。

備份單個(gè)節(jié)點(diǎn) 所有bucket

備份單個(gè)節(jié)點(diǎn)所有bucket所有數(shù)據(jù):

cbbackup http://HOST:8091 /backups/backup-20120501 \
      -u Administrator -p password \
      --single-node

使用這種方法,數(shù)據(jù)源必須指定你想要備份的節(jié)點(diǎn)名稱。

使用這種方法備份真?zhèn)€群集的數(shù)據(jù),你應(yīng)該單獨(dú)的備份群集中的每個(gè)節(jié)點(diǎn)。

備份單個(gè)節(jié)點(diǎn) 單個(gè)bucket

在單個(gè)節(jié)點(diǎn)上備份單個(gè)bucket:

cbbackup http://HOST:8091 /backups/backup-20120501 \
      -u Administrator -p password \
      --single-node \
      -b default

使用這種方法,數(shù)據(jù)源必須指定你想要備份的節(jié)點(diǎn)名稱。

備份單個(gè)節(jié)點(diǎn),單個(gè)bucket; 備份文件存儲(chǔ)在同一臺(tái)節(jié)點(diǎn)

這里有兩種方法可以備份單個(gè)bucket 單個(gè)節(jié)點(diǎn),同時(shí)備份數(shù)據(jù)存儲(chǔ)在源數(shù)據(jù)節(jié)點(diǎn)。

需要指定節(jié)點(diǎn)名稱和數(shù)據(jù)備份路徑,舉個(gè)栗子:

ssh USER@HOST
    remote-> sudo su - couchbase
    remote-> cbbackup http://127.0.0.1:8091 /mnt/backup-20120501 \
      -u Administrator -p password \
      --single-node \
      -b default

使用這種方法,數(shù)據(jù)源必須指定你想要備份的節(jié)點(diǎn)名稱。

備份單個(gè)節(jié)點(diǎn),單個(gè)bucket; 備份文件存儲(chǔ)在同一臺(tái)節(jié)點(diǎn)

這里有兩種方法可以備份單個(gè)bucket 單個(gè)節(jié)點(diǎn),同時(shí)備份數(shù)據(jù)存儲(chǔ)在源數(shù)據(jù)節(jié)點(diǎn)。

需要指定節(jié)點(diǎn)名稱和數(shù)據(jù)備份路徑,舉個(gè)栗子:

ssh USER@HOST
    remote-> sudo su - couchbase
    remote-> cbbackup couchstore-files:///opt/couchbase/var/lib/couchbase/data/default /mnt/backup-20120501

使用這種方法備份整個(gè)群集數(shù)據(jù),你需要備份群集中每個(gè)節(jié)點(diǎn)每個(gè)bucket的數(shù)據(jù)。

注意: 選擇合適的備份解決方案取決于您的要求,和你期望數(shù)據(jù)恢復(fù)到集群方法。

在備份的時(shí)候過(guò)濾 Keys

cbbackup 支持過(guò)濾 keys 備份。 這將是一個(gè)很有用的功能,如果你想備份部分?jǐn)?shù)據(jù)或者是你想要將部分?jǐn)?shù)據(jù)遷到到不同的 bucket 中。

這種格式是以正則表達(dá)式的形式體現(xiàn),并在cbbackup工具中的客戶端進(jìn)行的。例如,從一個(gè)桶,該鍵有一個(gè)前綴對(duì)象的信息備份:

cbbackup http://HOST:8091 /backups/backup-20120501 \
  -u Administrator -p password \
  -b default \
  -k '^object.*'

上面的備份只是將正則匹配到的數(shù)據(jù)存儲(chǔ)到備份文件中了。當(dāng)數(shù)據(jù)備份了,只有記錄在備份文件的key恢復(fù)。

重要提示:

正則表達(dá)式匹配在客戶端執(zhí)行。這就意味著真?zhèn)€ bucket 的內(nèi)容 cbbackup 必須能夠訪問,如果不匹配數(shù)據(jù)將丟棄。

基于key的正則表達(dá)式同樣適用于恢復(fù)數(shù)據(jù)的時(shí)候。你可以備份真?zhèn)€bucket,在你使用cbrestore 恢復(fù)的時(shí)候選擇期望恢復(fù)的keys.

通過(guò)拷貝文件的形式進(jìn)行備份

您也可以備份數(shù)據(jù)通過(guò)使用cbbackup并指定其中數(shù)據(jù)存儲(chǔ)在本地目錄,

或者直接拷貝數(shù)據(jù)文件 比如:cp、tar …。

舉個(gè)例子

使用 cbbackup:

      cbbackup \
    couchstore-files:///opt/couchbase/var/lib/couchbase/data/default \
    /mnt/backup-20120501

使用 cp 命令實(shí)現(xiàn)同樣的備份效果 :

cp -R /opt/couchbase/var/lib/couchbase/data/default \
      /mnt/copy-20120501

使用這種方法備份書受限制的。在相同的集群配置中數(shù)據(jù)只能恢復(fù)到離線的節(jié)點(diǎn),要使其中相同的vBucket地圖運(yùn)作,

你也應(yīng)該CONFIG.DAT配置文件從每個(gè)節(jié)點(diǎn)復(fù)制。

父主題: Backup and restore


源文: backup-cbbackup

 License: Attribution-NonCommercial-ShareAlike 4.0 International
 本文出自 Suzf Blog。 如未注明,均為 SUZF.NET 原創(chuàng)。
 轉(zhuǎn)載請(qǐng)注明:http://suzf.net/thread-0823-1051.html

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI