您好,登錄后才能下訂單哦!
cbbackup 工具 是一個靈活的備份命令,使您可以備份本地數據和遠程節點和涉及您的集群數據的不同組合:
單節點單buckets
單節點上所有buckets
整個群集上單個buckets
整個群集上所有buckets
備份可以在一個單獨的節點直接拷貝文件,也可以通過連接遠程群集然后通過數據流的形式保存到備份位置。備份可以運行在運行的節點或集群或脫機節點上執行。
cbbackup 命令可以以一種容易恢復的格式儲存數據。當需要恢復的時候使用 cbrestore,你可以還原數據到任何配置的群集。源和目的群集不需要滿足你使用 cbbackup 命令時保存的信息。
cbbackup 命令將從源定義的每個項中拷貝數據到目的備份目錄。備份文件的格式是Couchbase所特有的并且能夠使你在打算將數據還原到群集時恢復所有或部分備份數據 。
可以選擇在一個關鍵上(通過正則表達式)或所有的數據存儲在一個特定的vbucket ID,您也可以選擇從一個 bucket 中將源數據復制到這個群集中一個不同名字的 bucket 。
cbbackup 命令參數選項:
cbbackup [options] [source] [backup_dir]
Note: cbbackup工具位于Couchbase標準命令行目錄。
要知道 cbbackup 不支持外部IP地址。如果你安裝了Couchbase服務器使用默認的IP地址,不能使用外部主機訪問它。
接下來是 cbbackup 可選參數:
下面選項是用來配置連接群集的用戶和密碼信息,備份類型和bucket 選項。
你可以使用一個或多個選項。主要的選項包括:
–single-node
備份單節點
–bucket-source or -b
備份特定名稱的 bucket
接下來是 cbbackup 的必選參數:
數據源,本地數據目錄參考或者是遠程 節點/群集規范:
本地目錄參考
本地目錄規范是使用 couchstore-files
協議定義的 URL。舉個栗子:
couchstore-files:///opt/couchbase/var/lib/couchbase/data/default
使用這種方法,您只需在單個節點上備份指定 bucket 的數據。如果在群集上備份全部 bucket 數據 或是 備份單個節點上的所有數據,這時你必須使用群集節點規范。這種方法在 bucket 中定義的設計文檔不支持。
群集 節點
這個一個節點或是群集中的一個節點,將 URL 指定為一個節點 或是 群集 服務。
舉個栗子:
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
其他選項的組合所提供的URL是否指的是整個群集、單節點、或者是一個單獨的bucket (節點或者是群集)。其中節點和群集可以使遠程的也可以是本地的。這種方法也用于備份定義視圖和索引的設計文檔。
cbbackup [backup_dir] 參數是執行 cbbackup 命令保存備份數據的目錄。這必須是一個絕對明確的目錄,文件將直接存儲在特定的目錄;沒有額外的目錄結構被創建用來區分備份數據不同組件。你所指定的那個備份目錄應該是不存在的,或者是存在的空目錄。如果目錄不存在,它將被創建,但是如果父目錄已經存在。備份目錄總是在本地節點創建,即使你正在備份的遠程節點或是一個群集。備份文件存儲在本地指定的特定目錄中。備份可以運行在一個正在運行的集群中或是一個對應ip的節點
使用這種基本結構,你可以從源集群中備份不同的數據組合。下面提供一些不同數據組合的例子:
備份整個群集的數據包含所有bucket、所有節點數據:
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
其他選項的組合所提供的URL是否指的是整個群集、單節點、或者是一個單獨的bucket (節點或者是群集)。其中節點和群集可以使遠程的也可以是本地的。這種方法也用于備份定義視圖和索引的設計文檔。
cbbackup [backup_dir] 參數是執行 cbbackup 命令保存備份數據的目錄。這必須是一個絕對明確的目錄,文件將直接存儲在特定的目錄;沒有額外的目錄結構被創建用來區分備份數據不同組件。你所指定的那個備份目錄應該是不存在的,或者是存在的空目錄。如果目錄不存在,它將被創建,但是如果父目錄已經存在。備份目錄總是在本地節點創建,即使你正在備份的遠程節點或是一個群集。備份文件存儲在本地指定的特定目錄中。備份可以運行在一個正在運行的集群中或是一個對應ip的節點
使用這種基本結構,你可以從源集群中備份不同的數據組合。下面提供一些不同數據組合的例子:
備份整個群集的數據包含所有bucket、所有節點數據:
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 選項用來指定你所想要備份的bucket. 如果bucket的名字是bucket,你必須提供管理員的賬號和密碼。如果你想要備份整個群集的數據,你必須執行對群集中每個bucket執行相同的備份操作。
備份單個節點所有bucket所有數據:
cbbackup http://HOST:8091 /backups/backup-20120501 \ -u Administrator -p password \ --single-node
使用這種方法,數據源必須指定你想要備份的節點名稱。
使用這種方法備份真個群集的數據,你應該單獨的備份群集中的每個節點。
在單個節點上備份單個bucket:
cbbackup http://HOST:8091 /backups/backup-20120501 \ -u Administrator -p password \ --single-node \ -b default
使用這種方法,數據源必須指定你想要備份的節點名稱。
這里有兩種方法可以備份單個bucket 單個節點,同時備份數據存儲在源數據節點。
需要指定節點名稱和數據備份路徑,舉個栗子:
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
使用這種方法,數據源必須指定你想要備份的節點名稱。
備份單個節點,單個bucket; 備份文件存儲在同一臺節點
這里有兩種方法可以備份單個bucket 單個節點,同時備份數據存儲在源數據節點。
需要指定節點名稱和數據備份路徑,舉個栗子:
ssh USER@HOST remote-> sudo su - couchbase remote-> cbbackup couchstore-files:///opt/couchbase/var/lib/couchbase/data/default /mnt/backup-20120501
使用這種方法備份整個群集數據,你需要備份群集中每個節點每個bucket的數據。
注意: 選擇合適的備份解決方案取決于您的要求,和你期望數據恢復到集群方法。
cbbackup 支持過濾 keys 備份。 這將是一個很有用的功能,如果你想備份部分數據或者是你想要將部分數據遷到到不同的 bucket 中。
這種格式是以正則表達式的形式體現,并在cbbackup工具中的客戶端進行的。例如,從一個桶,該鍵有一個前綴對象的信息備份:
cbbackup http://HOST:8091 /backups/backup-20120501 \ -u Administrator -p password \ -b default \ -k '^object.*'
上面的備份只是將正則匹配到的數據存儲到備份文件中了。當數據備份了,只有記錄在備份文件的key恢復。
重要提示:
正則表達式匹配在客戶端執行。這就意味著真個 bucket 的內容 cbbackup 必須能夠訪問,如果不匹配數據將丟棄。
基于key的正則表達式同樣適用于恢復數據的時候。你可以備份真個bucket,在你使用cbrestore 恢復的時候選擇期望恢復的keys.
您也可以備份數據通過使用cbbackup并指定其中數據存儲在本地目錄,
或者直接拷貝數據文件 比如:cp、tar …。
舉個例子
使用 cbbackup:
cbbackup \ couchstore-files:///opt/couchbase/var/lib/couchbase/data/default \ /mnt/backup-20120501
使用 cp 命令實現同樣的備份效果 :
cp -R /opt/couchbase/var/lib/couchbase/data/default \ /mnt/copy-20120501
使用這種方法備份書受限制的。在相同的集群配置中數據只能恢復到離線的節點,要使其中相同的vBucket地圖運作,
你也應該CONFIG.DAT配置文件從每個節點復制。
父主題: Backup and restore
源文: backup-cbbackup
License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均為 SUZF.NET 原創。
轉載請注明:http://suzf.net/thread-0823-1051.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。