Mantis - Resin
Viewing Issue Advanced Details
1294 minor always 08-16-06 13:53 06-18-07 15:37
sam  
ferg  
high  
closed 3.0.21  
fixed  
none    
none 3.1.2  
0001294: cluster group size or cluster partition
(feature requested by R Dredge)

Resin chooses a backup server from one of the 7 servers that follow the primary server in the resin.conf (and it wraps around the end, so the last srun will use one of the first 7).

It is necessary to allow the specification of which servers are used to backup the sessions, because if a machine that has more than one server running on it is taken down (thus taking down multiple servers) the sessions may be lost.

The way to plan for that is to structure the <srun> entries in
the resin.conf in a deliberate way.

If letters correspond to machines, and numbers to instances, then it should be structured according to this pattern:

<srun server-id="a1" ... />
<srun server-id="b1" ... />
<srun server-id="c1" ... />

<srun server-id="a2" ... />
<srun server-id="b2" ... />
<srun server-id="c2" ... />

<srun server-id="a3" ... />
<srun server-id="b3" ... />
<srun server-id="c3" ... />

In this scenario it is possible for the shutdown of 'a' to lose a session, i.e. a session could be assigned primary=a1, 1st-backup=a2, 2nd-backup=a3.

If the group-size could be configured as 3, then the problem could be avoided.

Another possible configuration mechanism for this is:

<partition id="a">
  <srun server-id="a1" ... />
  <srun server-id="a2" ... />
  <srun server-id="a3" ... />
</partition>

<partition id="b">
  <srun server-id="b1" ... />
  <srun server-id="b2" ... />
  <srun server-id="b3" ... />
</partition>

<partition id="c">
  <srun server-id="c1" ... />
  <srun server-id="c2" ... />
  <srun server-id="c3" ... />
</partition>

Which is more obvious from a users perspective. When choosing a backup server
for sessions, Resin will choose a server that is not in the same partition.

Administration console could allow operations to be performed on all of the servers in a partition, for example to indicate that only existing sessions should go to a certain partition.


Notes
(0002061)
ferg   
06-18-07 15:37   
server/01rb

Added &lt;machine> element as child of &lt;cluster> and parent of &lt;server>.