Sun Mar 21 12:07:53 PDT 2010
- Previous message: [Slony1-general] A reality check
- Next message: [Slony1-general] A reality check
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, 21 Mar 2010, Philippe Clérié wrote: > So I cannot just restart Node1, restart Slony on both nodes and do MOVE SET? > > If I get the docs correctly, FAILOVER assumes the original node is not > coming back up. Actually it's up but I haven't reconnected it to the > internet pending a solution to the replication problem. Since you are restoring node 1 to a backup from three weeks ago you can't issue a move set. Slony won't have a complete record of the changes made to your database between your last backup (three weeks ago) and the time your server went down. You want to issue a failover command, then re-add node 1 to your cluster as a new node and have slony copy the data from node 2 to node 1 as part of the set subscription. Once node 1 is caught up you could use 'move set' to move the set from node 2 back to node 1 but you first have to use failover to make node 2 the provider and re add+subscribe node 1. Steve > > -- > > Philippe > > ------ > The trouble with common sense is that it is so uncommon. > <Anonymous> > > On Sunday 21 March 2010 11:15:00 Guillaume Lelarge wrote: >> Le 21/03/2010 15:37, Philippe Clérié a écrit : >>> I am trying to recover from a catastrophe and I am about to do >>> something new and I need some reassurance that it's the correct >>> procedure. >>> >>> I have a Slony replication set with two nodes in a master/slave >>> configuration, Postgresql 8.1, Slony 1.2.1 on Debian Etch. Node1 >>> (master) was taken out of commission (think a rm -rf * type error). >>> I've recovered from a previous backup that's about 3 weeks out of date, >>> but Node2 is up to date. I want Node2 to update Node1 and then I want >>> to go back to normal. >>> >>> If I understood correctly, according to the docs, the MOVE SET command >>> is the appropriate saviour. So I want to execute the following script >>> on Node1: >>> >>> cluster name = mycluster; >>> node 1 admin conninfo='host=xxxxxxx'; >>> node 2 admin conninfo='host=yyyyyyy'; >>> execute script ( >>> lock set (id = 1, origin = 1); >>> wait for event (origin = 1, confirmed = 2); >>> move set (id = 1, old origin = 1, new origin = 2); >>> wait for event (origin = 1, confirmed = 2); >>> ); >>> >>> Taken right out of the book. >> >> Nope, if Node 1 is unavailable, you should do a failover (and not a >> switchover). See failover slonik command >> (http://www.slony.info/documentation/stmtfailover.html). >> >>> I'll a reasonable amount of time (an hour should suffice), then again >>> on Node1 I would execute the same script but reversing the origins: >>> >>> cluster name = mycluster; >>> node 1 admin conninfo='host=xxxxxxx'; >>> node 2 admin conninfo='host=yyyyyyy'; >>> execute script ( >>> lock set (id = 1, origin = 2); >>> wait for event (origin = 2, confirmed = 1); >>> move set (id = 1, old origin = 2, new origin = 1); >>> wait for event (origin = 2, confirmed = 1); >>> ); >> >> This one is good. But you need to wait until they are synchronized. >> > _______________________________________________ > Slony1-general mailing list > Slony1-general at lists.slony.info > http://lists.slony.info/mailman/listinfo/slony1-general > >
- Previous message: [Slony1-general] A reality check
- Next message: [Slony1-general] A reality check
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list