2016-06-01 6 views
0

からアマゾンEBSボリュームの復元しかし、私の実験に基づいて、2つのインスタンス インスタンス-1およびインスタンス2私は次を発見したでしょうスナップショット

最初のシナリオがある - 私は、スナップショットを作成しました を失敗しました。インスタンス1のデータボリュームに対して、そのスナップショットを使用して新しいボリュームを作成し、その新しいボリュームをInstance-2に接続/マウントしました。新しいボリュームをインスタンス-2にマウントした後で、そのボリューム内のデータを見ることはできません。

2番目のシナリオ - 成功 私はインスタンス-1からアンマウントデータ容量をしましたし、私はインスタンス-1のデータボリュームのスナップショットを作成し、私は/新しいボリュームを作成し、添付しましたそのスナップショットを使用してきました新しいボリュームをInstance-2にマウントしました。新しいボリュームをインスタンス-2にマウントした後、そのボリュームにデータが表示されます。

が、これは動作のスナップショットですか私が行方不明です何か

答えて

0

AWSは、前この理由のために、正確にスナップショットを取るにEBSボリュームのファイルシステムをアンマウント推奨しています。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html

ほとんどの(すべての)最新のOSでは、アプリケーションがファイルに書き込みを行って操作が成功したとしても、カーネルは実際にバッキングストアに書き込んでいない可能性があります。これは、スナップショットが作成されたときにファイルシステムに書き込んだり、ファイルやディレクトリ/フォルダを破壊したり、悪化したりする可能性があるため、仮想ストレージ上でスナップショットを撮るときに特に危険です。

+0

ご返信ありがとうございます。この場合、私は/ dataマウントポイントに保存したデータのポイントインタイムリカバリを実行できません。 EBSスナップショットをスケジュールする前に、キャッシュされたデータをEBSボリュームに書き込む方法がありますか。 – Suresh

+0

/dataに書き込むプロセスをすべて停止してマウントを解除する必要があります。 EBSのバックエンドには、OSがキャッシュしたデータを知る方法がないため、優れたスナップショットを確実に取得できる方法は他にありません。 –

0

スナップショットを作成する直前にアプリケーションを静止させ、スナップショットの開始直後にアプリケーションを解放することができます。たとえば、XFSファイルシステムの場合は、スナップショットを作成する直前とフリーズ解除直後にファイルシステムをフリーズすることができます。 Freezeは、ファイルに書き込まれなかったアプリケーションデータを処理することはできませんが、ファイルシステムのキャッシュをディスクにフラッシュします。 より良い解決策は、アプリケーションレベルでそれを行うことです。たとえば、フラッシュを実行します。&スナップショットを取得する直前にMySQLのdatabseseをロックし、直後にロックを解除します。

関連する問題