InfoboxCloudクラウドでのPostgreSQL Jelasticレプリケーションの有効化

レプリケーションは、データベースサーバーにとって重要なプロセスです。 1つのサーバーから複数の追加サーバーへのレプリケーションをセットアップすることにより、データ損失の可能性を大幅に減らすことができます。



この記事では、PostgreSQLクラスターのセットアップについて説明します。 Jelasticを使用すると、1つまたは複数のバックアップサーバーでクラスターを簡単に作成でき、プライマリサーバーに障害が発生した場合に基本的な操作を実行できます。 この場合、プライマリサーバーはアーカイブモードで動作し、バックアップサーバーはリカバリモードで動作し、プライマリサーバーのWAL(Write-Ahead Logging)トランザクションログからデータを読み取ります。



画像



プライマリサーバーに完全な障害が発生した場合、WALの内容は最小限の遅延でバックアップサーバーに転送されます。



今日の記事では、1つまたは複数のバックアップサーバーでPostgreSQLデータベースのレプリケーションを作成するプロセスについて説明します。 スタンバイデータベースは、読み取りモードでのみ使用されます。 これは、プライマリサーバーからバックアップに送信されるWALデータで利用可能な最速のレプリケーション方法です。



環境創造



最初のステップは、PostgreSQLデータベースで2つの同一の環境を作成することです。1つはメインデータベース用、もう1つはバックアップ用です。



1. Jelasticアカウントにログインし、「Create Environment」ボタンをクリックして、データベースとしてPostgreSQL 9を選択し、使用するクラウドレットの数を選択します。 次に、このベース(プライマリ)の環境名を指定します。



画像



Jelasticパネルで環境を作成すると、次が表示されます。



画像





2.次に、PostgreSQL 9で別の環境を作成するか、既存の環境を複製する必要があります。 これは、データストレージの安全性と信頼性を確保するために、別のノードにあるバックアップデータベースになります。



画像



したがって、PostgreSQLデータベースを使用した2つの同一の環境ができました。



注:既存のデータベースに対してレプリケーションが構成されている場合、レプリケーションを有効にする前に、ウィザードからバックアップサーバーにデータをコピーする必要があります。



レプリケーションのセットアップ



1.メインベースのノードで、 「構成」ボタンをクリックします



画像



confフォルダーに移動します。 ストリーミングレプリケーションを有効にするには、 postgresql.confファイルの次のパラメーターを変更します。



listen_address = '*'





wal_level = hot_standby





max_wal_senders = 3







画像



2.メインデータベース( confフォルダー内)のpg_hba.confファイルに移動し、バックアップサーバーへのアクセスを開きます。



host replication all {standby_ip_address}/32 trust







{standby_ip_adress}の代わりに、スタンバイスタンバイサーバーのアドレスを挿入する必要があります。 ここで見ることができます:



画像



内部IPアドレスのウィンドウが開きます:



画像



取得したものは次のとおりです。



画像



3.次に、バックアップデータベースノードのconfフォルダーを開き、 postgresql.confに移動してホットスタンバイモードを有効にします。 これにより、データを読み取るためのメインサーバーへの永続的な接続が保証されます。 この場合、バックアップサーバー自体はスタンバイ/コピーモードになります。



hot_standby = on







画像



4.次の行を含む、バックアップサーバーのconfフォルダー( postgresql.confおよびpg_hba.confと同じディレクトリ)にrecovery.confファイルを作成します。



standby_mode = 'on'





primary_conninfo = 'host={master_ip_address}'





{master_ip_address}は、マスターノードのIPアドレスです。



画像



5. 両方のノード(プライマリサーバーとバックアップサーバー)を再起動して、設定を適用します。



画像



何が起こったのか確認してください





1. phpPgAdminを介してメインデータベースにログインし(環境とデータベース自体の作成時に資格情報が送信されました)、新しいデータベースを作成します。



画像



画像



2.バックアップデータベースにログインし、メインデータベースのコピーが作成されているかどうかを確認します。 マスタークローンモードでスタンバイノードを作成した場合、パスワードをリセットしてノードにアクセスできます。 スタンバイモードがオンの場合、Webインターフェイスを介してスタンバイにアクセスできません。 recovery.confの名前をrecovery.conに変更して、レプリケーションが機能していることを確認します。 バックアップノードを再起動します。 これで、Webインターフェースを使用して、レプリケーションが機能し、habrahabrデータベースが表示されたことを確認できます。 その後、 recovery.conの名前をrecovery.confに戻し、バックアップノードを再起動することを忘れないでください。







いくつかの簡単な手順で、信頼できるデータベースクラスターを作成できます。



InfoboxCloudでJelasticプラットフォームを使用し頑張ってください!



All Articles