A storage pool is shared by multiple host computers in a cluster that runs virtual machines. In one embodiment, one of the host computers in the cluster is designated to include a storage pool manager. Each host computer in the cluster monitors its storage consumption and notifies the storage pool manager of its storage consumption. Thus, storage space in the storage pool can be dynamically allocated on demand.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: monitoring, by each host computer of a cluster of host computers that each run virtual machines and share a pool of storage, storage consumption of the virtual machines at the host computer; and notifying, by the host computer, a designated host computer of the cluster of host computers of the storage consumption, the designated host computer designated by a host controller managing the cluster of host computers to act as a central storage manager for managing the shared pool of storage for the cluster of host computers.
2. The method of claim 1 , wherein notifying a designated host computer further comprises: notifying the designated host computer when a change to storage allocation is necessary.
3. The method of claim 1 , further comprising: mapping logical data blocks into physical data blocks in the pool of storage.
4. The method of claim 1 , wherein the notification includes a request for at least one of the following: expanding a volume, shrinking the volume, and resizing the volume, wherein the volume includes storage space allocated to the host computer.
5. A computer-implemented method comprising: receiving, by a designated host computer of a cluster of host computers that each run virtual machines and share a pool of storage, a notification of storage consumption from a requesting host computer of the cluster of host computers, the designated host computer designated by a host controller managing the cluster of host computers to act as a central storage manager for managing the shared pool of storage for the cluster of host computers; and changing, by the designated host computer, storage allocation for the requesting host computer in response to the notification.
6. The method of claim 5 , further comprising: allocating at least a portion of a volume in the pool of storage to the requesting host computer, the volume being a thin provisioned volume or a sparse volume.
7. The method of claim 5 , wherein changing storage allocation includes at least one of the following: expanding a volume, shrinking the volume, and resizing the volume, wherein the volume includes storage space allocated to the requesting host computer.
8. A non-transitory computer readable storage medium including instructions that, when executed by a processing system, cause the processing system to perform a method comprising: interacting, by each host computer of a cluster of host computers that each run virtual machines and share a pool of storage, with a logical volume manager (LVM) of the host computer, the LVM to virtualize the shared pool of storage into multiple storage spaces used by the virtual machines of the host computer; monitoring, by each host computer, storage consumption of the virtual machines at the host computer via the LVM; and notifying, by the each host computer, a designated host computer of the cluster of host computers of the storage consumption, the designated host computer designated by a host controller managing the cluster of host computers to act as a central storage manager for managing the shared pool of storage for the cluster of host computers.
9. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises: notifying the designated host computer when a change to storage allocation is necessary.
10. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises: mapping logical data blocks into physical data blocks in the pool of storage.
11. The non-transitory computer readable storage medium of claim 8 , wherein changing storage allocation includes at least one of the following: expanding a volume, shrinking the volume, and resizing the volume, wherein the volume includes storage space allocated to the first host computer.
12. A non-transitory computer readable storage medium including instructions that, when executed by a processing system, cause the processing system to perform a method comprising: receiving, by a designated host computer of a cluster of host computers that each run virtual machines and share a pool of storage, a notification of storage consumption from a requesting host computer of the cluster of host computers, the designated host computer designated by a host controller managing the cluster of host computers to act as a central storage manager for managing the shared pool of storage for the cluster of host computers; and changing, by the designated host computer, storage allocation for the requesting host computer in response to the notification.
13. The non-transitory computer readable storage medium of claim 12 , wherein the method further comprises: allocating at least a portion of a volume in the pool of storage to the requesting host computer, the volume being a thin provisioned volume or a sparse volume.
14. The non-transitory computer readable storage medium of claim 12 , wherein changing storage allocation includes at least one of the following: expanding a volume, shrinking the volume, and resizing the volume, wherein the volume includes storage space allocated to the first host computer.
15. A system comprising: a memory; a processing device communicably coupled to the memory; a hypervisor to virtualize the memory and the processing device for a plurality of virtual machines hosted by the system, wherein data of the virtual machines is stored in a pool of storage shared by the system with a cluster of host computers; and a storage pool manager executable by the processing device from the memory when the system is designated by a host controller managing the cluster of host computers to act as a central storage manager for managing the shared pool of storage for the cluster of host computers, the storage pool manager configured to: receive a notification of storage consumption from each of the host computers in the cluster of host computers; and change storage allocation for one or more of the host computers in response to the notification.
16. The system of claim 15 , further comprising a local storage manager executable from the memory by the processing device, the local storage manager configured to receive the storage allocation from the storage pool manager.
17. The system of claim 15 , wherein the data storage includes a volume allocated to at least one host computer in the cluster, the volume is changed by the storage pool manager by at least one of the following: expansion, shrinkage, and resizing.
18. The system of claim 15 , wherein each host computers in the cluster includes a monitoring unit to monitor local storage consumption.
19. The system of claim 15 , wherein each host computer in the cluster includes a notification unit to notify the storage pool manager of local storage consumption.
20. The system of claim 15 , wherein each host computer in the cluster includes: a logical volume management module to dynamically map a logical data block to a physical data block in real time.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 21, 2009
May 8, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.