sql >> データベース >  >> RDS >> PostgreSQL

ClusterControlCLIを使用したPostgreSQLおよびTimescaleDBバックアップの復元

    データはおそらく企業で最も価値のある資産であるため、データが安全であり、障害が発生した場合に復元できることを確認する必要があります。バックアップは、ディザスタリカバリプラン(DRP)で安全に保つための基本的な方法であり、必要に応じてバックアップを復元する準備をする必要があるため、適切なバックアップ戦略には、バックアップが使用可能であることを確認するための復元テストが含まれます。 。

    このブログでは、強力なs9sツールを使用してClusterControlCLIからPostgreSQLとTimescaleDBのバックアップを復元する方法を説明します。

    ClusterControl CLI

    s9sとも呼ばれ、ClusterControlバージョン1.4.1で導入されたコマンドラインツールであり、ClusterControlシステムを使用してデータベースクラスターを操作、制御、および管理します。 ClusterControl CLIは、クラスター自動化の新しい扉を開き、Ansible、Puppet、Chefなどの既存のデプロイメント自動化ツールと簡単に統合できます。コマンドラインツールは、ClusterControlインストールでデフォルトで追加されたs9sと呼ばれるバイナリを実行することによって呼び出されます。

    詳細については、公式ドキュメントを参照するか、ヘルプパラメータを指定してs9sコマンドを実行することで確認できます。

    $ s9s --help
    
    Usage:
      s9s COMMAND [OPTION...]
    
    Where COMMAND is:
        account - to manage accounts on clusters.
          alarm - to manage alarms.
         backup - to view, create and restore database backups.
        cluster - to list and manipulate clusters.
     controller - to manage Cmon controllers.
            job - to view jobs.
    maintenance - to view and manipulate maintenance periods.
       metatype - to print metatype information.
           node - to handle nodes.
        process - to view processes running on nodes.
    replication - to monitor and control data replication.
         report - to manage reports.
         script - to manage and execute scripts.
         server - to manage hardware resources.
          sheet - to manage spreadsheets.
           user - to manage users.
    
    Generic options:
      -c, --controller=URL       The URL where the controller is found.
      --config-file=PATH         Specify the configuration file for the program.
      --help                     Show help message and exit.
      -P, --controller-port INT  The port of the controller.
      -p, --password=PASSWORD    The password for the Cmon user.
      --private-key-file=FILE    The name of the file for authentication.
      --rpc-tls                  Use TLS encryption to controller.
      -u, --cmon-user=USERNAME   The username on the Cmon system.
      -v, --verbose              Print more messages than normally.
      -V, --version              Print version information and exit.
    
    
    Formatting:
      --batch                    No colors, no human readable, pure data.
      --color=always|auto|never  Sets if colors should be used in the output.
      --date-format=FORMAT       The format of the dates printed.
      -l, --long                 Print the detailed list.
      --log-file=PATH            The path where the s9s client puts its logs.
      --no-header                Do not print headers.
      --only-ascii               Do not use UTF8 characters.
      --print-json               Print the sent/received JSon messages.
      --print-request            Print the sent JSon request message.
    
    
    Job related options:
      --job-tags=LIST            Set job tags when creating a new job.
      --log                      Wait and monitor job messages.
      --recurrence=CRONTABSTRING Timing information for recurring jobs.
      --schedule=DATE&TIME       Run the job at the specified time.
      --timeout=SECONDS          Timeout value for the entire job.
      --wait                     Wait until the job ends.

    また、s9sツールには、より詳細な情報を取得するための各コマンドのマニュアルページがあります。

    $ man s9s backup

    s9sとは何かがわかったので、それを使用してPostgreSQLまたはTimescaleDBのバックアップを復元する方法を見てみましょう。

    ClusterControlCLIを使用したバックアップの復元

    このジョブに使用する必要のあるツールは、s9sバックアップです。 ClusterControl CLIを使用してデータベースのバックアップを表示、作成、または復元するために使用されます。

    使用法

    s9sバックアップ{オプション}

    オプションは次のとおりです:

    −−restore Restores an existing backup.
    −−backup-id=ID The ID of the backup.
    −−cluster-id=ID The ID of the cluster.
    --verify                   Verify an existing backup on a test server.
    --test-server=HOSTNAME     Verify the backup by restoring on this server.
    -l, --long                 Print the detailed list.
    --wait                     Wait until the job ends.
    --log                      Wait and monitor job messages.
    クラスターID42のすべてのバックアップを一覧表示します:

    ここでは、バックアップを一覧表示するクラスターIDを指定する必要があります。このパラメーターを省略して、すべてのクラスターで作成されたバックアップを一覧表示できます。

    $ s9s backup --list \
    --cluster-id=42 \
    --long
    バックアップID22をクラスターID42に復元します:

    このためには、バックアップを復元するクラスターIDと、復元するバックアップIDを指定する必要があります。

    $ s9s backup --restore \
    --cluster-id=42 \
    --backup-id=22 \
    --wait
    作成されたバックアップの確認 バックアップIDで識別される特定のバックアップを検証するジョブを作成します。ジョブは、指定されたクラスターと同じ設定を使用してデータベースソフトウェアをテストサーバーにインストールし、このテストサーバーにバックアップを復元しようとします。バックアップが正常に復元された場合にのみ、ジョブはOKを返します。

    $ s9s backup --verify \
    --log \
    --backup-id=26 \
    --test-server=10.10.10.138 \
    --cluster-id=42

    すべてがうまくいった場合は、次のように表示されます。

    バックアップ26は正常に検証されました。

    結論

    ご覧のとおり、簡単なコマンドを実行するだけで、ClusterControl CLIを使用して簡単な方法でバックアップを確認、復元、さらには検証することができます。

    ClusterControl CLIとその使用法の詳細については、公式ドキュメントを参照してください。


    1. Android-すでに閉じられているオブジェクトを再度開こうとします:loaderManagerを使用してSQLiteQuery

    2. OracleInstantクライアントをPythoncx_OracleのDockerコンテナにインストールします

    3. ISNULLと=NULLの間に違いはありますか

    4. MySQL列挙型データ型と同等のSQLServer?