System and method for automatic storage load balancing in virtual server environments
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/173
G06F-009/455
출원번호
US-0339733
(2008-12-19)
등록번호
US-8386610
(2013-02-26)
발명자
/ 주소
Yahalom, Raphael
Levy, Assaf
출원인 / 주소
NetApp, Inc.
인용정보
피인용 횟수 :
29인용 특허 :
6
초록▼
Methods and systems for periodically analyzing and correcting storage load imbalances in a storage network environment including virtual machines are described. These methods and systems account for various resource types, logical access paths, and relationships among different storage environment c
Methods and systems for periodically analyzing and correcting storage load imbalances in a storage network environment including virtual machines are described. These methods and systems account for various resource types, logical access paths, and relationships among different storage environment components. Load balancing may be managed in terms of input/output (I/O) traffic and storage utilization. The aggregated information is stored, and may be used to identify and correct load imbalances in a virtual server environment in order to prevent primary congestion and bottlenecks.
대표청구항▼
1. A method for analyzing and correcting a storage load imbalance in a storage network environment with virtual clusters, each having one or more virtual machines, the method comprising: collecting information from components in the storage network environment, the information including state and co
1. A method for analyzing and correcting a storage load imbalance in a storage network environment with virtual clusters, each having one or more virtual machines, the method comprising: collecting information from components in the storage network environment, the information including state and connectivity information of the virtual machines;deriving one or more access paths in the storage network environment and analyzing input/output (I/O) traffic along the one or more access paths, wherein each of the one or more access paths comprises an end-to-end relationship between at least one virtual machine and an associated storage device in the storage network environment;generating an I/O ranking for each of the virtual machines based on I/O traffic between the virtual machines and storage devices associated with the virtual machines;collecting performance information of the associated storage devices including I/O requests from each of the storage devices unavailable at an array cache;computing storage utilization for each of the storage devices as a function of the collected performance information;generating a storage utilization ranking for each of the storage devices based on the computed storage utilization;identifying a first virtual machine on a first virtual cluster with a high I/O ranking associated with a first data object that is associated with a first storage device having a first storage utilization ranking;identifying a second virtual cluster associated with a second data object that is associated with a second storage device having a second storage utilization ranking, wherein the second storage utilization ranking is lower than the first storage utilization ranking; andmoving the first virtual machine from the first virtual cluster to the second virtual cluster so that the first virtual machine is associated with the second data object instead of the first data object, thereby correcting the storage load balance. 2. The method according to claim 1, wherein the components include at least one of a switch, a network card, an application, a data object, a storage device, a Logical Unit Number (LUN), a physical server, and a virtual machine. 3. The method according to claim 1, wherein high ranking I/O traffic loads comprise I/O loads above a pre-specified threshold. 4. The method according to claim 1, wherein high ranking storage utilization comprises utilization levels above a pre-specified threshold and low ranking storage utilization comprises utilization levels below a pre-specified threshold. 5. The method according to claim 1, wherein storage utilization is computed as a ratio of an amount of total I/O requests from a virtual machine provided by a physical storage device which are unavailable at the array cache to a storage capability of the physical storage device. 6. The method according to claim 1, wherein moving a virtual machine comprises copying the virtual machine from the first virtual cluster to the second virtual cluster, deleting the virtual machine from the first virtual cluster, and reconfiguring the second virtual cluster. 7. The method according to claim 1, wherein deriving an access path includes: periodically determining a sequence of components starting with an application on a virtual server, a sequence of one or more switches and physical communication links leading to a storage controller, and a storage device containing a data object that is associated with the virtual server;collecting one of logical and configuration information for the sequence of components;determining if the sequence of components is configured for data flow along the sequence of components; andif the sequence of components is configured for data flow, storing the sequence of components and the collected information, thereby deriving an access path. 8. The method according to claim 1, wherein the first data object includes at least one of a volume, a datastore, and a file system. 9. The method according to claim 1, wherein the second data object includes at least one of a volume, a datastore, and a file system. 10. A computer program product implemented in a non-transitory computer-readable medium that analyzes and corrects a storage load imbalance in a storage network environment with virtual clusters, each having one or more virtual machines, the computer program product comprising: computer code that collects information from components in the storage network environment, the information including state and connectivity information of the virtual machines;computer code that derives one or more access paths in the storage network environment and analyzing input-output (I/O) traffic along the one or more access paths, wherein each of the one or more access paths comprises an end-to-end relationship between at least one virtual machine and an associated storage device in the storage network environment;computer code that generates an I/O ranking for each of the virtual machines based on the I/O traffic between the virtual machines and storage devices associated with the virtual machines;computer code that collects performance information of the associated storage devices including I/O requests from each of the storage devices unavailable at an array cache;computer code that computes storage utilization for each of the storage devices as a function of the collected performance information;computer code that generates a storage utilization ranking for each of the storage devices based on the computed storage utilization;computer code that identifies a first virtual machine on a first virtual cluster with a high I/O ranking associated with a first data object that is associated with a first storage device having a first storage utilization ranking;computer code that identifies a second virtual cluster associated with a second data object that is associated with a second storage device having a second storage utilization ranking, wherein the second storage utilization ranking is lower than the first storage utilization ranking; andcomputer code that moves the first virtual machine from the first virtual cluster to the second virtual cluster so that the first virtual machine is associated with the second data object instead of the first data object, thereby correcting the storage load balance. 11. The computer program product according to claim 10, wherein the components include at least one of a switch, a network card, an application, a storage device, a LUN, a data object, a physical server, and two or more virtual machines. 12. The computer program product according to claim 10, wherein high ranking I/O traffic loads comprise I/O loads above a pre-specified threshold. 13. The computer program product according to claim 10, wherein high ranking storage utilization comprises utilization levels above a pre-specified threshold and low ranking storage utilization comprises utilization levels below a pre-specified threshold. 14. The computer program product according to claim 10, wherein storage utilization is computed as a ratio of an amount of total I/O requests from a virtual machine provided by storage devices which are unavailable at the array cache to a storage capability of the storage devices. 15. The computer program product according to claim 10, wherein moving the first virtual machine comprises copying the first virtual machine from the first virtual cluster to the second virtual cluster, deleting the first virtual machine from the first virtual cluster, and reconfiguring the second virtual cluster. 16. The computer program product according to claim 10, wherein deriving an access path includes: computer code that periodically determines a sequence of components starting with an application on a virtual server, a sequence of one or more switches and physical communication links leading to a storage controller, and a storage device containing a data object that is associated with the virtual server;computer code that collects one of logical and configuration information for the sequence of components;computer code that determines if the sequence of components is configured for data flow along the sequence of components; andcomputer code that stores the sequence of components and the collected information, thereby deriving an access path if the sequence of components is configured for data flow. 17. The computer program product according to claim 10, wherein the first data object includes at least one of a volume, a datastore, and a file system. 18. The computer program product according to claim 10, wherein the second data object includes at least one of a volume, a datastore, and a file system. 19. A system for analyzing and correcting a storage load imbalance in a storage network environment with virtual clusters, each having one or more virtual machines, the system comprising: a user interface for allowing a user to assist in analyzing and correcting storage load imbalances in the storage network environment;a display for displaying information related to the storage network environment;a memory for storing information related to the storage network environment;a processor in communication with the memory, the display, and the user interface, the processor configured for: collecting information from components in the storage network environment, the information including state and connectivity information of the virtual machines;deriving one or more access paths in the storage network environment and analyzing input-output (I/O) traffic along the one or more access paths, wherein each of the one or more access paths comprises an end-to-end relationship between at least one virtual machine and an associated storage device in the storage network environment;generating an I/O ranking for each of the virtual machines based on the I/O traffic between the virtual machines and storage devices associated with the virtual machines;collecting performance information of the associated storage devices including I/O requests from each of the storage devices unavailable at an array cache;computing storage utilization for each of the storage devices as a function of the collected performance information;generating a storage utilization ranking for each of the storage devices based on the computed storage utilization;identifying a first virtual machine on a first virtual cluster with a high I/O ranking associated with a first data object that is associated with a first storage device having a first storage utilization ranking;identifying a second virtual cluster associated with a second data object that is associated with a second storage device having a second storage utilization ranking, wherein the second storage utilization ranking is lower than the first storage utilization ranking; andmoving the first virtual machine from the first virtual cluster to the second virtual cluster so that the first virtual machine is associated with the second data object instead of the first data object, thereby correcting the storage load balance. 20. The system according to claim 19, wherein the components include at least one of a switch, a network card, an application, a storage device, a LUN, a data object, a physical server, and two or more virtual machines. 21. The system according to claim 19, wherein high ranking I/O traffic loads comprise I/O loads above a pre-specified threshold. 22. The system according to claim 19, wherein high ranking storage utilization comprises utilization levels above a pre-specified threshold and low ranking storage utilization comprises utilization levels below a pre-specified threshold. 23. The system according to claim 19, wherein storage utilization is computed as a ratio of an amount of total I/O requests from a virtual machine provided by storage devices which are unavailable at the array cache to a storage capability of the storage devices. 24. The system according to claim 19, wherein moving the first virtual machine comprises copying the first virtual machine from the first virtual cluster to the second virtual cluster, deleting the first virtual machine from the first virtual cluster, and reconfiguring the second virtual cluster. 25. The system according to claim 19, wherein deriving an access path includes: periodically determining a sequence of components starting with an application on a virtual server, a sequence of one or more switches and physical communication links leading to a storage controller, and a storage device containing a data object that is associated with the virtual server;collecting one of logical and configuration information for the sequence of components;determining if the sequence of components is configured for data flow along the sequence of components; andif the sequence of components is configured for data flow, storing the sequence of components and the collected information, thereby deriving an access path. 26. The system according to claim 19, wherein the first data object includes at least one of a volume, a datastore, and a file system. 27. The system according to claim 19, wherein the second data object includes at least one of a volume, a datastore, and a file system. 28. A method for correcting a storage load imbalance in a storage network environment with virtual clusters, each having one or more virtual machines, the method comprising: deriving access paths from information collected from components in the storage network environment, wherein each of the access paths comprises an end-to-end relationship between virtual machines and storage devices associated with the virtual machines in the storage network environment,storing the access paths on a first memory device;generating a storage utilization ranking of two or more storage devices in the storage network environment from performance information of the associated storage devices including I/O requests from each of the storage devices unavailable at an array cachestoring the storage utilization ranking on a second memory device; andreconfiguring storage load in the storage network environment by identifying and moving a first virtual machine on a first virtual cluster associated with a first data object associated with a first storage device having a high storage utilization ranking to a second virtual cluster associated with a second data object associated with a second storage device having a low storage utilization ranking so that the first virtual machine is associated with the second data object instead of the first data object, thereby correcting the storage load imbalance. 29. The method according to claim 28, wherein the components include at least one of a switch, a network card, an application, a data object, a storage device, a LUN, a physical servers, and a virtual machine. 30. The method according to claim 28, further comprising providing a notification message including the first virtual machine. 31. The method according to claim 28, wherein high ranking storage utilization comprises utilization levels above a first pre-specified threshold and low ranking storage utilization comprises utilization levels below a second pre-specified threshold. 32. The method according to claim 28, wherein the information collected from the components in the storage network environment includes state and connectivity information. 33. The method according to claim 28, wherein the first data object comprises at least one of a volume, a datastore and a file system. 34. The method according to claim 28, wherein the second data object comprises at least one of a volume, a datastore and a file system. 35. The method according to claim 28, wherein storage utilization is computed as a ratio of an amount of total I/O requests from a virtual machine in the storage network environment provided by a storage device which are unavailable at the array cache to a storage capability of the storage device. 36. The method according to claim 28, wherein moving the first virtual machine comprises deleting the first virtual machine from the first virtual cluster, and reconfiguring the second virtual cluster, wherein deleting includes removing a first association of the first virtual machine and first storage device from a third memory device, and wherein reconfiguring includes storing a second association of the first virtual machine and the second storage device on the third memory device. 37. The method according to claim 28, wherein identifying includes storing an association of the first virtual machine and first storage device on a third memory device. 38. The method according to claim 28, wherein deriving an access path includes: periodically determining a sequence of components starting with an application on a virtual server, a sequence of one or more switches and physical communication links leading to a storage controller, and a storage device containing a data object that is associated with the virtual server;collecting one of logical and configuration information for the sequence of components;determining if the sequence of components is configured for data flow along the sequence of components; andif the sequence of components is configured for data flow, storing the sequence of components and the collected information, thereby deriving an access path.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (6)
Reed Drummond Shattuck ; Heymann Peter Earnshaw ; Mushero Steven Mark ; Jones Kevin Benard ; Oberlander Jeffrey Todd, Computer-based communication system and method using metadata defining a control-structure.
Ramany, Swaminathan; Yakubov, Vladimir, System and method for real-time balancing of user workload across multiple storage systems with shared back end storage.
Chokshi, Shaival J.; Qin, Xiaohan; Sharma, Rakesh; Vo, Patrick T., Shared ethernet adapter (SEA) load sharing and SEA fail-over configuration as set by a user interface.
Doorhy, Brendan F.; Allen, Shahriar B.; Chatterjee, Sambodhi; Panozzo, Guy M.; Sahi, Jasleen; Trotto, Carl M., System and method for assignment of virtual machines based on physical information.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.