Tue Feb 8 21:03:49 PST 2005
- Previous message: [Slony1-general] Adding a new subscriber to an existing Slony configuration
- Next message: [Slony1-general] master slone process crashes on updates
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
James Black <jfb at iparadigms.com> writes: > Hello, all, > > Slony 1.0.5, Pg 7.4.6, Linux x86. Growing load is forcing us to add a > new machine into our Slony master->slave configuration, and before I > start firing slonik commands off, I'd like to make sure that I > understand exactly what I will be doing. > > Assume that the master machine is node id #1, and the existing client, > id #2; in addition, master provides set #1, to which the client > subscribes. We will add the new machine in at node id #3. Also, the > client nodes will not have any contact with each other -- our > failover, for various reasons not related to Slony, is un-automatable > (sic.) > > 1. Copy the existing schema (sans the _${CLUSTER_NAME} namespace) to > the new machine; > > 2. run the following script on the master; > > NODE 3 ADMIN CONNINFO = '${SLAVE2_CONNINFO}'; > > STORE NODE (id = 3, comment = 'New slave node' ); > STORE PATH (server = 1, client = 3, conninfo = '${SLAVE2_CONNINFO}'; > STORE PATH (server = 3, client = 1, conninfo = '${MASTER_CONNINFO}'; > STORE LISTEN (origin = 1, receiver = 3); > SUBSCRIBE SET (id = 1, provider = 1, receiver = 3, forward = no); > > 3. start the slon daemon on the client machine; > 4. and stand back. > > Is this complete? Are there any caveats? This is not quite complete, as node 3 needs to be cognizant of node 2 as well as node 3. I'd be inclined to configure connectivity (e.g. - STORE PATH) between nodes 2 and 3, as well; that would probably introduce: STORE PATH (server = 2, client = 3, conninfo = '${SLAVE2_CONNINFO}'; STORE PATH (server = 3, client = 2, conninfo = '${SLAVE1_CONNINFO}'; You DEFINITELY need more STORE LISTEN entries, as events will definitely NOT propagate properly with this configuration. You need, at least: store listen (origin = 1, receiver = 3, provider = 1); store listen (origin = 3, receiver = 1, provider = 3); store listen (origin = 2, receiver = 3, provider = 1); # might be replaced; see below store listen (origin = 3, receiver = 2, provider = 1); # might be replaced; see below If you add the extra STORE PATHs I suggested, then replace the last two lines with... store listen (origin = 2, receiver = 3, provider = 2); store listen (origin = 3, receiver = 2, provider = 3); <http://linuxdatabases.info/info/listenpaths.html> > PS: I would be interested in contributing some of our experiences in > migrating from dbmirror to Slony to a documentation project; does > such a creature exist? I have collected all the docs I have been able to find and added them into Slony-I CVS in DocBook form. That's what is published at the URL below. I would be more than happy to add additional documentation in; if you are familiar with DocBook, then describing your experience in the form of a DocBook <ARTICLE> would probably be ideal. -- "cbbrowne","@","ca.afilias.info" <http://linuxdatabases.info/info/slony.html> Christopher Browne (416) 673-4124 (land)
- Previous message: [Slony1-general] Adding a new subscriber to an existing Slony configuration
- Next message: [Slony1-general] master slone process crashes on updates
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list