With dramatic increase of enterprise digital data, a scale-up approach of improving performance and capacity of a system by upgrading hardware has not been able to meet increasing demands of customers due to limitations of a hardware update speed. Therefore, there is proposed a scale-out approach of dynamically upgrading the system by increasing the number of physical or virtual devices. The term “physical device” used herein refers to a physical entity such as a workstation, a blade, a mainframe, a desktop computer or a portable computer. The term “virtual device” refers to a logical device, such as a virtual machine, running on the physical entity through virtualization technologies. Compared with the scale-up approach, advantages of the scaling out are very apparent in timeliness.
In the scale-out approach, for example, a cluster composed of a plurality of physical devices may be used in place of a single physical device to provide services. Then, further improvement of the performance, the capacity and the like may be enabled by adding new devices into the cluster. However, such a cluster composed of physical devices currently lacks core cluster architecture features for cluster management, such as cluster membership management, messaging, failover and the like.
In addition to the scaling out of the physical devices, there is also provided scaling out of virtual devices. For example, a common software definition data center (SDDC) is usually deployed on a type of virtual machines (VMs). In the context of the present disclosure, a type of VMs refers to VMs based on a type of virtualization platform and framework and associated with a type of virtual machine hypervisors. Correspondingly, different types of VMs are based on different virtualization platforms and frameworks and associated with different virtual machine hypervisors. When a system needs to be upgraded, this type of VMs may be added to the SDDC to implement the scaling out. However, in such a system, the physical devices running the VMs are usually separated. Data cannot move between different physical devices and therefore cannot implement load balance. In addition, when a certain VM is failed, another VM can be restarted only on a certain physical machine, which causes interruption of services in a longer period of time.