2016-09-20 78 views
0

我想了解如何在Riak節點上正確備份Bitcask。我認爲Bitcask的優勢之一就是可以在節點運行時運行文件系統備份。查看官方文檔,它說在執行備份之前始終停止節點,即使在使用Bitcask後端時也是如此。使用tar,rsync的或CP運行節點的備份Riak Bitcask後端

  1. 副本bitcask目錄:

    我可以看到在做備份的3種方式,從更容易更復雜的排序。

  2. 節點運行時的快照文件系統。

  3. 停止節點,快照文件系統,啓動節點。

那麼,選項1是否能成功備份bitcask,否則會有數據丟失的風險?如果是這樣,選項2呢?

編輯如下。這是迴應克雷格的回答:

閱讀Bitcask「白皮書」它說有內置的壓縮​​邏輯。但是,我猜Riak可能會在其上添加自己的合併邏輯。

http://basho.com/wp-content/uploads/2015/05/bitcask-intro.pdf

此外,對於1.4.12了Riak官方文檔只說明該節點必須使用性LevelDB後端時,不Bitcask停止。當然,在2.0+版本中可能會發生變化。

http://docs.basho.com/riak/1.4.12/ops/running/backups/

而且也,閱讀最新的官方文檔中的Bitcask後端給我住的備份是可能的印象。

docs.basho.com/riak/kv/2.1.4/setup/planning/backend/bitcask/

如果節點應停止由於合併和壓實。在合併窗口之外的正在運行的節點上備份Bitcask或將合併策略設置爲永遠不會安全?

我理解文檔,但認爲關於Bitcask的一件簡單的事情就是實時備份,它與Riak的「高可用性」目標很好地吻合。但看起來情況並非如此。至少不再是。

回答

2

備份了Riak節點的最好的建議是在這裏:

http://docs.basho.com/riak/kv/2.1.4/using/cluster-operations/backing-up/

而正常Bitcask數據庫(不帶了Riak節點相關聯)可能是好的在線備份,所以建議你停止Riak節點:「防止由於Riak後端的後臺合併和壓縮流程而導致數據丟失。」換句話說,如果在節點運行時對節點進行快照,則很可能某些文件在快照上損壞。

正在進行的LevelDB後端將允許運行節點進行備份(並且一些組織已經使用他們自己的技術來完成它)。我不知道Bitcask後端會添加相同的功能。

+0

我已經更新了我的問題以迴應您的回答。 – Teslan

+0

特斯蘭,建議仍然在Riak的所有版本中,現在您停止節點執行備份,如備份Riak的鏈接中所述。 – Craig

+0

我會接受這種情況。希望它會在即將到來的版本中發生變化。 – Teslan