...Another brick in the HA wall
Hard to achieve:
If you don't have time, don't do auto failover (almost).
Really, do it. Do not think you are safe without it.
Will assimilate your resource...
Resistance is futile.
(T.N.: 'service' eq 'resource')
Datas available to the RA during the notify actions:
active => [ ],
inactive => [
{ rsc => 'pgsqld:2', uname => 'srv1' },
{ rsc => 'pgsqld:0', uname => 'srv2' },
{ rsc => 'pgsqld:1', uname => 'srv3' }
],
master => [ ],
slave => [ ],
promote => [ { rsc => 'pgsqld:0', uname => 'srv1' }],
demote => [ ],
start => [
{ rsc => 'pgsqld:0', uname => 'srv1' },
{ rsc => 'pgsqld:1', uname => 'srv3' },
{ rsc => 'pgsqld:2', uname => 'srv2' }
],
stop => [ ],
type => 'pre',
operation => 'promote'
The existing RA:
Two versions to catch them (almost) ALL!
Compare with historical pgsql
RA:
Encore?
Not done yet...
Promise, the last ones:
The following demos considers:
a really simple recovery.conf template file:
standby_mode = on
primary_conninfo = 'host=192.168.122.50 application_name=$(hostname -s)'
recovery_target_timeline = 'latest'
a monitor action every 15s
Transition: stop
-> start
Slave recover demo:
Transition: demote
-> stop
-> start
-> promote
Master recover demo:
Failover demo:
Controlled switchover demo: