Re: automatic membership discovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Patrick,

> I'm interested in having corosync automatically accept members into the
> cluster without manual reconfiguration. Meaning that when I bring a new
> node online, I want to configure it for the existing nodes, and those
> nodes will automatically add the new node into their nodelist.
> From a purely technical standpoint, this doesn't seem like it would be
> hard to do. The only 2 things you have to do to add a node are add the
> nodelist.node.X.nodeid and ring0_addr to cmap. When the new node comes
> up, it starts sending out messages to the existing nodes. The ring0_addr
> can be discovered from the source address, and the nodeid is in the message.
> 

I need to think about this little deeper. It sounds like it may work,
but I'm not entirely sure.

> Going even further, when using the allow_downscale and last_man_standing
> features, we can automatically remove nodes from the cluster when they
> disappear. With last_man_standing, the quorum expected votes is
> automatically adjusted when a node is lost, so it makes no difference
> whether the node is offline, or removed. Then with the auto-join
> functionality, it'll automatically be added back in when it
> re-establishes communication.
> 
> It might then even be possible to write the cmap data out to a file when
> a node joins or leaves. This way if corosync restarts, and the
> corosync.conf hasn't been updated, the nodelist can be read from this
> save. If the save is out of date, and some nodes are unreachable, they
> would simply be removed, and added when they join.
> This wouldn't even have to be a part of corosync. Could have some
> external utility watch the cmap values, and take care of setting them
> when corosync is launched.
> 
> Ultimately this allows us to have a large scale dynamically sized
> cluster without having to edit the config of every node each time a node
> joins or leaves.
> 

Actually, this is exactly what pcs does.

> This really doesn't sound like it would be hard to do. I might even be
> willing to attempt implementing it myself if this sounds like something
> that would be acceptable to merge into the code base.
> Thoughts?
> 

Yes, but question is if it is really worth of it. I mean:
- With multicast you have FULLY dynamic membership
- PCS is able to distribute config file so adding new node to UDPU
cluster is easy

Do you see any use case where pcs or multicast doesn't work? (to
clarify. I'm not blaming your idea (actually I find it interesting) but
I'm trying to find out real killer use case for this feature which
implementation will take quite a lot time almost for sure).

Regards,
  Honza

> -Patrick
> 
> 
> 
> _______________________________________________
> discuss mailing list
> discuss@xxxxxxxxxxxx
> http://lists.corosync.org/mailman/listinfo/discuss
> 

_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss




[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux