Is there any documentation on how to migrate the conscience to another node before taking down that node and ensure high-availability?
Moving a conscience service is possible, but this is not documented yet. Instead of waiting for the doc, I’ll give hints about it.
The pointer to the conscience is currently configured in system files related to your namespace, usually deployed in a
.ini like file at
/etc/oio/sds.conf.d/YOUR_NAMESPACE.conf. Check for something similar to this:
The configuration directive is only used by a service called oio-proxy, used as the gate to the metadata services. This oio-proxy acts like a local agent of the central conscience, holds its content in cache. So even if the conscience function is managed by a unique service, there is no SPoF with it.
Then, moving a conscience could consist in changing all those configuration file and tell the proxy to reload the configuration file. You also can safely shutdown and move a conscience service, because of the cache the proxy have.
But things could even be simpler if you already deployed a replicated conscience. In such a situation, you mesh your conscience services, and you configure a coma-separated list of addresses in your configuration file. Then the oio-proxy are able to load-balance their requests on the pool of conscience instances, and avoid a down service.
So if your goal is having HA, in addition of the conscience cache in each oio-proxy, you then have multiple references and your are free to turn a service down for maintenance purposes. This lets you a lot of time to alter the configurations, if the change is perennial.