[ClusterLabs] Custom RA for Multi-Tenant MySQL?

Andrei Borzenkov arvidjaar at gmail.com
Sun Apr 11 14:20:17 EDT 2021


On 11.04.2021 20:07, Eric Robinson wrote:
> We're writing a custom RA for a multi-tenant MySQL cluster that runs in active/standby mode. I've read the RA documentation about what exit codes should be returned for various outcomes, but something is still unclear to me.
> 
> We run multiple instances of MySQL from one filesystem, like this:
> 
> /app_root
>                 /mysql1
>                 /mysql2
>                 /mysql3
>                 ...etc.
> 
> The /app_root filesystem lives on a DRBD volume, which is only mounted on the active node.
> 
> When the RA performs a "start," "stop," or "monitor" action on the standby node, the filesystem is not mounted so the mysql instances are not present.

You are not supposed to do it in the first place. You are supposed to
have ordering constraint that starts MySQL instances after filesystem is
available.

> What should the return  codes for those actions be? Fail? Not installed? Unknown error?
> 

I believe that "not installed" is considered hard error and bans
resource from this node. As missing filesystem is probably transient it
does not look appropriate. There is no "fail" return code.

In any case return code depends on action. For monitor you obviously are
expected to return "not running" in this case. "stop" should probably
return success (after all, instance is not running, right?) And "start"
should return error indication, but it I am not sure what is better -
generic error or not running.



More information about the Users mailing list