EA(有償版)しか対応できません。数百GBを超えるデータサイズを想像してみてください。mongodumpやexport、ファイルコピーなどのような方法では恐ろしく時間が掛かり、通常のバックアップウィンドウに収まりません。Managerのバックアップは、クラスタ―との間で初期同期を一度を実行してから、継続的に差分を収集し、分刻みで同期を取っておきます。万が一、事故が起きた場合、日時分まで指定してポイントインリカバリが実行できます。Managerのオプションの一つであるバックアップ&リストアの実行方法をご紹介します。Advanced(EA、有償版)の管理ツールであり、クラスタ―のプロビジョニング、監視、バックアップ&リストア、既存クラスタ―のリーバースなどがすべてGUIで実行できます。Managerによるバックアッププロセスのフローは、次の図の通りです。構成要素や役割を理解することは、バックアップの構成設計やハードウェアの構成のためにとても重要です。Managerでの設定作業自体は、ウィザードに従って簡単に実行できます。Flowsバックアップエージェントバックアップエージェントは、クラスタ―のすべてのノードにインストールします。Service)に送り続けます。プライマリか、セカンダリのとちらかでOplogを取得するかは、バックアップ環境の設定に従います。databaseを経由でバックアップ媒体に初期スナップショットを取ります。Storeに蓄積します。Storeの実態はMongoDBです。Storeの正確なサイジングは困難ですが、大雑把に言うと「(1日のOplogの増加サイズの平均✖何日前までに遡ってポイントインリカバリを行うかの想定日数)+運用バッファを考慮したスペース」になります。Storeをクラスタ―にすべきかどうかよく聞かれます。MongoDBのクラスタ―構築・運用経験がない場合、運用ツールのために手作業でクラスタ―を構築するとは、残酷な話です。Manager側の設定を削除し再構築できます。オンサイトの内規とか縛りが無ければ、とりあえずスタンドアロンで検討してみてはいかがでしょうか。StoreのためのMongoDBのサブスクリプション購入は必要ありません。databaseに整合性の取れた完全なデータセット(MongoDB)を再現します。databaseからスナップショットを取ってバックアップ先に保存します。Serviceが管理しているので、MongoDBプロセスを気にする必要はなく、データベースファイルを格納するディレクトリを指定するだけで良いです。databaseは、MongoDBのクラスタ―のデータサイズとほぼ同等なサイズのストレージが必要です。圧縮方式がSnappyなので圧縮効果はあまり期待できません。database生成管理し、スケジュールに従ってスナップショットを実行します。リストアやポイントインリカバリを実行します。Managerのバックアップ方式は、スナップショットを格納する媒体の違いで3種類提供されています。バックアップ方式によって、ハードウェアの構成が大きく異なります。MongoDBに格納する方式(Blockstore)データベースのスナップショットをMongoDBに保存するタイプです。この方式を運用するためには、スタンドアロンのMongoDBか、クラスタ―が必要です。Snapshot)データベースのスナップショットをS3に保存する方式です。Store)データベースのスナップショットをSAN、NASなどのストレージに格納する方式です。バックアップ運用のためには、相応するハードウェアが構成されている必要があります。下記のリンクを参照してください。今回は、データベースのスナップショットをストレージに格納する方式をベースにしてバックアップ設定を説明します。この方式は、構成がシンプルというメリットがあります。Manager全体を1台のサーバーに構成しています。Store作成クラスタ―の差分データ(Oplog)を集めて保存するためのMongoDBです。Managerのレポジトリーデータベースとは競合しないようにしています。Store(MongoDB)を運用するサーバーにログインして作業を行います。Storeはサイズの見積が正確にできないので、本番ではストレージの割り当てに注意してください。Storeの設定で必要になります。控えておいてください。MongoDBプロセスを起動します。databaseを格納するディレクトリを作成します。本番運用では、クラスタ―のデータサイズに相応するストレージをマウントする必要があります。今回は、データベーススナップショット(バックアップ)をストレージに格納する方式です。スナップショットを保存するディレクトリを作成します。本番運用では、保存するスナップショットの数に比例するサイズのストレージをマウントする必要があります。/backup/snapshotバックアップ環境設定スタートバックアップ設定対象のプロジェクトを選択し、バックアップ設定を開始します。databaseを格納するディレクトリ(ストレージ)とバックアップデーモンのマッピングを行います。事前準備しておいたディレクトリを入力します。Daemonをクリックし、バックアップデーモンの設定を継続します。バックアップ環境の初期化バックアップ方式を選択します。Storeとして事前準備しておいたディレクトリを入力します。クラスタ―のOplogを一時的に保管する集めるバックアップDBを設定する。Store(MongoDB)の接続情報を設定します。Saveボタンを押すと、接続テストが行われます。一連の設定が正しければ、バックアップ環境が揃っている旨のメッセージが表示されます。これで環境は揃いました。バックアップオプションの設定スタート再び、バックアップメニューを表示します。バックアップのジョブ一覧が表示されているはずです。オプション(...)をクリックし、バックアップ設定を継続します。ここでは、Oplogをプライマリから取るか、セカンダリから取るかを設定します。特別な理由がなければ、セカンダリでいいです。バックアップジョブ設定の直後では、クラスタ―から既存のデータをすべて持ってくる作業が自動的に始まります。初期同期の完了すると、同期時刻が表示されます。この画面からはOplogの同期時刻も確認できます。最後にスナップショットの間隔、スナップショットの保存期間、ポイントインリカバリは何日まで遡りたいのかの日数、バックアップウィンドウ(バックアップを行うタイミング)などを設定します。Schedule)を選んでください。