2016-09-20 14 views
0

RiakノードでBitcaskを正しくバックアップする方法を理解しようとしています。私は、Bitcaskの強みの1つが、ノードの実行中にファイルシステムのバックアップを実行する可能性があるという印象を受けました。公式の文書を見ると、Bitcaskバックエンドを使用しているときでも、バックアップを行う前にノードを常に停止するように指示されています。バックアップRiak Bitcaskバックエンド

私はより簡単に、より複雑な注文のバックアップを行うための3つの方法、見ることができます。tar、rsyncのか、CPを使用して実行しているノードの

  1. コピーbitcaskディレクトリを。

  2. ノードが実行中のスナップショットファイルシステム。

  3. 停止ノード、スナップショットファイルシステム、開始ノード。

したがって、オプション1はビットキャッシュをバックアップするか、データが失われる危険がありますか?もしそうなら、オプション2はどうですか?

下記のように編集してください。これはCraigの答えに対応しています:

Bitcaskの "ホワイトペーパー"を読んでいると、圧縮ロジックが組み込まれていると言われています。しかし、私はRiakがそれに加えて独自のマージロジックを追加するかもしれないと思います。

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

また、Riakに1.4.12のための公式ドキュメントはLevelDBバックエンドではなく、Bitcaskを使用した場合、ノードが停止しなければならないと述べています。もちろん、何かがriak 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/

ノードによりマージ及び圧縮を停止する必要がある場合。マージウィンドウ外の実行ノードやマージポリシーをneverに設定してBitcaskをバックアップするのはおそらく安全でしょうか?

私は、ドキュメントを理解しますが、Bitcaskについてきちんとしたものの一つは、ライブバックアップし、それが「高可用性」のRiakにの目標と一緒にうまくフィットと思いました。しかし、それはそうではないように見えます。少なくとももうこれ以上はない。

答えて

2

Riakにノードをバックアップするための最善のアドバイスはここにある:(Riakにノードに関連付けられていない)通常のBitcaskデータベースがオンラインバックアップでOKかもしれませんが

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

が、あなたが停止することをお勧めしますRiakノード:「Riakのバックエンドのバックグラウンド・マージおよび圧縮プロセスの結果としてのデータ損失を防止する」つまり、実行中にノードをスナップショットすると、ファイルの一部がスナップショットで破損する可能性が高くなります。

ノードをバックアップする実行している(と一部の組織はすでに、独自の技術でそれをやっている)ことができますLevelDBバックエンドで行われている作業があります。私は同じ機能がBitcaskバックエンドに追加されることは知らない。

+0

私はあなたの答えに答えて私の質問を更新しました。 – Teslan

+0

Teslanでは、Riakをバックアップするためのリンクに記載されているように、ノードを停止してバックアップを実行するように、Riakのすべてのバージョンで推奨されています。 – Craig

+0

私はそれを受け入れるでしょう。うまくいけば、それは次のバージョンで変更されるでしょう。 – Teslan

関連する問題