チュートリアル-シンプルなフェールオーバーマネージャークラスターの構成¶
このチュートリアルでは、|variable_prod_name|の迅速な設定について説明しますテスト環境のクラスター。このガイドの他のセクションでは、|variable_prod_name|を構成する前に読んで理解しておくべき重要な情報を提供しています。本番デプロイメント用。
このチュートリアルでは、次のことを前提としています。
データベースサーバーが実行中で、マスターと1つまたは2つのスタンバイノードの間にストリーミングレプリケーションが設定されています。
|variable_prod_name|をインストールしました各ノード。
次の例では、 efm という名前のクラスターを作成します。
構成プロセスは、マスターノードまたはスタンバイノードで開始する必要があります。次に、構成ファイルを他のノードにコピーして、時間を節約します。
ステップ1:動作する構成ファイルを作成する
提供されているサンプルファイルをコピーしてEFM構成ファイルを作成し、所有権を修正します。
cd /etc/edb/efm-|variable_prod_version|
cp efm.properties.in efm.properties
cp efm.nodes.in efm.nodes
chown efm:efm efm.properties
chown efm:efm efm.nodes
ステップ2:暗号化されたパスワードを作成する
暗号化されたパスワードを作成します(プロパティファイルに必要)。
/usr/edb/efm-|variable_prod_version|/bin/efm encrypt efm
画面の指示に従って、データベースパスワードの暗号化されたバージョンを生成します。
ステップ3:efm.propertiesファイルを更新する
efm.properties ファイルには、|variable_prod_name|の接続プロパティと動作を指定するパラメーターが含まれています集まる。プロパティ設定の変更は、フェイルオーバーマネージャーの起動時に適用されます。
次のプロパティは、|variable_prod_name|を構成するために必要な最小限のプロパティです。集まる。本番システムを設定している場合は、 :doc:`クラスタプロパティファイルをご覧ください。<cluster_properties>`プロパティの完全なリストについては。
データベース接続プロパティ(必要に応じて他のデータベースに接続できるように、ウィットネスでも必要):
db.user
db.password.encrypted
db.port
db.database
データディレクトリの所有者(通常はpostgresまたはenterprisedb):
db.service.owner
EFM uses the db.service.name and db.bin properties when restarting the
server. The service name provided with the db.service.name property is used
when restarting the server with service or systemctl; the value you provide in the
db.bin property (the path to the Postgres bin directory), will be used for calls
to pg_ctl. Please note that db.bin is a required field. db.service.name is
required if you are running the database as a service.
db.service.name
db.bin
EFMが recovery.conf ファイルまたは standby.signal ファイルを検索または作成するデータディレクトリ:
db.data.dir
電子メール通知を受信するように設定します(通知テキストはエージェントログにも含まれます)。
user.email
これは、EFMに使用するノードとポートのローカルアドレスです。他のノードはこのアドレスを使用してエージェントに到達し、エージェントはこのアドレスを使用して(localhostに接続するのではなく)ローカルデータベースに接続します。フォーマットの例を以下に示します。
bind.address=1.2.3.4:7800
監視ノードではこのプロパティを true に設定し、マスターまたはスタンバイの場合は false に設定します:
is.witness
インターネットにアクセスできないネットワーク上で実行している場合は、これをネットワークで使用可能なアドレスに変更します。
ping.server.ip=8.8.8.8
実稼働クラスターを構成する場合、システムの構成と使用法に応じて、以下のプロパティーがtrueまたはfalseになる可能性があります。EFMテストクラスターを構成している場合は、両方をtrueに設定して起動を簡略化します。
auto.allow.hosts=true
stable.nodes.file=true
ステップ4:efm.nodesファイルを更新する
起動時に efm.nodes ファイルが読み込まれ、残りのクラスターを見つける方法がエージェントに通知されます。最初のノードが起動された場合は、後続のノードの認証を簡素化するために使用できます。
クラスター内の各ノードのアドレスとポートをこのファイルに追加します。1つのノードがメンバーシップコーディネーターとして機能します。リストには、少なくともメンバーシップコーディネーターのアドレスを含める必要があります。例えば:
1.2.3.4:7800
1.2.3.5:7800
1.2.3.6:7800
Please note that the |variable_prod_name| agent will not verify the content
of the efm.nodes file; the agent expects that some of the addresses in
the file cannot be reached (e.g. that another agent hasn’t been started
yet). For more information about the efm.nodes file,
see The Cluster Members File
ステップ5:他のノードを構成する
Copy the efm.properties and efm.nodes files to the /etc/edb/efm-3.10
directory on the other nodes in your sample cluster. After copying the
files, change the file ownership so the files are owned by efm:efm. The
efm.properties file can be the same on every node, except for the
following properties:
ノードのローカルアドレスを使用するように
bind.addressプロパティを変更します。ノードが監視ノードの場合、
is.witnessをtrueに設定します。ノードが監視ノードの場合、ローカルデータベースのインストールに関連するプロパティは無視されます。
ステップ6:EFMクラスターを開始する
任意のノードで、|variable_prod_name|を開始しますエージェント。エージェントの名前は edb-efm-3.10 です。プラットフォーム固有のserviceコマンドを使用して、サービスを制御できます。たとえば、RHEL/CentOS7.xまたはRHEL/CentOS8.xホストでは、次のコマンドを使用します。
systemctl start edb-efm-|variable_prod_version|
CentOSまたはRHEL6.xホストでは、次のコマンドを使用します。
service edb-efm-|variable_prod_version| start
エージェントが起動したら、次のコマンドを実行して、単一ノードクラスターのステータスを確認します。[許可されたノードのホスト]リストに他のノードのアドレスが表示されます。
/usr/edb/efm-|variable_prod_version|/bin/efm cluster-status efm
他のノードでエージェントを起動します。任意のノードで efm cluster-status efm コマンドを実行して、クラスターのステータスを確認します。
起動に失敗したエージェントがある場合は、起動ログで問題の原因を確認してください。
cat /var/log/efm-|variable_prod_version|/startup-efm.log
スイッチオーバーの実行
クラスタステータス出力にマスターとスタンバイが同期していることが示されている場合は、次のコマンドでスイッチオーバーを実行できます。
/usr/edb/efm-|variable_prod_version|/bin/efm promote efm -switchover
このコマンドはスタンバイを昇格させ、マスターデータベースをクラスター内の新しいスタンバイとして再構成します。元に戻すには、コマンドを再度実行します。
ヘルプにすばやくアクセスするには、次のコマンドを呼び出します。
/usr/edb/efm-|variable_prod_version|/bin/efm --help
efmコマンドラインツールの使用の詳細については、`` EFMユーティリティの使用``を参照してください。。