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プラットフォームを使用し頑張ってください!

Source: https://habr.com/ru/post/J210218/


All Articles