</ div>
primary.shutdown.as.failureプロパティを使用して、プライマリノード上のFailover
Managerエージェントのシャットダウンを障害として扱います。このプロパティがtrueに設定されており、プライマリエージェントがシャットダウンされている場合、クラスターの残りの部分はシャットダウンを障害として扱います。これには、ノード全体のシャットダウンなど、エージェントの適切なシャットダウンが含まれます。この場合、タイムアウトプロパティは適用されません。エージェントが終了すると、クラスターの残りの部分にすぐに通知されます。エージェントが終了すると、クラスターの残りの部分は、エージェントに障害が発生した場合に発生する通常のフェイルオーバー手順を実行します。通常のフェイルオーバー手順には、プライマリデータベースへの接続の試行、VIPが使用可能な場合に到達可能かどうかの確認などが含まれます。
データベースに到達すると、エージェントのステータスを通知する通知が送信されます。
データベースに到達しない場合、フェイルオーバーが発生します。
# Treat a primary agent shutdown as an agent failure. This can be set
# to true to treat a primary agent shutdown as a failure situation.
# Caution should be used when using this feature, as it could
# cause an unwanted promotion in the case of performing primary
# database maintenance.
# Please see the user's guide for more information.
primary.shutdown.as.failure=false
primary.shutdown.as.failureプロパティは、プライマリノードの偶発的なシャットダウンなどの障害ではなく、ユーザエラーをキャッチするためのものです。ノードの適切なシャットダウンは、例プライマリデータベースのメンテナンスを実行するために、ユーザがプライマリフェールオーバーマネージャーエージェントを停止したかのように、クラスターの残りの部分に表示されます。
primary.shutdown.as.failureプロパティをtrueに設定した場合は、メンテナンスを実行するときに注意してください。
primary.shutdown.as.failureがtrueのときにプライマリデータベースのメンテナンスを実行するには、プライマリエージェントを停止し、プライマリエージェントが失敗したがデータベースがまだ実行されているという通知を受信するまで待ちます。その後、プライマリデータベースを停止しても安全です。または、stop-clusterコマンドを使用して、障害チェックを実行せずにすべてのエージェントを停止できます。
</ div>
update.physical.slots.periodプロパティを使用して、データベースバージョン12以降のスロットアドバンス頻度を定義します。
update.physical.slots.periodが正の整数値に設定されている場合、プライマリエージェントはupdate.physical.slots.period秒ごとに物理的レプリケーションスロットの現在のrestart_lsnを読み取り、pg_current_wal_lsnおよびprimary_slot_name(postgresql.confファイルで設定されている場合)でこの情報を送信しますスタンバイ。物理的スロットがまだ存在しない場合、このパラメータを正の整数値に設定するとスロットが作成され、これらのスロットのrestart_lsn parameterが更新されます。プロモーション不可のスタンバイでは、新しいスロットは作成されませんが、存在する場合は更新されます。
注:必要に応じて、現在のプライマリで設定されたものを含むすべてのスロット名は一意である必要があります。
# Period in seconds between having the primary agent update promotable
# standbys with physical replication slot information so that
# the cluster will continue to use replication slots after a failover.
# Set to zero to turn off.
update.physical.slots.period=0
</ div>
ping.server.ipプロパティを使用して、フェールオーバーマネージャーがネットワーク接続に問題がないことを確認するために使用できるサーバーのIPアドレスを指定します。
# This is the address of a well-known server that EFM can ping
# in an effort to determine network reachability issues. It
# might be the IP address of a nameserver within your corporate
# firewall or another server that *should* always be reachable
# via a 'ping' command from each of the EFM nodes.
#
# There are many reasons why this node might not be considered
# reachable: firewalls might be blocking the request, ICMP might
# be filtered out, etc.
#
# Do not use the IP address of any node in the EFM cluster
# (primary, standby, or witness) because this ping server is meant
# to provide an additional layer of information should the EFM
# nodes lose sight of each other.
#
# The installation default is Google's DNS server.
ping.server.ip=8.8.8.8
</ div>
ping.server.commandプロパティを使用して、ネットワーク接続のテストに使用するコマンドを指定します。
# This command will be used to test the reachability of certain
# nodes.
#
# Do not include an IP address or hostname on the end of
# this command - it will be added dynamically at runtime with the
# values contained in 'virtual.ip' and 'ping.server.ip'.
#
# Make sure this command returns reasonably quickly - test it
# from a shell command line first to make sure it works properly.
ping.server.command=/bin/ping -q -c3 -w5
</ div>
auto.allow.hostsプロパティを使用して、最初のnostartsの.nodesファイルで指定されたアドレスを使用して許可ホストリストを更新するようにサーバーに指示します。
auto.allow.hostsをtrueに設定してこのプロパティを有効にすると、クラスターのスタートアップが簡単になります。
# Have the first nostarts automatically add the addresses
# from its .nodes file to the allowed host list. This will make
# it faster to start the cluster when the initial set of hosts
# is already known.
auto.allow.hosts=false
</ div>
stable.nodes.fileプロパティを使用して、ノードがクラスターに参加または離脱するときにノードファイルを書き換えないようにサーバーに指示します。このプロパティは、IPアドレスが変更されないクラスターで最も役立ちます。
# When set to true, EFM will not rewrite the .nodes file whenever
# new nodes join or leave the cluster. This can help starting a
# cluster in the cases where it is expected for member addresses
# to be mostly static, and combined with 'auto.allow.hosts' makes
# startup easier when learning failover manager.
stable.nodes.file=false
</ div>
db.reuse.connection.countプロパティを使用すると、管理者は、フェールオーバーマネージャーが同じデータベースコネクションを再利用してデータベースの状態を確認する回数を指定できます。デフォルト値は0です。これは、Failover
Managerが毎回新しい接続を作成することを示します。このプロパティは、専用の監視ノードでは必要ありません。
# This property controls how many times a database connection is
# reused before creating a new one. If set to zero, a new
# connection will be created every time an agent pings its local
# database.
db.reuse.connection.count=0
</ div>
auto.failoverプロパティは、自動フェイルオーバーを有効にします。デフォルトでは、auto.failoverはtrueに設定されています。
# Whether or not failover will happen automatically when the primary
# fails. Set to false if you want to receive the failover notifications
# but not have EFM actually perform the failover steps.
# The value of this property must be the same across all agents.
auto.failover=true
</ div>
auto.reconfigureプロパティを使用して、プライマリスタンバイがプライマリに昇格した後、残りのスタンバイサーバの自動再構成を有効または無効にするようフェールオーバーマネージャーに指示します。プロパティをtrue(デフォルト)に設定して自動再構成を有効にするか、falseを自動再構成を無効にします。このプロパティは、専用の監視ノードでは必要ありません。
EDB Postgres Advanced
ServerまたはPostgreSQLバージョン11以前を使用している場合、recovery.confファイルは再構成プロセス中にバックアップされます。
# After a standby is promoted, Failover Manager will attempt to
# update the remaining standbys to use the new primary. For database
# versions before 12, Failover Manager will back up recovery.conf.
# Then it will change the host parameter of the primary_conninfo entry
# in recovery.conf or postgresql.auto.conf, and restart the database.
# The restart command is contained in either the efm_db_functions or
# efm_root_functions file; default when not running db as an os
# service is: "pg_ctl restart -m fast -w -t <timeout> -D <directory>"
# where the timeout is the local.timeout property value and the
# directory is specified by db.data.dir. To turn off
# automatic reconfiguration, set this property to false.
auto.reconfigure=true
!!! Note * primary_conninfoは、keyword =
valueペアのスペース区切りリストです。
</ div>
promotableプロパティを使用して、ノードをプロモートしないことを示します。プライマリエージェントの起動時には、promotableプロパティは無視されます。これにより、スイッチオーバーまたはフェイルオーバー後のオリジナルのプライマリへの切り替えが簡単になります。設定を上書きするには、ランタイムにefm set-priorityコマンドを使用します。
efm set-priorityコマンドの詳細については、Using the efm
utilityを参照してください。
# A standby with this set to false will not be added to the
# failover priority list, and so will not be available for
# promotion. The property will be used whenever an agent starts
# as a standby or resumes as a standby after being idle. After
# startup/resume, the node can still be added or removed from the
# priority list with the 'efm set-priority' command. This
# property is required for all non-witness nodes.
promotable=true
</ div>
同じ量のデータが複数のスタンバイノードに書き込まれ、フェイルオーバーが発生した場合、use.replay.tiebreakerの値により、Failover
Managerが代替プライマリを選択する方法が決まります。
use.replay.tiebreakerプロパティをtrueに設定して、ログシーケンス番号で決定されるように、リカバリから早く出るノードにフェイルオーバーするようにフェールオーバーマネージャーに指示します。ログシーケンス番号を無視し、ユーザ設定に基づいてノードをプロモートには、use.replay.tiebreakerをfalseに設定します。
# Use replay LSN value for tiebreaker when choosing a standby to
# promote before using failover priority. Set this property to true to
# consider replay location as more important than failover priority
# (as seen in cluster-status command) when choosing the "most ahead"
# standby to promote.
use.replay.tiebreaker=true
</ div>
standby.restart.delayプロパティを使用して、昇格後に新しいプライマリを追跡するためにスタンバイが再構成(stoppstarts)されるまでスタンバイする時間を秒単位で指定します。
# Time in seconds for this standby to delay restarting to follow the
# primary after a promotion. This can be used to have standbys restart
# at different times to increase availability. Caution should be used
# when using this feature, as a delayed standby will not be following
# the new primary and care must be taken that the new primary retains
# enough WAL for the standby to follow it.
# Please see the user's guide for more information.
standby.restart.delay=0
</ div>
application.nameプロパティを使用して、古いプライマリノードをスタンバイとして再起動する前に、primary_conninfoパラメータにコピーするアプリケーションの名前を指定できます。
# During a switchover, recovery settings are copied from a standby
# to the original primary. If the application.name property is set,
# Failover Manager will replace the application_name portion of the
# primary_conninfo entry with this property value before starting
# the original primary database as a standby. If this property is
# not set, Failover Manager will remove the parameter value
# from primary_conninfo.
application.name=
!!! Note *
プライマリおよびプロモーション可能なスタンバイでapplication.nameプロパティを設定します。フェイルオーバー/スイッチオーバーが発生したイベント、プライマリノードが再びスタンバイノードになる可能性があります。
</ div>
restore.commandプロパティを使用して、新しいプライマリが昇格したときにrestore_command値を更新するようにフェールオーバーマネージャーに指示します。
%hは、新しいプライマリのアドレスを表します。 Failover
Managerは、%hを新しいプライマリのアドレスに置き換えます。
%fおよび%pは、サーバーが使用するプレースホルダーです。プロパティが空白のままの場合、フェールオーバーマネージャーは、昇格後にスタンバイのrestore_command値を更新しません。
restore_commandの使用の詳細については、 PostgreSQLの文書を参照してください。
# If the restore_command on a standby restores directly from the
# primary node, use this property to have Failover Manager change
# the command when a new primary is promoted.
#
# Use the %h placeholder to represent the address of the new primary.
# During promotion it will be replaced with the address of the new
# primary.
#
# If not specified, failover manager will not change the
# restore_command value, if any, on standby nodes.
#
# Example:
# restore.command=scp <db service owner>@%h:/var/lib/edb/as12/data/archive/%f %p
restore.command=
</ div>
プライマリノードのデータベースパラメータsynchronous_standby_namesは、データの受信を保証してプライマリノードが書き込みトランザクションを受け入れることができるようにする同期的スタンバイサーバの名前と数を指定します。
reconfigure.num.syncプロパティがtrueに設定されている場合、フェールオーバーマネージャーは同期的スタンバイサーバの数を減らし、プライマリノードの構成を再読み込みして現在の値を反映します。
# Reduce num_sync when the number of synchronous standbys drops below
# the value required by the primary database. If set to true, Failover
# Manager will reduce the number of standbys needed in the primary's
# synchronous_standby_names property and reload the primary
# configuration. Failover Manager will not reduce the number below 1,
# taking the primary out of synchronous replication, unless the
# reconfigure.sync.primary property is also set to true.
# To raise num_sync, see the reconfigure.num.sync.max property below.
reconfigure.num.sync=false
!!! Note *
reconfigure.num.syncプロパティを使用している場合は、プライマリデータベースのwal_sender_timeoutの値がefm.node.timeoutの値より小さい設定されていることを確認してください。
</ div>
reconfigure.num.sync.maxプロパティを使用して、スタンバイがクラスターに追加されたときにnum-syncを上げることができる最大数を指定します。
# If reconfigure.num.sync is set to true and this property is set,
# Failover Manager will check if num_sync can be raised when a standby
# is added to the cluster.
# Failover Manager will not raise the value above the maximum set here.
# If the primary database has been taken out of synchronous mode
# completely (see the reconfigure.sync.primary property), then Failover
# Manager will not reconfigure the primary database if standbys are
# added to the cluster.
reconfigure.num.sync.max=
</ div>
reconfigure.sync.primaryプロパティをtrueに設定して、スタンバイノードの数が必要なレベルを下回った場合にプライマリデータベースを同期レプリケーションモードから解除します。
reconfigure.sync.primaryをfalseに設定して、同期レプリケーションを中断せずにスタンバイカウントが低下した場合に通知を送信します。
# Take the primary database out of synchronous replication mode when
# needed. If set to true, Failover Manager will clear the
# synchronous_standby_names configuration parameter on the primary
# if the number of synchronous standbys drops below the required
# level for the primary to accept writes.
# If set to false, Failover Manager will detect the situation but
# will only send a notification if the standby count drops below the
# required level.
#
# CAUTION: TAKING THE PRIMARY DATABASE OUT OF SYNCHRONOUS MODE MEANS
# THERE MAY ONLY BE ONE COPY OF DATA. DO NOT MAKE THIS CHANGE UNLESS
# YOU ARE SURE THIS IS OK.
reconfigure.sync.primary=false
!!! Note *
reconfigure.sync.primaryプロパティを使用している場合は、プライマリデータベースのwal_sender_timeoutの値がefm.node.timeoutの値より小さい設定されていることを保証してください。
</ div>
minimum.standbysプロパティを使用して、クラスターに保持するスタンバイノードの最小数を指定します。スタンバイカウントが指定された最小値まで低下した場合、プライマリノードの障害が発生してもレプリカノードは昇格されません。
# Instead of setting specific standbys as being unavailable for
# promotion, this property can be used to set a minimum number
# of standbys that will not be promoted. Set to one, for
# example, promotion will not happen if it will drop the number
# of standbys below this value. This property must be the same on
# each node.
minimum.standbys=0
</ div>
priority.standbysプロパティを使用して、このノードの昇格後のスタンバイの優先度を指定します。
# Space-separated list of standby addresses that are high priority for
# promotion when this node is the primary. If set, when this node is
# promoted, addresses in this list will be added to the front of the
# standby priority list. If this list contains addresses that are not
# standbys at the time of promotion, they will not be added.
priority.standbys=
</ div>
recovery.check.periodプロパティを使用して、フェールオーバーマネージャーがデータベースのリカバリ状態を確認する前に待機する秒数を指定します。
# Time in seconds between checks to see if a promoting database
# is out of recovery.
recovery.check.period=1
</ div>
restart.connection.timeoutプロパティを使用して、フェールオーバーマネージャーが新しく再構成されたプライマリノードまたはスタンバイノードへの接続を試行する秒数を指定し、そのノードのデータベースが接続を受け入れる準備をします。
# Time in seconds to keep trying to connect to a database after a
# start or restart command returns successfully but the database
# is not ready to accept connections yet (a rare occurance). This
# applies to standby databases that are restarted when being
# reconfigured for a new primary, and to primary databases that
# are stopped astarts as standbys during a switchover.
# This retry mechanism is unrelated to the auto.resume.period
# parameter.
restart.connection.timeout=60
</ div>
auto.resume.periodプロパティを使用して、エージェントがそのデータベースのモニタリングを再開しようとする秒数を指定します。このプロパティは、監視対象データベースが失敗し、エージェントがアイドル状態になった後、またはアイドルモードで起動したときに適用されます。
# Period in seconds for IDLE agents to try to resume monitoring
# after a database failure or when starting in IDLE mode. Set to
# 0 for agents to not try to resume (in which case the
# 'efm resume <cluster>' command is used after bringing a
# database back up).
auto.resume.period=0
</ div>
フェールオーバーマネージャーは、仮想IPを使用するクラスターのサポートを提供します。クラスターが仮想IPを使用する場合、virtual.ipプロパティにホスト名前またはIPアドレスを指定します。
virtual.ip.prefixプロパティで対応するプレフィックスを指定します。仮想IPサポートを無効にするには、virtual.ipのままにします。
virtual.ip.interfaceプロパティを使用して、VIPが使用するネットワークインタフェースを提供します。
指定された仮想IPアドレスは、クラスターのプライマリノードにのみ割り当てられます。
virtual.ip.single=trueを指定すると、フェイルオーバーが発生した場合に新しいプライマリで同じVIPアドレスが使用されます。
falseの値を指定して、クラスターの各ノードに一意のIPアドレスを提供します。
仮想IPアドレスの使用については、Using Failover Manager with virtual IP addressesを参照してください。
# These properties specify the IP and prefix length that will be
# remapped during failover. If you do not use a VIP as part of
# your failover solution, leave the virtual.ip property blank to
# disable Failover Manager support for VIP processing (assigning,
# releasing, testing reachability, etc).
#
# If you specify a VIP, the interface and prefix are required.
#
# If you specify a host name, it will be resolved to an IP address
# when acquiring or releasing the VIP. If the host name resolves
# to more than one IP address, there is no way to predict which
# address Failover Manager will use.
#
# By default, the virtual.ip and virtual.ip.prefix values must be
# the same across all agents. If you set virtual.ip.single to
# false, you can specify unique values for virtual.ip and
# virtual.ip.prefix on each node.
#
# If you are using an IPv4 address, the virtual.ip.interface value
# should not contain a secondary virtual ip id (do not include
# ":1", etc).
virtual.ip=
virtual.ip.interface=
virtual.ip.prefix=
virtual.ip.single=true
!!! Note * プライマリエージェントが起動し、ノードに現在VIPがない場合、Failover Managerエージェントはそれを取得します。プライマリエージェントを停止しても、ノードからVIPは削除されません。
</ div>
check.vip.before.promotionプロパティをfalseに設定して、フェールオーバーマネージャーが、VIPが使用中かどうかを確認してから、障害が発生した場合に新しいプライマリに割り当てるようにします。これにより、マルチプルのノードが同じVIPアドレスでブロードキャストする可能性があります。プライマリノードが分離されているか、別のプロセスでシャットダウンできない限り、このプロパティto trueを設定します。
# Whether to check if the VIP (when used) is still in use before
# promoting after a primary failure. Turning this off may allow
# the new primary to have the VIP even though another node is also
# broadcasting it. This should only be used in environments where
# it is known that the failed primary node will be isolated or
# shut down through other means.
check.vip.before.promotion=true
</ div>
pgpool.enableプロパティを使用して、高可用性のためにFailover
ManagerとPgpoolの統合を有効にするかどうかを指定します。非sudoモード(DB所有者として実行)でPgpool統合を有効にする場合、PCPPASSファイルはDB所有者のオペレーティングシステムユーザが所有する必要があり、ファイルのアクセス許可を600に設定する必要があります。
# A boolean property to enable Failover Manager managed Pgpool HA.
# If enabled, Failover Manager would natively update the joining
# and leaving status of database nodes to active pgpool instance.
# Failover manager expects properly configured and running pgpool
# instances on required nodes. It does not manage setup and
# configuration of pgpool on any node.
#
# By default the property is disabled.
pgpool.enable=false
以下のパラメーターを使用して、Pgpool統合に使用する値を指定します。
# Configurations required for pgpool integration.
# 'pcp.user' - User that would be invoking PCP commands
# 'pcp.host' - Virtual IP that would be used by pgpool. Same as
# pgpool parameter 'delegate_IP'
# 'pcp.port' - The port on which pgpool listens for pcp commands.
# 'pcp.pass.file' - Absolute path of PCPPASSFILE.
# 'pgpool.bin' - Absolute path of pgpool bin directory
# These properties are required if 'pgpool.enable' is set to true.
pcp.user=
pcp.host=
pcp.port=
pcp.pass.file=
pgpool.bin=
</ div>
次のプロパティを使用して、スイッチオーバーまたはプライマリ障害シナリオの場合にロードを再構成するスクリプトへの経路を提供します。スクリプトは、スタンバイ障害が発生したときにも呼び出されます。これらのプロパティを使用している場合、クラスターのすべてのノード(プライマリ、 スタンバイ、およびwitness)でそれらを保証し、データベースノードに障害が発生した場合、別のノードが障害ノードのアドレスでdetachスクリプトを呼び出すようにします。
Pgpoolをロードソリューションとして使用していて、Pgpool統合プロパティを設定している場合は、次のプロパティを設定する必要はありません。
ノードをロードに接続するときに呼び出すスクリプトを識別するために、script.load.balancer.attachプロパティにちなんで名前付けれたスクリプトを提供します。
script.load.balancer.detachプロパティを使用して、ロードからノードをデタッチするときに呼び出すスクリプトの名前を指定します。クラスターに接続または削除されるノードのIPアドレスを表す%hプレースホルダを含めます。文字列にap(プライマリノードの場合)またはs(スタンバイノードの場合)を含めるようにフェールオーバーマネージャーに指示するには、%tプレースホルダを含めます。
# Absolute path to load balancer scripts
# The attach script is called when a node should be attached to
# the load balancer, for example after a promotion. The detach
# script is called when a node should be removed, for example
# when a database has failed or is about to be stopped. Use %h to
# represent the IP/hostname of the node that is being
# attached/detached. Use %t to represent the type of node being
# attached or detached: the letter m will be passed in for primary nodes
# and the letter s for standby nodes.
#
# Example:
# script.load.balancer.attach=/somepath/attachscript %h %t
script.load.balancer.attach=
script.load.balancer.detach=
</ div>
detach.on.agent.failureプロパティを使用して、プライマリエージェントに障害が発生してもデータベースにアクセスできるシナリオで、ロードからノードを切り離したくないことを示します。デフォルト値はtrue.です
# If set to true, Failover Manager will detach the node from load
# balancer if the primary agent fails but the database is still
# reachable. In most scenarios this is NOT the desired situation. In
# scenarios where the detach script should run with a failed primary
# agent, even when the primary database is still healthy this parameter
# should be set to true. If no value specified it defaults to true (for
# backwards compatibility).
# This is not applicable for standbys.
detach.on.agent.failure=
</ div>
script.fenceプロパティは、スタンバイノードをプライマリノードに昇格するときに呼び出すオプショナルのユーザー指定スクリプトへのパスを指定します。
# absolute path to fencing script run during promotion
#
# This is an optional user-supplied script that will be run
# during failover on the standby database node. If left blank,
# no action will be taken. If specified, EFM will execute this
# script before promoting the standby.
#
# Parameters can be passed into this script for the failed primary
# and new primary node addresses. Use %p for new primary and %f
# for failed primary. On a node that has just been promoted, %p
# should be the same as the node's efm binding address.
#
# Example:
# script.fence=/somepath/myscript %p %f
#
# NOTE: FAILOVER WILL NOT OCCUR IF THIS SCRIPT RETURNS A NON-ZERO EXIT
# CODE.
script.fence=
</ div>
script.post.promotionプロパティを使用して、スタンバイノードがプライマリに昇格した後に呼び出すオプショナルのユーザー指定スクリプトへのパスを指定します。
# Absolute path to fencing script run after promotion
#
# This is an optional user-supplied script that will be run after
# failover on the standby node after it has been promoted and
# is no longer in recovery. The exit code from this script has
# no effect on failover manager, but will be included in a
# notification sent after the script executes.
#
# Parameters can be passed into this script for the failed primary
# and new primary node addresses. Use %p for new primary and %f
# for failed primary. On a node that has just been promoted, %p
# should be the same as the node's efm binding address.
#
# Example:
# script.post.promotion=/somepath/myscript %f %p
script.post.promotion=
</ div>
script.resumedプロパティを使用して、エージェントがデータベースのモニタリングを再開したときに呼び出すユーザー指定のスクリプトへのオプショナルのパスを指定します。
# Absolute path to resume script
#
# This script is run before an IDLE agent resumes
# monitoring its local database.
script.resumed=
</ div>
script.db.failureプロパティを使用して、監視するデータベースが失敗したことをエージェントが検出した場合にフェールオーバーマネージャーが呼び出すオプショナルのユーザー指定スクリプトへの完全なパスを指定します。
# Absolute path to script run after database failure
# This is an optional user-supplied script that will be run after
# an agent detects that its local database has failed.
script.db.failure=
</ div>
script.primary.isolatedプロパティを使用して、プライマリデータベースをモニタリングするエージェントが、プライマリがフェールオーバーマネージャークラスターの大部分から分離されていることを検出した場合に、フェールオーバーマネージャーが呼び出すオプショナルのユーザー指定スクリプトへの完全なパスを指定します。このスクリプトは、VIPがリリースされた直後に呼び出されます(VIPが使用中の場合)。
# Absolute path to script run on isolated primary
# This is an optional user-supplied script that will be run after
# a primary agent detects that it has been isolated from the
# majority of the efm cluster.
script.primary.isolated=
</ div>
script.remote.pre.promotionプロパティを使用して、ノードがデータベースをプライマリにプロモートしようとしているときに、プロモーションに関係しないエージェントノードで呼び出すスクリプトのパスと名前を指定します。
%pプレースホルダを含めて、新しいプライマリノードのアドレスを識別します。
# Absolute path to script invoked on non-promoting agent nodes
# before a promotion.
#
# This optional user-supplied script will be invoked on other
# agents when a node is about to promote its database. The exit
# code from this script has no effect on Failover Manager, but
# will be included in a notification sent after the script
# executes.
#
# Pass a parameter (%p) with the script to identify the new
# primary node address.
#
# Example:
# script.remote.pre.promotion=/path_name/script_name %p
script.remote.pre.promotion=
</ div>
script.remote.post.promotionプロパティを使用して、プロモーションの発生後に非プライマリノードで呼び出すスクリプトのパスと名前を指定します。
%pプレースホルダを含めて、新しいプライマリノードのアドレスを識別します。
# Absolute path to script invoked on non-primary agent nodes
# after a promotion.
#
# This optional user-supplied script will be invoked on nodes
# (except the new primary) after a promotion occurs. The exit code
# from this script has no effect on Failover Manager, but will be
# included in a notification sent after the script executes.
#
# Pass a parameter (%p) with the script to identify the new
# primary node address.
#
# Example:
# script.remote.post.promotion=/path_name/script_name %p
script.remote.post.promotion=
</ div>
script.custom.monitorプロパティを使用して、custom.monitor.intervalプロパティで秒単位で指定される定期的な間隔で呼び出すオプショナルのスクリプトの名前と場所を指定します。
custom.monitor.timeoutを使用して、スクリプトを実行する最大時間を指定します。指定した時間内にスクリプトの実行が終了しない場合、フェールオーバーマネージャーは通知を送信します。
custom.monitor.safe.modeをtrueに設定して、フェールオーバーマネージャーにスクリプトから非ゼロの終了コードをレポートするように指示しますが、終了コードの結果としてスタンバイをプロモートさせません。
# Absolute path to a custom monitoring script.
#
# Use script.custom.monitor to specify the location and name of
# an optional user-supplied script that will be invoked
# periodically to perform custom monitoring tasks. A non-zero
# exit value means that a check has failed; this will be treated
# as a database failure. On a primary node, script failure will
# cause a promotion. On a standby node script failure will
# generate a notification and the agent will become IDLE.
#
# The custom.monitor.\* properties are required if a custom
# monitoring script is specified:
#
# custom.monitor.interval is the time in seconds between executions
# of the script.
#
# custom.monitor.timeout is a timeout value in seconds for how
# long the script will be allowed to run. If script execution
# exceeds the specified time, the task will be stopped and a
# notification sent. Subsequent runs will continue.
#
# If custom.monitor.safe.mode is set to true, non-zero exit codes
# from the script will be reported but will not cause a promotion
# or be treated as a database failure. This allows testing of the
# script without affecting EFM.
#
script.custom.monitor=
custom.monitor.interval=
custom.monitor.timeout=
custom.monitor.safe.mode=
</ div>
sudo.commandプロパティを使用して、拡張アクセス許可が必要なタスクを実行するときに呼び出すフェールオーバーマネージャーのコマンドを指定します。このオプションを使用して、システム認証に固有のコマンドオプションを含めます。
sudo.user.commandプロパティを使用して、データベース所有者が実行したコマンドを実行するときに呼び出すフェールオーバーマネージャーのコマンドを指定します。
# Command to use in place of 'sudo' if desired when efm runs
# the efm_db_functions or efm_root_functions, or efm_address
# scripts.
# Sudo is used in the following ways by efm:
#
# sudo /usr/edb/efm-<version>/bin/efm_address <arguments>
# sudo /usr/edb/efm-<version>/bin/efm_root_functions <arguments>
# sudo -u <db service owner> /usr/edb/efm-<version>/bin/efm_db_functions <arguments>
#
# 'sudo' in the first two examples will be replaced by the value
# of the sudo.command property. 'sudo -u <db service owner>' will
# be replaced by the value of the sudo.user.command property.
# The '%u' field will be replaced with the db owner.
sudo.command=sudo
sudo.user.command=sudo -u %u
</ div>
lock.dirプロパティを使用して、Failover
Managerロックファイルの代替の場所を指定します。このファイルは、フェールオーバーマネージャーが、ノード上の単一クラスターに対してマルチプルの(潜在的に孤立した)エージェントを開始するのを防ぎます。
# Specify the directory of lock file on the node. Failover
# Manager creates a file named <cluster>.lock at this location to
# avoid starting multiple agents for same cluster. If the path
# does not exist, Failover Manager will attempt to create it. If
# not specified defaults to '/var/lock/efm-<version>'
lock.dir=
</ div>
log.dirプロパティを使用して、エージェントログファイルを書き込む場所を指定します。フェールオーバーマネージャーは、ディレクトリを作成しようとします。
# Specify the directory of agent logs on the node. If the path
# does not exist, Failover Manager will attempt to create it. If
# not specified defaults to '/var/log/efm-<version>'. (To store
# Failover Manager startup logs in a custom location, modify the
# path in the service script to point to an existing, writable
# directory.)
# If using a custom log directory, you must configure
# logrotate separately. Use 'man logrotate' for more information.
log.dir=
</ div>
Failover
ManagerホストでUDPまたはTCPプロトコルを有効にした後、syslogへのロギングを有効にできます。
syslog.protocolパラメータを使用してプロトコルタイプ(UDPまたはTCP)を指定し、syslog.portパラメータを使用してsyslogホストのリスナポートを指定します。
syslog.facility値を、エントリーを作成したプロセスの識別子として使用できます。
LOCAL0とLOCAL7の間の値を使用します。
# Syslog information. The syslog service must be listening on
# the port for the given protocol, which can be UDP or TCP.
# The facilities supported are LOCAL0 through LOCAL7.
syslog.host=localhost
syslog.port=514
syslog.protocol=UDP
syslog.facility=LOCAL1
</ div>
file.log.enabledおよびsyslog.enabledプロパティを使用して、実装するロギングのタイプを指定します。
file.log.enabledをtrueに設定して、ファイルへのロギングを有効にします。
UDPプロトコルまたはTCPプロトコルを有効にし、syslog.enabledをtrueに設定して、syslogへのロギングを有効にします。ファイルとsyslogの両方へのロギングを有効にできます。
# Which logging is enabled.
file.log.enabled=true
syslog.enabled=false
syslogロギングの構成の詳細については、Enabling syslog log file entriesを参照してください。
</ div>
jgroups.loglevelおよびefm.loglevelパラメーターを使用して、Failover
Managerによって記録される詳細レベルを指定します。デフォルト値はINFOです。ロギングの詳細については、Controlling
loggingを参照してください。
# Logging levels for JGroups and EFM.
# Valid values are: TRACE, DEBUG, INFO, WARN, ERROR
# Default value: INFO
# It is not necessary to increase these values unless debugging a
# specific issue. If nodes are not discovering each other at
# startup, increasing the jgroups level to DEBUG will show
# information about the TCP connection attempts that may help
# diagnose the connection failures.
jgroups.loglevel=INFO
efm.loglevel=INFO
</ div>
jvm.optionsプロパティを使用して、JVM関連の構成情報を渡します。デフォルト設定では、Failover
Managerエージェントが使用できるメモリ量を指定します。
# Extra information that will be passed to the JVM when starting
# the agent.
jvm.options=-Xmx128m
encrypting_database_password
</ div>