Exemplary methods, apparatuses, and systems include a first virtual infrastructure manager (VIM) determining that the first VIM is to be an active manager of a plurality of virtual machines running on a plurality of host devices and that a second VIM is to be a standby manager of the plurality of virtual machines. The first VIM selects a first host device from the plurality of host devices to serve as a passive witness node in arbitrating active and standby roles between the first VIM and second VIM. The first host device runs one or more virtual machines and is managed by the active manager. The first VIM selects a first host device by confirming that the first host device is available to each of the first VIM and the second VIM. The first VIM writes a file on the first host device indicating that the first VIM is the active manager.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method, comprising: determining, by a first virtual infrastructure manager (VIM), that the first VIM is to be an active manager of a plurality of virtual machines running on a plurality of host devices and that a second VIM is to be a standby manager of the plurality of virtual machines running on the plurality of host devices; selecting, by the first VIM, a first host device from the plurality of host devices to serve as a passive witness node in arbitrating active and standby roles between the first VIM and second VIM, wherein the passive witness node maintains a VIM identifier and session identifier for the active manager, wherein the first host device runs one or more virtual machines and is managed by the active manager, wherein the first host device is not the active manager, and wherein selecting the first host device includes determining that the first host device is available to both the first VIM and the second VIM comprising: the first VIM determining that the first host device is available to the first VIM, the first VIM providing an identification of the first host device to the second VIM, and the first VIM receiving confirmation from the second VIM that the first host device is available to the second VIM; and writing, by the first VIM, a first file on the first host device indicating that the first VIM is the active manager.
2. The computer-implemented method of claim 1 , further comprising: determining that the first host device is no longer available to the first VIM or the second VIM; selecting a second host device from the plurality of host devices to serve as the passive witness node in response to determining the first host device is no longer available; and writing a second file on the second host device indicating that the first VIM is the active manager.
3. The computer-implemented method of claim 1 , wherein the first file includes an identifier of the first VIM and a session identifier, the identifier indicating the active manager and the session identifier matching a copy of a current session value stored on each of the first VIM and the second VIM.
4. The computer-implemented method of claim 3 , further comprising: determining, by the first VIM, that the first VIM is unable to communicate with the second VIM; determining, by the first VIM, that the first file on the first host device includes the identifier of the first VIM; incrementing, by the first VIM, the current session value stored on the first VIM; and updating, by the first VIM, the session identifier of the first file to the incremented current session value.
5. The computer-implemented method of claim 4 , further comprising: reestablishing communication between the first VIM and the second VIM; and updating, by the second VIM, the copy of the current session value stored on the second VIM to the incremented current session value in response to reestablishing communication.
6. The computer-implemented method of claim 5 , wherein reestablishing communication between the first VIM and the second VIM includes copying VM management data stored on the first VIM to the second VIM.
7. The computer-implemented method of claim 3 , further comprising: determining, by the second VIM, that the second VIM is unable to communicate with the first VIM or that the first VIM is unable to continue as the active manager; determining, by the second VIM, that the first file on the first host device includes the identifier of the first VIM; determining, by the second VIM, that the second VIM is to be the active VIM; incrementing, by the second VIM, the copy of the current session value stored on the second VIM; and updating, by the second VIM, the session identifier of the first file to the incremented current session value and the identifier of the first VIM to the identifier of the second VIM.
8. The computer-implemented method of claim 7 , further comprising: reestablishing communication between the first VIM and the second VIM; and updating, by the first VIM, the copy of the current session value stored on the first VIM to the incremented current session value in response to reestablishing communication.
9. The computer-implemented method of claim 8 , wherein reestablishing communication between the first VIM and the second VIM includes copying VM management data stored on the second VIM to the first VIM.
10. A non-transitory computer-readable medium storing instructions, which when executed by a processing device, cause the processing device to perform a method comprising: determining, by a first virtual infrastructure manager (VIM), that the first VIM is to be an active manager of a plurality of virtual machines running on a plurality of host devices and that a second VIM is to be a standby manager of the plurality of virtual machines running on the plurality of host devices; selecting, by the first VIM, a first host device from the plurality of host devices to serve as a passive witness node in arbitrating active and standby roles between the first VIM and second VIM, wherein the passive witness node maintains a VIM identifier and session identifier for the active manager, wherein the first host device runs one or more virtual machines and is managed by the active manager, wherein the first host device is not the active manager, and wherein selecting the first host device includes determining that the first host device is available to both the first VIM and the second VIM comprising: the first VIM determining that the first host device is available to the first VIM, the first VIM providing an identification of the first host device to the second VIM, and the first VIM receiving confirmation from the second VIM that the first host device is available to the second VIM; and writing, by the first VIM, a first file on the first host device indicating that the first VIM is the active manager.
11. The non-transitory computer-readable medium of claim 10 , the method further comprising: determining that the first host device is no longer available to the first VIM or the second VIM; selecting a second host device from the plurality of host devices to serve as the passive witness node in response to determining the first host device is no longer available; and writing a second file on the second host device indicating that the first VIM is the active manager.
12. The non-transitory computer-readable medium of claim 10 , wherein the first file includes an identifier of the first VIM and a session identifier, the identifier indicating the active manager and the session identifier matching a copy of a current session value stored on each of the first VIM and the second VIM.
13. The non-transitory computer-readable medium of claim 12 , the method further comprising: determining, by the first VIM, that the first VIM is unable to communicate with the second VIM; determining, by the first VIM, that the first file on the first host device includes the identifier of the first VIM; incrementing, by the first VIM, the current session value stored on the first VIM; and updating, by the first VIM, the session identifier of the first file to the incremented current session value.
14. The non-transitory computer-readable medium of claim 13 , the method further comprising: reestablishing communication between the first VIM and the second VIM; and updating, by the second VIM, the copy of the current session value stored on the second VIM to the incremented current session value in response to reestablishing communication.
15. The non-transitory computer-readable medium of claim 14 , wherein reestablishing communication between the first VIM and the second VIM includes copying VM management data stored on the first VIM to the second VIM.
16. The non-transitory computer-readable medium of claim 12 , the method further comprising: determining, by the second VIM, that the second VIM is unable to communicate with the first VIM or that the first VIM is unable to continue as the active manager; determining, by the second VIM, that the first file on the first host device includes the identifier of the first VIM; determining, by the second VIM, that the second VIM is to be the active VIM; incrementing, by the second VIM, the copy of the current session value stored on the second VIM; and updating, by the second VIM, the session identifier of the first file to the incremented current session value and the identifier of the first VIM to the identifier of the second VIM.
17. The non-transitory computer-readable medium of claim 16 , the method further comprising: reestablishing communication between the first VIM and the second VIM; and updating, by the first VIM, the copy of the current session value stored on the first VIM to the incremented current session value in response to reestablishing communication.
18. The non-transitory computer-readable medium of claim 17 , wherein reestablishing communication between the first VIM and the second VIM includes copying VM management data stored on the second VIM to the first VIM.
19. An apparatus comprising: a processor coupled to a memory, wherein the processor executes instructions that cause the apparatus to perform a method comprising: determining, by a first virtual infrastructure manager (VIM), that the first VIM is to be an active manager of a plurality of virtual machines running on a plurality of host devices and that a second VIM is to be a standby manager of the plurality of virtual machines running on the plurality of host devices; selecting, by the first VIM, a first host device from the plurality of host devices to serve as a passive witness node in arbitrating active and standby roles between the first VIM and second VIM, wherein the passive witness node maintains a VIM identifier and session identifier for the active manager, wherein the first host device runs one or more virtual machines and is managed by the active manager, wherein the first host device is not the active manager, and wherein selecting the first host device includes determining that the first host device is available to both the first VIM and the second VIM comprising: the first VIM determining that the first host device is available to the first VIM, the first VIM providing an identification of the first host device to the second VIM, and the first VIM receiving confirmation from the second VIM that the first host device is available to the second VIM; and writing, by the first VIM, a first file on the first host device indicating that the first VIM is the active manager.
20. The apparatus of claim 19 , the method further comprising: determining that the first host device is no longer available to the first VIM or the second VIM; selecting a second host device from the plurality of host devices to serve as the passive witness node in response to determining the first host device is no longer available; and writing a second file on the second host device indicating that the first VIM is the active manager.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 16, 2013
October 1, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.