Description:
In some scenarios, controller restart need user intervention, for instance, customer would like to promote a secondary server to the primary server and restart controller on it, or controller need manual recovery by user
Solution:
Applogic provide following approaches to promote a secondary server to the primary server, for instance, srvX, and restart controller on new primary server.
Approach 1: When controller is functional
ssh to controller, run "3t srv set srvX role=primary".
Approach 2: When controller is NOT-functional
ssh to one of secondary server srvX, run "server set srvX role=primary".
Before processing approach 2, it's highly recommended to perform following checks
[[email protected] ~]# 3tsrv sd get cluster { signature = "S20120503194810614887013849227" } volume boot --> streams of controller boot volume { mirrors { mirror v-ctl-boot: server = srv1, synced = 0 --> synced = 0 means boot volume mirror on srv1 has corrupted. to restart/recover controller, another stream mirror must be in good state mirror v-5eb2f325-7010-44f9-b72e-93964a6d17ef: server = srv2, synced = 1 --> synced = 1 means boot volume mirror on srv2 is good, can be used for controller restart } } volume meta --> mirror of controller boot meta { mirrors { mirror v-ctl-meta: server = srv1, synced = 1 mirror v-d752ff49-bbe0-43b9-a674-1d1547ec46ab: server = srv2, synced = 1 } } volume impex --> mirror of controller boot impex { mirrors { mirror v-ctl-impex: server = srv1, synced = 1 mirror v-b024c865-bca4-4c78-9e76-1325187a5ceb: server = srv2, synced = 1 } } server srv1: ha_role = primary --> srv1 is current primary server srv2: ha_role = secondary --> srv2 is one of secondary server server srv3: ha_role = secondary --> srv3 is the other secondary server