2016-12-07 5 views
0

EC2では、停止して起動または再起動すると、一時ディスク上のデータが消去されます。一時ディスクにコミットログを保存していますか?

コミットログを一時ディスクに入れるのは良い考えですか?

インスタンスが再起動してコミットログを失った場合、どうなりますか? 私はすでに可用性ゾーンを認識しているNetworkTopologyStrategyを使用して、複製係数を2に設定しています。

アドバイスをお願いします

+1

を再起動「...または再起動...」を取得します*

される**正しくない**。エフェメラルディスクの内容は、再起動後も存続しますが、停止/開始はありません。インスタンスストア内のデータは、関連付けられたインスタンスの存続期間中しか存続しません。インスタンスが(意図的にまたは意図せずに)再起動した場合、インスタンスストア内のデータは維持されます。」*(http://docs.aws.amazon。 com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-lifetime) –

+0

しかし、リブートする前にインスタンスが停止していませんか? – simo

+0

いいえ。EC2インスタンスを再起動することは、control-alt-deleteを押すことに似ています。 EC2コンソールまたはAPI(SDKを含む)から再起動した場合でも、 'sudo reboot'を実行した場合でも、インスタンスは同じ物理ホストに残り、一時ディスクをそのまま保持します。インスタンスを停止するとAWSの物理ホストから削除され、再度起動すると、新しい物理ホストに展開され、EBSボリュームとネットワークインターフェイスは自動的に移動されますが、新しい空のエフェメラルディスクが使用されます。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle-differences –

答えて

1

コミットログは、C *の耐久性のある書き込みアーキテクチャの基本的な部分です。 Cassandra Write Pathを簡単に見てみると、すべての書き込みがmemtableとcommitlogに送られることがわかります。後者は、クラッシュから生き残るためのC *の方法です。コミットログをシステムクラッシュ時に消滅する一時ディスクに置くと、耐久性のある書き込みを破り、ノード上のデータを失うことになります。 RFは、ノード内のデータが復元されることを保証するのに役立ちますが、2番目のマシンがクラッシュする可能性があります。確かに、それは私が避けるだろうことだ、EC2の仮想マシンが* ...あまりにも頻繁に

+0

こちらのアドバイスをいただきありがとうございます。私はEBSを使用します – simo

+0

ストレージパフォーマンスコミットログには、データストレージに必要な高性能が必要ですか? – simo

+0

@simo小さな書き込みを使用する場合は、高性能IOPSワイズデバイスにcommitlogを配置することをお勧めします。それ以外の場合は普通のHDDです。 – xmas79

関連する問題