sql >> データベース >  >> NoSQL >> MongoDB

ClusterControl-高度なバックアップ管理-MongoDB

    適切なバックアップシステムがないと、災害復旧は完了しません。何か問題が発生した場合は、できれば最新のバックアップを使用してデータを復元できます。更新されていないデータの復元は避けたい場合があります。おそらく、古いバックアップでは欠落している情報がある可能性があります。これが、今日のほとんどのシステムで適切なバックアップ方法を使用することが重要である理由です。

    MongoDBは年々人気が高まっています。データベースの1つとしてMongoDBを使用し始めた企業はたくさんあります。機能の1つであり、MongoDBが人気がある理由は、その速度とMongoDBの拡張が容易なためです。 MongoDBは、ClusterControlでサポートされているデータベースの1つです。 ClusterControlを使用して、展開、インポート、スケーリング、さらにはバックアップを実行できます。このブログ投稿では、MongoDBレプリカセットとシャードクラスターの高度なバックアップ機能について説明します。

    MongoDBバックアップタイプ

    MongoDBは、論理バックアップと物理バックアップの両方をサポートしています。それに加えて、MongoDBはPoint In Time Recovery(PITR)もサポートしています。 3種類すべてのバックアップの違いを見てみましょう。

    論理バックアップ

    mongodump

    このユーティリティは、データベースのコンテンツのバイナリエクスポートを作成します。それだけでなく、mongodumpはmongodまたはmongosインスタンスからデータをエクスポートでき、スタンドアロン、レプリカセット、およびシャードクラスターデプロイメントからデータをエクスポートできます

    物理バックアップ

    NA

    MongoDBでの物理バックアップは、システムレベルでのみ実行できます。現時点では、ClusterControlで使用できる物理バックアップはありません。物理バックアップが機能する方法は、LVMまたはストレージアプライアンスにスナップショットを作成することです。

    PITR

    MongoDBのPerconaバックアップ

    MongoDBのPerconaバックアップは、すでに非推奨になっているmongodb_consistent_backupから継承され、置き換えられます。これは、MongoDBシャードクラスターとレプリカセットの両方で一貫したバックアップを実現するための分散型の影響の少ないソリューションです。このタイプのバックアップは論理的ですが、同時にPITRバックアップとして機能する可能性があります。

    これで、バックアップの種類の違いがわかりました。

    MongoDBバックアップ管理

    ClusterControlを使用すると、バックアップをリアルタイムで作成したり、希望のスケジュールでスケジュールしたりできます。言及する価値のあることの1つは、スケジュールを設定したい場合に備えて、ClusterControlはUTCタイムゾーンを使用することです。したがって、スケジュールが忙しくない時間に実行されるように、タイムゾーンに適した適切な時間を選択する必要があります。

    先に進んで、ClusterControlのバックアップ機能を使用してみましょう。それに加えて、バックアップをクラウドにアップロードするという高度な機能の1つについても確認します。 ClusterControl 1.9.0以降、MongoDBは、バックアップをお好みのクラウドストレージプロバイダーにアップロードできるクラウドアップロードをサポートしています。

    MongoDB論理バックアップ

    論理バックアップから始めましょう。クラウドへのバックアップをアップロードする機能を使用する前に、それをお好みのクラウドプロバイダーと統合する必要があります。この場合、AWSクラウドと統合します。 AWSとの完全な統合を行うには、次の手順に従います。

    • AWSアカウントのメールアドレスとパスワードを使用して、AWSアカウントのルートユーザーとしてAWSマネジメントコンソールにサインインします。

    • IAMダッシュボードページで、ナビゲーションバーでアカウント名を選択し、[マイセキュリティクレデンシャル]を選択します。

    • AWSアカウントのセキュリティクレデンシャルへのアクセスに関する警告が表示された場合は、[セキュリティクレデンシャルに進む]を選択します。

    • アクセスキー(アクセスキーIDとシークレットアクセスキー)セクションを展開します。

    • [新しいアクセスキーの作成]を選択します。次に、[キーファイルのダウンロード]を選択して、アクセスキーIDとシークレットアクセスキーをコンピューター上のファイルに保存します。ダイアログボックスを閉じた後は、この秘密のアクセスキーを再度取得することはできません。

    MongoDBクラスターの準備ができていると仮定して、バックアッププロセスを開始します。まず、MongoDBクラスター->バックアップ->バックアップの作成

    に移動します

    次のページで、暗号化を有効にするか、いいえ。暗号化の場合、ClusterControlはOpenSSLを使用して、AES-256CBCアルゴリズムを使用してバックアップを暗号化します。暗号化はバックアップノードで行われます。コントローラノードにバックアップを保存することを選択した場合、バックアップファイルはsocatまたはnetcatを介して暗号化された形式でストリーミングされます。暗号化は、利用できる高度なバックアップ機能の1つと見なされているため、この場合、このオプションを有効にします。このページでバックアップの保存期間を定義することもできます。この場合、デフォルト設定の31日を使用します。

    3ページ目で、クラウドプロバイダーのログインを指定する必要があります、バケットを選択/作成します。クラウドバックアップの保持を指定することもできます。デフォルト設定は180日です。

    [バックアップの作成]ボタンをクリックすると、ジョブが即座に開始されますデータベースのサイズによっては時間がかかります。同時に、バックアップはクラウドストレージ(AWS)にアップロードされます。バックアップが完了すると、次のように「キー」アイコンと「クラウド」アイコンが強調表示されることに気付くかもしれません。

    これでバックアップの準備ができたので、バックアップを復元するには、次の手順を実行します。とてもシンプルです。次のように、[復元]リンクをクリックして、復元ページの[完了]ボタンをクリックするだけです。

    MongoDBPITRバックアップ

    前述のように、Percona BackupforMongoDBはPITRバックアップタイプです。このバックアップタイプを使用する前に、すべてのMongoDBノード/インスタンスにエージェント(pbm-agent)をインストールする必要があります。その前に、すべてのノードにも共有ディレクトリをマウントする必要があります。始めましょう!

    まず、NFSサーバーを構成する必要があります。 NFSサーバーをインストールするには、任意の仮想マシンを選択またはデプロイする必要があります。この場合、NFSサーバーをClusterControlノード(Centos)にインストールします。

    [[email protected]〜]#dnf install nfs-utils

    NFSユーティリティをインストールしたら、サービスを開始して、システムの起動時に有効にすることができます。

    [[email protected]〜] ## systemctl start nfs-server.service

    [[email protected]〜] ## systemctl enable nfs-server.service

    [[email protected]〜] ## systemctl status nfs-server.service

    次のステップは、NFSクライアントがディレクトリにアクセスできるように/ etc/exportsファイルを構成することです。

    [[email protected]〜]#vi / etc / exports

    / mnt / backups 10.10.80.10(rw、sync、no_root_squash、no_subtree_check)

    データベースノードであるクライアントノードに、必要なNFSパッケージもインストールする必要があります。

    [[email protected]〜]#dnf install nfs-utils nfs4-acl-tools

    パッケージがインストールされると、ディレクトリを作成してマウントできます:

    [[email protected]〜]#mkdir -p / mnt / backups

    [[email protected]〜]#mount -t nfs 10.10.80.10:/ mnt / backups / mnt / backups

    pbm-agentをインストールするために、必ずすべてのデータベースノードにマウントしてください。すべてのノードにすでにNFSマウントされたディレクトリがあることを考慮して、ここでエージェントのインストールに進みます。 MongoDBクラスター->バックアップ->設定->Perconaバックアップ

    に移動します

    [Perconaバックアップのインストール]ボタンをクリックすると、次の画面が表示されます。 。ここでは、共有ディレクトリを指定する必要があります。繰り返しになりますが、ディレクトリがすべてのMongoDBノードにマウントされていることを確認してください。バックアップディレクトリを指定したら、[インストール]ボタンをクリックして、インストールが完了するのを待つことができます。

    正常にインストールされると、次のスクリーンショットのようになります。これで、バックアッププロセスを進めることができます:

    Percona Backupを使用してバックアップを作成するには、手順は簡単です。残念ながら、この方法を使用してバックアップを暗号化するオプションを使用することはできませんでした。この機能を使用してクラウドにアップロードするには、バックアップタイプを選択する前にオプションを有効にする必要があります。有効にしないと、バックアップはアップロードされません。 「percona-backup-mongodb」を選択すると、アップロード機能が表示されなくなります。

    2番目のページで、ローカル保持を指定できます:

    最後のページについては、次のようにクラウドの詳細と保持を指定できます。前の例では。復元プロセスは前の例と同じです。必要なのは、[復元]リンクをクリックして、復元ページの手順に従うことだけです。

    結論

    ClusterControlを使用すると、MongoDBバックアップを作成してクラウドにアップロードできます。クラウドへのアップロードは、クラウドプロバイダーへの統合が正常に行われたことを提供するClusterControl1.9.0以降に導入されたMongoDBの新機能および高度な機能の1つです。バックアップを保護したい場合は、ClusterControlを使用してバックアップを暗号化することもできます。


    1. 明示的に接続を閉じる必要がありますか?

    2. MongoDB-クエリとは異なり、インデックスを使用しません

    3. CDPプライベートクラウドベース7とCDH5の運用データベースのパフォーマンスの向上

    4. Mongooseを使用してObjectIdで検索しているドキュメントが見つかりません