gluster / glusterd2

[DEPRECATED] Glusterd2 is the distributed management framework to be used for GlusterFS.
GNU General Public License v2.0
167 stars 82 forks source link

Consider having etcd cluster not managed and controlled by glusterd #102

Closed prashanthpai closed 6 years ago

prashanthpai commented 8 years ago

Currently, the life-cycle of etcd idaemons are strictly coupled and controlled by glusterd2 process which makes the entire setup very fragile IMHO. Is it a good idea for glusterd2 to just use existing etcd cluster which is externally managed ?

atinmu commented 8 years ago

@prashanthpai - I did feel it at the time of writing it. In case the setup goes into a faulty state it might become very difficult to recover to sane state. We already have a roadmap to have external etcd integration support but default is considered to be gd2 controlling it. The only drawback I see here the ease of installation and forming the cluster with ease. Gluster's one of the core strength has been the ease in install and forming the cluster. Although I havent thought deep about it, I do have a feeling that you'd definitely need to perform few more additional steps here to setup a cluster. Can you sketch out a design on this and then we discuss this further?

prashanthpai commented 8 years ago

Sure. I still have to look into pros and cons of each approach after testing out the current implementation thoroughly especially around peer attach and detach functionalities.

prashanthpai commented 8 years ago

I went through the etcd official documentation on clustering architectures. AFAICT, this is what we need:

For all our development process:

For large production clusters:

workers == etcd proxies.

Some notes/thoughts:

@kshlm @atinmu What do you guys think ?

It'll be good if we can discuss about how each glusterd2 operation (peer add or remove, volume create etc) would look like w.r.t etcd interaction in an externally managed etcd cluster.

prashanthpai commented 7 years ago

Regardless of whether the deployment has etcd server embedded or is external, one thing is certain - not all gluster cluster nodes will be etcd cluster members. A small odd number will be part of consensus, the rest will only be etcd clients or proxies.

prashanthpai commented 6 years ago

Closing this. Elasticetcd supports external etcd instance.