Methods and apparatuses for resource management in cloud

WO2024045190A9PCT designated stage expired Publication Date: 2025-02-13TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2022/116869
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-02
Publication Date
2025-02-13

Smart Images

  • Figure CN2022116869_13022025_PF_FP_ABST
    Figure CN2022116869_13022025_PF_FP_ABST
Patent Text Reader

Abstract

Methods and apparatuses for resource management in cloud are disclosed. According to an embodiment, a scheduler of a cloud receives, from a client, a request for creating an instance from a physical server. The request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The scheduler determines a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose. The scheduler requests the target physical server to create the instance.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUSES FOR RESOURCE MANAGEMENT IN CLOUDTechnical Field

[0001] Embodiments of the disclosure generally relate to cloud, and, more particularly, to methods and apparatuses for resource management in cloud.Background

[0002] This section introduces aspects that may facilitate better understanding of the present disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.

[0003] An infrastructure as a service (IaaS) cloud can provide both local storage and cloud storage as volume for instances. The cloud storage is normally provided from a distributed storage system. The local storage can be provided from different local resources, like disk, logical volume manager (LVM) and file. When providing local storage from local disk, there is no long-term guarantee about the data durability. The instance can use such local storage for caching, logs, temporary data, persistent data and so on.

[0004] Summary

[0005] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0006] One of the objects of the disclosure is to provide an improved solution for resource management in cloud. In particular, one of the problems to be solved by the disclosure is that current IaaS cloud platforms cannot dynamically manage both the local disks and local disk partitions.

[0007] According to a first aspect of the disclosure, there is provided a method performed by a physical server of a cloud. The method may comprise obtaining  information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud. The method may further comprise configuring, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration.

[0008] In this way, it is possible to support dynamic management of local storage resources since the local storage resources can be dynamically configured.

[0009] In an embodiment of the disclosure, the configuration may comprise identification information of the at least part of the physical disks of the one or more physical servers.

[0010] In an embodiment of the disclosure, the identification information of a physical disk may comprise one of: a device name of the physical disk; a universally unique identifier (UUID) of the physical disk; a globally unique identifier (GUID) of the physical disk; path information of the physical disk; and label information of the physical disk.

[0011] In an embodiment of the disclosure, the configuration may be represented by one of: a file; and a command.

[0012] In an embodiment of the disclosure, configuring the at least one of the one or more physical disks of the physical server may comprise reading a distribution of disk spaces from the at least one physical disk. Configuring the one or more physical disks of the physical server may further comprise generating a disk space pool containing disk spaces of the physical server which are usable for volume purpose, based on the distribution of disk spaces. Configuring the one or more physical disks of the physical server may further comprise saving information about the disk space pool into a database of the cloud.

[0013] In an embodiment of the disclosure, the cloud may be an infrastructure as a service (IAAS) cloud.

[0014] In an embodiment of the disclosure, the information related to the configuration may be obtained from a user via a management node of the cloud.

[0015] In an embodiment of the disclosure, the user may comprise one of: cloud operator; cloud administrator; and customer of cloud service.

[0016] According to a second aspect of the disclosure, there is provided a method performed by a scheduler of a cloud. The method may comprise receiving, from a client, a request for creating an instance from a physical server. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The method may further comprise determining a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose. The method may further comprise requesting the target physical server to create the instance.

[0017] In this way, it is possible to support dynamic management of local storage resources since the request from the client can be dynamically satisfied by the scheduler.

[0018] In an embodiment of the disclosure, the physical server whose disk spaces can satisfy the one or more first requirements and / or the one or more second requirements while causing least storage waste and / or fragment among the one or more physical servers may be determined as the target physical server.

[0019] In an embodiment of the disclosure, for a physical server from the one or more physical servers, a mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste and / or fragment, may be determined as a target mapping for the physical server.

[0020] In an embodiment of the disclosure, the request may comprise at least the one or more second requirements on disk partitions. In the determining of the target physical server, a partially empty physical disk may be preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements.

[0021] In an embodiment of the disclosure, the total disk space pool may comprise: a free space area containing disk spaces which are free for volume purpose; a locked space area containing disk spaces which are determined to satisfy at least one request for creating  corresponding instance and locked for the corresponding instance; and an allocated space area containing disk spaces which have been allocated to one or more instances.

[0022] In an embodiment of the disclosure, when at least one disk space is locked or allocated for an instance, the at least one disk space may be associated with identification information of the instance.

[0023] In an embodiment of the disclosure, a disk space in the allocated space area may be associated with identification information of a physical device providing the disk space.

[0024] In an embodiment of the disclosure, a disk space in the total disk space pool may be represented by one or more of: start sector and end sector of the disk space; and identification information of the physical device providing the disk space.

[0025] In an embodiment of the disclosure, the total disk space pool maintained by the database may be synchronized with corresponding disk space pools maintained by the one or more physical servers.

[0026] In an embodiment of the disclosure, the cloud may be an IAAS cloud.

[0027] According to a third aspect of the disclosure, there is provided a method performed by a physical server of a cloud. The method may comprise receiving, from a scheduler of the cloud, a request for requesting the physical server to create an instance. The request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The method may further comprise obtaining a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server. The method may further comprise providing, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping.

[0028] In this way, it is possible to support dynamic management of local storage resources since physical disk (s) and / or disk partition (s) can be dynamically provided to the instance.

[0029] In an embodiment of the disclosure, the request may further comprise the target mapping. Obtaining the target mapping may comprise extracting the target mapping from the request.

[0030] In an embodiment of the disclosure, obtaining the target mapping may comprise determining the target mapping based on a disk space pool maintained by the physical server to contain disk spaces of the physical server which are usable for volume purpose.

[0031] In an embodiment of the disclosure, the request may comprise at least the one or more second requirements on disk partitions. Providing the one or more physical disks and / or the one or more disk partitions may comprise creating the one or more disk partitions based on the target mapping.

[0032] In an embodiment of the disclosure, the method may further comprise synchronizing the disk space pool maintained by the physical server with a total disk space pool maintained by a database of the cloud.

[0033] In an embodiment of the disclosure, the method may further comprise, when deleting the instance, merging one or more released disk spaces with one or more adjacent disk spaces to form a new contiguous disk space.

[0034] In an embodiment of the disclosure, the mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste / fragment, may be determined as the target mapping.

[0035] In an embodiment of the disclosure, the request may comprise at least the one or more second requirements on disk partitions. In the determining of the target mapping, a partially empty physical disk may be preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements.

[0036] In an embodiment of the disclosure, the disk space pool may comprise: a free space area containing disk spaces which are free for volume purpose; a locked space area containing disk spaces which are determined to satisfy at least one request for creating corresponding instance and locked for the corresponding instance; and an allocated space area containing disk spaces which have been allocated to one or more instances.

[0037] In an embodiment of the disclosure, when at least one disk space is locked or allocated for an instance, the at least one disk space may be associated with identification information of the instance.

[0038] In an embodiment of the disclosure, a disk space in the allocated space area may be associated with identification information of a physical device providing the disk space.

[0039] In an embodiment of the disclosure, a disk space in the disk space pool may be represented by one or more of: start sector and end sector of the disk space; and identification information of the physical device providing the disk space.

[0040] In an embodiment of the disclosure, the cloud may be an IAAS cloud.

[0041] According to a fourth aspect of the disclosure, there is provided a physical server of a cloud. The physical server may comprise at least one processor and at least one memory. The at least one memory may contain instructions executable by the at least one processor, whereby the physical server may be operative to obtain information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud. The physical server may be further operative to configure, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration.

[0042] In an embodiment of the disclosure, the physical server may be operative to perform the method according to the above first aspect.

[0043] According to a fifth aspect of the disclosure, there is provided a scheduler of a cloud. The scheduler may comprise at least one processor and at least one memory. The at least one memory may contain instructions executable by the at least one processor, whereby the scheduler may be operative to receive, from a client, a request for creating an instance from a physical server. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The scheduler may be further operative to determine a target physical server satisfying the request, based on a total disk space pool maintained by a database to  contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose. The scheduler may be further operative to request the target physical server to create the instance.

[0044] In an embodiment of the disclosure, the scheduler may be operative to perform the method according to the above second aspect.

[0045] According to a sixth aspect of the disclosure, there is provided a physical server of a cloud. The physical server may comprise at least one processor and at least one memory. The at least one memory may contain instructions executable by the at least one processor, whereby the physical server may be operative to receive, from a scheduler of the cloud, a request for requesting the physical server to create an instance. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The physical server may be further operative to obtain a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server. The physical server may be further operative to provide, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping.

[0046] In an embodiment of the disclosure, the physical server may be operative to perform the method according to the above third aspect.

[0047] According to a seventh aspect of the disclosure, there is provided a computer program product. The computer program product may contain instructions which when executed by at least one processor, cause the at least one processor to perform the method according to any of the above first to third aspects.

[0048] According to an eighth aspect of the disclosure, there is provided a computer readable storage medium. The computer readable storage medium may store thereon instructions which when executed by at least one processor, cause the at least one processor to perform the method according to any of the above first to third aspects.

[0049] According to a ninth aspect of the disclosure, there is provided a physical server of a cloud. The physical server may comprise an obtaining module for obtaining  information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud. The physical server may further comprise a configuration module for configuring, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration.

[0050] According to a tenth aspect of the disclosure, there is provided a scheduler of a cloud. The scheduler may comprise a reception module for receiving, from a client, a request for creating an instance from a physical server. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The scheduler may further comprise a determination module for determining a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose. The scheduler may further comprise an requesting module for requesting the target physical server to create the instance.

[0051] According to an eleventh aspect of the disclosure, there is provided a physical server of a cloud. The physical server may comprise a reception module for receiving, from a scheduler of the cloud, a request for requesting the physical server to create an instance. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The physical server may further comprise an obtaining module for obtaining a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server. The physical server may further comprise a provision module for providing, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping.

[0052] According to a twelfth aspect of the disclosure, there is provided a method implemented in a cloud including a scheduler and a physical server. The method may comprise all steps of the methods according to the above second and third aspects.

[0053] According to a thirteenth aspect of the disclosure, there is provided a cloud. The cloud may comprise a scheduler according to the above fifth or tenth aspect and a physical server according to the above sixth or eleventh aspect.Brief Description of the Drawings

[0054] These and other objects, features and advantages of the disclosure will become apparent from the following detailed description of illustrative embodiments thereof, which are to be read in connection with the accompanying drawings.

[0055] FIG. 1 is a diagram illustrating a cloud system including local storage resources and cloud storage resources;

[0056] FIG. 2 is a diagram illustrating a desirable effect of dynamic management of local disks;

[0057] FIG. 3 is a diagram illustrating a desirable effect of dynamic management of local disk partitions;

[0058] FIG. 4 is a diagram illustrating a scheduling problem in the existing solution;

[0059] FIG. 5 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure;

[0060] FIG. 6 is a flowchart for explaining the method of FIG. 5;

[0061] FIG. 7 is a flowchart illustrating a method performed by a scheduler of a cloud according to an embodiment of the disclosure;

[0062] FIG. 8 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure;

[0063] FIG. 9 is a flowchart for explaining the method of FIG. 8;

[0064] FIG. 10 is a flowchart for explaining the method of FIG. 8;

[0065] FIG. 11 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure;

[0066] FIG. 12 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure;

[0067] FIG. 13 is a diagram illustrating a cloud system according to an embodiment of the disclosure;

[0068] FIGs. 14A-14B are diagrams illustrating allocation of disk spaces;

[0069] FIG. 15 is a flowchart illustrating a method for disk resource selection according to an embodiment of the disclosure;

[0070] FIG. 16 is a flowchart illustrating a method for disk resource selection according to an embodiment of the disclosure;

[0071] FIG. 17 is a diagram illustrating disk space defragmentation according to an embodiment of the disclosure;

[0072] FIG. 18 is a flowchart illustrating an exemplary process according to an embodiment of the disclosure;

[0073] FIGs. 19A-19B are flowcharts illustrating an exemplary process according to an embodiment of the disclosure;

[0074] FIG. 20 is a block diagram showing an apparatus suitable for use in practicing some embodiments of the disclosure;

[0075] FIG. 21 is a block diagram showing a physical server of a cloud according to an embodiment of the disclosure;

[0076] FIG. 22 is a block diagram showing a scheduler of a cloud according to an embodiment of the disclosure; and

[0077] FIG. 23 is a block diagram showing a physical server of a cloud according to an embodiment of the disclosure.Detailed Description

[0078] For the purpose of explanation, details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed. It is apparent, however, to those skilled in the art that the embodiments may be implemented without these specific details or with an equivalent arrangement.

[0079] OpenStack can manage large pools of compute, storage, and networking resources. It can provide ephemeral block storage from logical volume management (LVM) , qemu disk image or RADOS block device (RBD) . The size of storage is defined in the flavor of compute service and can be attached to a specific server as root disk or ephemeral disk.

[0080] The nova scheduler in OpenStack nova component can schedule an instance to a compute host whose available disk capacity can meet the disks’ request in the flavor. The nova compute service on the target compute host can claim (or require) resource and the available capacity of disk resource is reduced by the requested size.

[0081] FIG. 1 is a diagram illustrating a cloud system including local storage resources and cloud storage resources. As shown, the cloud system may comprise an application programming interface (API) service 110, a scheduler (or a cloud scheduling service) 120, a plurality of hosts (or physical servers) 130, a database (or a cloud database service) 140, and a distributed storage system 150. Local storage resources 132 on the physical servers 130 can be measured and stored into the cloud database service 140. The cloud scheduling service 120 can take the resources into account with other scheduling constraints, like central processing unit (CPU) , memory resource.

[0082] To get high input / output operations per second (IOPS) performance, high throughput and low latency, it would be desirable for some applications to directly read and write the local disks or local disk partitions on physical server. For example, FIG. 2 illustrates a desirable effect of dynamic management of local disks. As shown, when the host 230 having local disk resource 232 receives a request for local disks where local disks of size X1, X2, …, Xn are requested, it would be desirable to provide, as volume, one or more disks (containing e.g. disk X) satisfying the request to the created instance 260. FIG. 3 illustrates a desirable effect of dynamic management of local disk partitions. As shown, when the host 230 having local disk resource 232 receives a request for local disk partitions where local disk partitions of size X1, X2, …, Xn are requested, it would be desirable to provide, as volume, one or more disk partitions (containing e.g. a partition on disk Y) satisfying the request to the created instance 260.

[0083] However, current IaaS cloud platforms (e.g. OpenStack) cannot dynamically manage both the local disks and local disk partitions. In particular, no IaaS cloud can manage disk partitions.

[0084] Although some cloud systems can support local disk as volume for instance, the disk resource must be statically pre-created. Each disk resource is bound to a specified host. The operator / user has to firstly select a disk from pre-defined disk resource and the cloud then creates an instance from the physical server who owns that disk. But these cloud platforms still cannot support disk partitions management.

[0085] Another problem is that the current cloud scheduler can only consider the available capacity of disks, but cannot schedule hosts based on the distribution of free disk spaces so that it may select a wrong host. For example, FIG. 4 illustrates a scheduling problem in the existing solution. As shown, the user requests a disk partition for instance. The requested size is 50GB. Suppose there are two physical servers, host1 and host2. The size of free disk space on host1 is 50GB and there is contiguous space. So host1 should be selected as a candidate. The size of free disk spaces on host2 is also 50 GB, but they are not contiguous. So host2 cannot meet the requirements. But if the scheduler 410 only considers the available capacity of the disk, it will select a wrong host to create the instance.

[0086] The present disclosure proposes an improved solution for resource management in cloud. One of the basic ideas is to introduce a configuration of physical disks as disk passthrough purpose for any one or more of cloud physical servers. The configuration can be from a file, a command or in other ways. The physical disks in the configuration can be described by device name, UUID, GUID, by-path, by-label or by other naming.

[0087] Another basic idea is to map the physical disk spaces into a disk space pool (e.g. in memory cache) . The pool may comprise different space areas: free spaces area, locked spaces area, and allocated spaces area. The pool can be always synchronized with a database of the cloud. The physical free disk spaces may be mapped into free spaces area, covering the physical disk space information, including but not limited to start sectors,  end sectors and disk identifier. When a free space is locked by a request, it becomes a locked space. When a locked space is allocated, it becomes an allocated space.

[0088] A disk space in locked spaces area may be connected with instance identifier, who locks this space. A disk space in allocated spaces area may be connected with instance identifier who locks this space and the attached disk identifier or disk partition identifier.

[0089] Yet another basic idea is to provide a policy of disk resource selection, which can provide best disks or best disk spaces to meet the instance request. Yet another basic idea is to dynamically create disk partition as volume and provide local raw disk as volume in cloud.

[0090] In summary, a method is introduced to support local disk and local disk partition as volume in cloud. It can provide local raw disks to instances and can dynamically create disk partition as volume for server. The method provides a way to configure the physical disks as volume purpose for all cloud instances. The cloud platform can read the configuration and get the disk spaces from the physical disk devices. Those disk spaces can be mapped into a disk space pool and policies are provided for local disk spaces allocation from the disk space pool. The cloud platform then can create disk partition from the best fit disk spaces and passthrough the local disk or disk partitions to the instance.

[0091] Hereinafter, the solution will be described in detail with reference to FIGs. 5-23. FIG. 5 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure. For example, the cloud may be an IaaS cloud. At block 502, the physical server obtains information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud. The configuration may be received from a user by a management node of the cloud. The user may comprise, but not limited to, cloud operator, cloud administrator, customer of cloud service, etc. The management node (e.g. for life cycle management) may be implemented by a physical server, or a virtual machine, or any other suitable ways. With the configuration, the user can be allowed to dynamically configure any one  or more of the physical disks of the physical server (s) of the cloud to be used for volume purpose (or disk passthrough purpose) . The term “passthrough disk” may refer to a physical disk that can be directly accessed by an instance bypassing the operating system. Then, the information related to the configuration may be obtained from the management node. As an option, the management node may distribute the information related to the configuration to related physical servers. As another option, the physical server may acquire (e.g. read) , from the management node, the information related to the configuration. Such information may be the whole configuration, or part of the configuration that is merely related to the physical server.

[0092] The configuration may be represented by a file, or a command, or any other suitable ways. The configuration may comprise identification information of the at least part of the physical disks of the one or more physical servers. For a given physical disk, examples of the identification information of the physical disk may comprise, but not limited to: a device name of the physical disk, a universally unique identifier (UUID) of the physical disk, a globally unique identifier (GUID) of the physical disk, path information of the physical disk, label information of the physical disk, etc.

[0093] At block 504, the physical server configures, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration. The at least one physical disk may be the physical disk (s) of the physical server which belong to the physical disk (s) defined in the configuration. For example, block 504 may be implemented as blocks 606-610 of FIG. 6.

[0094] At block 606, the physical server reads a distribution of disk spaces from the at least one physical disk. As an exemplary example, information about available sectors and occupied sectors of the at least one physical disk may be read. At block 608, the physical server generates a disk space pool containing disk spaces of the physical server which are usable for volume purpose, based on the distribution of disk spaces. As an exemplary example, at least the available sectors may be mapped to free spaces area in the disk space pool. Optionally, the occupied sectors may be mapped to allocated spaces area in the disk space pool. The disk space pool may be maintained in e.g. a memory  cache of the physical server. At block 610, the physical server saves information about the disk space pool into a database of the cloud.

[0095] With the method of FIG. 5, it is possible to support dynamic management of local storage resources since the local storage resources can be dynamically configured.

[0096] FIG. 7 is a flowchart illustrating a method performed by a scheduler of a cloud according to an embodiment of the disclosure. For example, the cloud may be an IaaS cloud. The scheduler may be implemented by a physical server, or a virtual machine, or any other suitable ways. At block 702, the scheduler receives, from a client, a request for creating an instance from a physical server. The request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The client may be any suitable apparatus that can be used by a customer of the cloud service, or a cloud operator or a cloud provider to interact with the cloud. Examples of the instance may include, but not limited to, a virtual machine (VM) , a container, etc. For example, the one or more first requirements may be the sizes of one or more physical disks requested by the client. The one or more second requirements may be the sizes of one or more physical disk partitions requested by the client.

[0097] At block 704, the scheduler determines a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose. The one or more physical servers whose disk spaces are usable for volume purpose may be defined by the configuration described above with respect to block 502. The respective disk space pool (s) maintained by the one or more physical servers as described above with respect to block 504 may be saved into the database to form the total disk space pool. The total disk space pool maintained by the database may be synchronized with corresponding disk space pool (s) maintained by the one or more physical servers. A disk space in the total disk space pool may be represented by one or more of: start sector and end sector of the disk space; and identification information of the physical device providing the disk space.

[0098] For example, if any one of the one or more physical servers has disk spaces satisfying the one or more first and / or second requirements and if this physical server also satisfies other requirement (s) such as CPU requirement, memory requirement, etc. which may be possibly contained in the request, then this physical server may be determined as the target physical server.

[0099] As an exemplary example, for a physical server from the one or more physical servers, a mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste and / or fragment, may be determined as a target mapping for the physical server. For a given first / second requirement, the suitable disk space may refer to the disk space that is larger than or equal to the first / second requirement. The storage waste may refer to the remaining disk space of a physical disk after allocating the physical disk to satisfy a first requirement. The storage fragment may refer to the remaining disk space of a contiguous disk space after allocating the contiguous disk space to satisfy at least one second requirement. Then, the physical server whose disk spaces can satisfy the one or more first and / or second requirements while causing least storage waste and / or fragment among the one or more physical servers may be determined as the target physical server. In this way, the space waste can be reduced so that the disk utilization can be enhanced.

[0100] Optionally, in the case where the request comprises at least the one or more second requirements on disk partitions, in the determining of the target physical server, a partially empty physical disk may be preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements. In this way, it can preserve more disk resources to meet future requests.

[0101] For example, the total disk space pool may comprise: a free space area containing disk spaces which are free for volume purpose, a locked space area containing disk spaces which are determined to satisfy at least one request for creating corresponding (at least one) instance and locked for the corresponding instance; and an allocated space area containing disk spaces which have been allocated to one or more instances. If at least one disk space is locked for an instance and other possible requirement (s) such as CPU requirement, memory requirement, and the like are also  satisfied, then the at least one disk space may be allocated to the instance so that the at least one disk space is moved to the allocated space area.

[0102] Optionally, when at least one disk space is locked or allocated for an instance, the at least one disk space may be associated with identification information of the instance (e.g. in the total disk space pool) . With this association, the instance associated with the locked or allocated disk space (s) can be grasped. Optionally, a disk space in the allocated space area may be associated with identification information of a physical device (e.g. a physical disk or a disk partition) providing the disk space. With this association, the physical device associated with the allocated disk space (s) can be grasped.

[0103] At block 706, the scheduler requests the target physical server to create the instance. For example, another request may be sent to the target physical server to request it to create the instance. The request may comprise at least the one or more first and / or second requirements. Optionally, the request may comprise the target mapping for the target physical server.

[0104] With the method of FIG. 7, it is possible to support dynamic management of local storage resources since the request from the client can be dynamically satisfied by the scheduler.

[0105] FIG. 8 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure. For example, the cloud may be an IaaS cloud. At block 802, the physical server receives, from a scheduler of the cloud, a request for requesting the physical server to create an instance. The request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The scheduler may be implemented by a physical server, or a virtual machine, or any other suitable ways. For example, the one or more first requirements may be the sizes of one or more physical disks requested by the scheduler. The one or more second requirements may be the sizes of one or more physical disk partitions requested by the scheduler.

[0106] At block 804, the physical server obtains a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server. For a given first / second requirement, the suitable disk space may refer to the disk space that is larger than or equal to the first / second requirement. For example, block 804 may be implemented as block 908 or block 910 of FIG. 9. Block 908 corresponds to the case where the request further comprises (or indicates) the target mapping. At block 908, the physical server extracts the target mapping from the request.

[0107] At block 910, the physical server determines the target mapping based on a disk space pool maintained by the physical server to contain disk spaces of the physical server which are usable for volume purpose. The disk space pool may be generated as described above with respect to block 608. A disk space in the disk space pool may be represented by one or more of: start sector and end sector of the disk space; and identification information of the physical device providing the disk space. For example, if any mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server exits, this mapping may be determined as the target mapping.

[0108] As an exemplary example, the mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste / fragment, may be determined as the target mapping. In this way, the space waste can be reduced so that the disk utilization can be enhanced.

[0109] Optionally, in the case where the request comprises at least the one or more second requirements on disk partitions, in the determining of the target mapping, a partially empty physical disk may be preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements. In this way, it can preserve more disk resources to meet future requests.

[0110] For example, the disk space pool may comprise: a free space area containing disk spaces which are free for volume purpose; a locked space area containing disk spaces which are determined to satisfy at least one request for creating corresponding (at least one) instance and locked for the corresponding instance; and an allocated space area  containing disk spaces which have been allocated to one or more instances. If at least one disk space is locked for an instance and other possible requirement (s) such as CPU requirement, memory requirement, and the like are also satisfied, then the at least one disk space may be allocated to the instance so that the at least one disk space is moved to the allocated space area.

[0111] Optionally, when at least one disk space is locked or allocated for an instance, the at least one disk space may be associated with identification information of the instance (e.g. in the disk space pool) . With this association, the instance associated with the locked or allocated disk space (s) can be grasped. Optionally, a disk space in the allocated space area may be associated with identification information of a physical device (e.g. a physical disk or a disk partition) providing the disk space. With this association, the physical device associated with the allocated disk space (s) can be grasped.

[0112] At block 806, the physical server provides, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping. As shown in FIG. 10, in the case where the request comprises at least the one or more second requirements on disk partitions, block 806 comprises block 1012. At block 1012, the physical server creates the one or more disk partitions based on the target mapping. Then, the one or more physical disks indicated by the target mapping and / or the one or more disk partitions created based on the target mapping may be attached to the instance created by the physical server.

[0113] With the method of FIG. 8, it is possible to support dynamic management of local storage resources since physical disk (s) and / or disk partition (s) can be dynamically provided to the instance.

[0114] FIG. 11 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure. As shown, the method comprises blocks 802-806 described above, and block 1114. At block 1114, the physical server synchronizes the disk space pool maintained by the physical server with a total disk space pool maintained by a database of the cloud. For example, when there is any change  in the disk space pool, information about the changed disk space pool (e.g. the whole changed disk space pool, or the change relative to the previous disk space pool) may be sent to the database. With the method of FIG. 11, the total disk space pool can be updated with the latest information so that scheduling can be performed by the scheduler based on the updated information.

[0115] FIG. 12 is a flowchart illustrating a method performed by a physical server of a cloud according to an embodiment of the disclosure. As shown, the method comprises blocks 802-806 described above, and block 1216. At block 1216, when deleting the instance, the physical server merges one or more released disk spaces with one or more adjacent disk spaces to form a new contiguous disk space. With the method of FIG. 12, disk fragments can be reduced so that the disk utilization can be enhanced. Note that after block 1216 is performed, since there is a change in the disk space pool, block 1114 may be performed to update the total disk space pool.

[0116] FIG. 13 is illustrates an overview of a cloud system according to an embodiment of the disclosure. As shown, the cloud system comprises an API function 1310, a scheduler function (or a scheduler) 1320, a database 1330, and at least one physical server (or at least one host) 1340. The scheduler function 1320 is provided with a disk resource selection component 1321. The physical server 1340 has physical disks 1341, a disk resource management component 1342, and a host agent function 1347. An instance 1348 can be created in response to a request from the scheduler function 1320. The disk resource management component 1342 has a disk space pool 1343, a disk resource selection component 1344, a disk space defragmentation component 1345 and a disk utility 1346.

[0117] Disks configuration, which defines physical disks as disk passthrough purpose for any one or more of the cloud physical servers, may be received by the physical server 1340 from a management node of the cloud. The configuration can be from a file, a command or in other ways. The disks in the configuration can be described by device name, UUID, GUID, by-path, by-label or by other naming.

[0118] A client may request to create instance with local disks and local disk partitions attached as volumes. The cloud API 1310 may handle with the request and ask the scheduler 1320 to choose a physical server to build up the instance.

[0119] The cloud scheduler function 1320 may use the disk resource selection component 1321 to calculate best fit disks and best fit disk spaces from each physical server. Based on the result, the scheduler 1320 can get a list of candidates that can meet the disk resource request. As an exemplary example, the calculation below can be used by the scheduler 1320 to select the best candidate:

[0120] passthrough_weight_per_host=w1*1 / waste_host+w2*1 / frags_host,

[0121] The host with the highest weight has the highest priority. After the best host is decided, the scheduler function 1320 may ask the target host 1340 to provide the instance.

[0122] The host agent function 1347 in the target host 1340 may handle with the request and ask the disk resource selection component 1344 to offer best fit disks and best fit disk spaces to assign disk resources. The host agent function 1347 may be a service like nova compute service in OpenStack, or similar service / component on any other suitable platform. The disk resource management component 1342 can cache physical disk spaces into the disk space pool 1343, provide policies to assign the disks and disk spaces from the cache (through the disk resource selection component 1344) , defragment adjacent free disk spaces into bigger one (through the disk space defragmentation component 1345) , and dynamically create the disk partitions through the disk utility 1346 provided by the host operation system.

[0123] Once the resources are locked, the (e.g. IaaS) cloud can then create disk partitions from the disk spaces, create the instance 1348 and attach local disks or local disk partitions as volume to the instance 1348. When the instance is deleted, the resources may be released back to the disk space pool 1343 and the disk resource management component 1342 may merge adjacent free spaces into a larger one. For ease of understanding, further details will be provided below.

[0124] Disk resource managment overview

[0125] The disk resource management component 1342 may comprise the disk space pool 1343, the disk resource selection component 1344 and the disk space defragmentation 1345.

[0126] Disk space pool

[0127] The disk space pool 1343 can be generated by mapping the physical disk spaces into the memory cache. The pool 1343 may comprise different space areas: free spaces area, locked spaces area, and allocated spaces area. The pool 1343 is always synchronized with the database 1330.

[0128] The physical free disk spaces are mapped into free spaces area, which may cover the physical disk space information, including but not limited to start sectors, end sectors and disk identifier. When a free space is locked by a request, it becomes a locked space. When a locked space is allocated, it becomes an allocated space.

[0129] A disk space in the locked spaces area is connected to instance identifier, who locks this space. For example, Table 1 below shows the relation between locked space and instance.

[0130]

[0131] A disk space in the allocated spaces area is connected with instance identifier who locks this space and the attached disk identifier or disk partition identifier. For example, Table 2 below shows the relations between allocated space, instance and new device.

[0132]

[0133]

[0134] Disk resource selection component

[0135] The disk resource selection component 1344 can provide policies to assign best fit disks and best fit disk spaces. The selection performed by the component 1344 may include fully empty disk selection and free contiguous space selection.

[0136] The fully empty disk selection is to provide best fit fully empty disks who cause least waste after calculation. FIG. 14A illustrates the allocation from a fully empty disk. A target disk can have a higher priority if the calculation for a block device request causes less ‘waste’ . For N number of requests on local disks, the total waste on the host may be represented by:

[0137] waste_host=∑i=1 (d [i] -req [i] ) ,

[0138] where req [i] ∈ {request block devices } , d [i] is the best fit disk.

[0139] The set of best fit disks are composed of disks who have the highest priority after calculation.

[0140] The free contiguous space selection is to provide best fit disk spaces to meet the requests of one or more local disk partitions as volume. The best fit disk spaces can cause least size of “potential fragments” after calculation. The “potential fragments” means the rest free space on the disk may be too small to meet a future request after allocation. FIG. 14B illustrates an example in which the “potential fragment” is calculated by reducing the allocated size from free contiguous spaces. In this example, the locked contiguous spaces can meet one or more requests on disk partitions.

[0141] The disk resource selection component 1321 may use the following polices to match available disk spaces for the request on a host: prefer partially empty disks to keep more fully empty disks. Then, after the calculation, it can give more chance to meet disks request in future.

[0142] The optimal combination can cause least size of potential fragments. For example, the total potential fragments of disk spaces can be expressed as below:

[0143]

[0144] where range [j] is the best fit disk space, N is the number of contiguous disk spaces.

[0145] In the above equation, it is a bin packing problem to meet as more as possible requests in one free contiguous disk space. Thus, best fit algorithm can be used. Note that any other suitable algorithms for solving optimization problem (e.g. dynamic programming (DP) algorithm, etc. ) may also be used.

[0146] If there is no partially empty disks, or if free contiguous spaces on partially empty disks cannot meet all disk partitions requests, the disk resource selection component may go on to allocate the contiguous space from fully empty disks for rest requests.

[0147]

[0148] where disk [j] is the optimal available disk, M is the number of disks involved,

[0149] req [i] is a request on local disk partiton,

[0150] K is the max number of requets that can be met in disks [j] .

[0151] In the above equation, it is a bin packing problem to meet as more as possible requests in one disk. Thus, best fit algorithm can be used. Note that any other suitable algorithms for solving optimization problem (e.g. dynamic programming (DP) algorithm, etc. ) may also be used.

[0152] In summary, for a request to passthrough N number of disk partitions as volume, the total fragments on the host may be calculated from the above two equations as below:

[0153]

[0154] FIG. 15 illustrates an exemplary process for fully empty disk selection when creating a instance. At block 1501, requests on local disks are received. At block 1502, it is determined whether there is unmet disk request. If there is an unmet disk request, the best fit disk is found at block 1503. At block 1504, if the result of block 1504 is positive,  the process proceeds to block 1502. If the result of block 1504 is negative, the process proceeds to block 1505 where failure is returned. If there is no unmet disk request, the process proceeds to block 1506 where a list of best fit disks is returned.

[0155] In summary, the process tries to select best fit disks from disk space pool to meet local disks’ requests from the input. After the calculation, it returns the optimal set of fully empty disks. When deleting the instance, the disk is released back to the disk space pool again.

[0156] FIG. 16 illustrates an exemplary process for free contiguous space selection. At block 1601, requests on local disk partitions are received. At block 1602, it is determined whether there is a partially empty disk. If there is a partially empty disk, the process matches best fit disk spaces to meet some / all requests at block 1603. If there is no partially empty disk, the process proceeds to block 1605 described later. At block 1604, it is determined whether there is an unmet request. If there is no unmet request, a list of best fit disk spaces is returned at block 1607. If there is an unmet request, it is determined whether there is a fully empty disk at block 1605. If there is no fully empty disk, the process proceeds to block 1609 where failure is returned. If there is a fully empty disk, the process matches best fit disk spaces from fully empty disks to meet all requests at block 1606. Then, a list of best fit disk spaces is returned at block 1607. Then, the process ends at block 1608.

[0157] In summary, the process prefers partially empty disks (e.g. partitioned disks) to keep more fully empty disks for local disk request in future. The process calculates best fit free contiguous spaces to meet all or part of the requests. If there are no partitioned disks or no enough free contiguous spaces on partially empty disk to meet all requests, the process allocates the free contiguous spaces from the fully empty disks. Finally, the process returns a list of best fit disk spaces. In this way, a best set of local disks and local disk spaces can be provided. The best set can seize least disks and disk spaces and leave more disk resources to meet the requests in future.

[0158] Disk space defragmentation component

[0159] When deleting an instance, the seized disks or disk partitions can be released and the disk resource can be released back to the disk space pool 1343. FIG. 17 illustrates an example of disk space defragmentation. As shown, if the released disk space has adjacent free spaces, the disk space defragmentation component can merge the space with adjacent free spaces into a larger free space. This can avoid the adjacent contiguous spaces from being too small to meet future request and can reduce the disk fragments.

[0160] FIG. 18 illustrates an exemplary process according to an embodiment of the disclosure. The process relates to disk space pool buildup. At step 1, the user defines the disks as volume purpose for all target hosts from the configuration. For example, on linux, the disk’s by-id can be used as disk identifier. At step 2, when the host agent functions starts up, it reads the configuration (at step 2.1) and gets the physical disk spaces according to the disk identifier (at step 2.2) . At step3, the host agent function passes physical disk spaces to the disk resource management component. The disk resource management component builds up a disk space pool for local disks at step 3.1 and returns the disk space pool object back to the host agent function at step 3.2. At step 4, the host agent function saves the disk space pool into the database.

[0161] FIGs. 19A and 19B illustrate an exemplary process according to an embodiment of the disclosure. The process relates to disk space pool update. The pre-requisite for the process is that the scheduler has selected a target host to create the instance. Then, the host agent function gets a request to create the instance at step 1 and applies disks and disk spaces resource for instance whose ID is X through the disk resource management component. At step 3, the disk space management component locks disk resources for the instance. It uses the disk resource selection component to get best fit disks and best fit disk spaces resource at step 3.1. The disk resource selection component does the calculation following the policies described above at step 3.2 and returns a list of optimal disk resources at step 3.3. Then, the disk resource management component connects the disks and disk spaces resource with target instance ID X. At step 4, the disk resource management component returns the list of best fit disks and best fit disk spaces to the host agent function. After getting the disk resources, the host agent function updates the disk space pool into the database at step 5.

[0162] At step 6, the host agent function creates volumes from the disks and disk spaces. At step 7, the disk resource management component prepares physical devices and connects target devices into the disk space pool. When it is to create volume from disk partition, the disk resource management component may create disk partitions from the best fit disk spaces at step 7.1. The device IDs of the disk partitions may be returned at step 7.2. When it is to boot from the volume, the disk resource management component may prepare file system on physical devices at step 7.3. Finally, the disk resource management component connects physical device IDs with target disks and disk spaces resource in the disk space pool at step 7.4. At step 8, the device IDs are returned to the host agent function. After the volume is created, the host agent function updates the disk space pool in the database (DB) at step 9. The host agent function attaches the physical devices to the instance at step 10.

[0163] FIG. 20 is a block diagram showing an apparatus suitable for use in practicing some embodiments of the disclosure. For example, any one of the physical server and the scheduler described above may be implemented through the apparatus 2000. As shown, the apparatus 2000 may include a processor 2010, a memory 2020 that stores a program, and optionally a communication interface 2030 for communicating data with other external devices through wired and / or wireless communication.

[0164] The program includes program instructions that, when executed by the processor 2010, enable the apparatus 2000 to operate in accordance with the embodiments of the present disclosure, as discussed above. That is, the embodiments of the present disclosure may be implemented at least in part by computer software executable by the processor 2010, or by hardware, or by a combination of software and hardware.

[0165] The memory 2020 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memories, magnetic memory devices and systems, optical memory devices and systems, fixed memories and removable memories. The processor 2010 may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers,  microprocessors, digital signal processors (DSPs) and processors based on multi-core processor architectures, as non-limiting examples.

[0166] FIG. 21 is a block diagram showing a physical server of a cloud according to an embodiment of the disclosure. As shown, the physical server 2100 comprises an obtaining module 2102 and a configuration module 2104. The obtaining module 2102 may be configured to obtain information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud, as described above with respect to block 502. The configuration module 2104 may be configured to configure, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration, as described above with respect to block 504.

[0167] FIG. 22 is a block diagram showing a scheduler of a cloud according to an embodiment of the disclosure. As shown, the scheduler 2200 comprises a reception module 2202, a determination module 2204 and a requesting module 2206. The reception module 2202 may be configured to receive, from a client, a request for creating an instance from a physical server, as described above with respect to block 702. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The determination module 2204 may be configured to determine a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose, as described above with respect to block 704. The requesting module 2206 may be configured to request the target physical server to create the instance, as described above with respect to block 706.

[0168] FIG. 23 is a block diagram showing a physical server of a cloud according to an embodiment of the disclosure. As shown, the physical server 2300 comprises a reception module 2302, an obtaining module 2304 and a provision module 2306. The reception module 2302 may be configured to receive, from a scheduler of the cloud, a request for requesting the physical server to create an instance, as described above with respect to block 802. The request may comprise one or more first requirements on physical disks and / or one or more second requirements on disk partitions. The obtaining module 2304  may be configured to obtain a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, as described above with respect to block 804. The provision module 2306 may be configured to provide, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping, as described above with respect to block 806. The modules described above may be implemented by hardware, or software, or a combination of both.

[0169] In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the disclosure is not limited thereto. While various aspects of the exemplary embodiments of this disclosure may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0170] As such, it should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be practiced in various components such as integrated circuit chips and modules. It should thus be appreciated that the exemplary embodiments of this disclosure may be realized in an apparatus that is embodied as an integrated circuit, where the integrated circuit may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor, a digital signal processor, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this disclosure.

[0171] It should be appreciated that at least some aspects of the exemplary embodiments of the disclosure may be embodied in computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components,  data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc. As will be appreciated by one skilled in the art, the function of the program modules may be combined or distributed as desired in various embodiments. In addition, the function may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA) , and the like.

[0172] References in the present disclosure to “one embodiment” , “an embodiment” and so on, indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0173] It should be understood that, although the terms “first” , “second” and so on may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of the disclosure. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed terms.

[0174] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components, but do not preclude the presence or addition of one or more other features, elements, components  and / or combinations thereof. The terms “connect” , “connects” , “connecting” and / or “connected” used herein cover the direct and / or indirect connection between two elements. It should be noted that two blocks shown in succession in the above figures may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

[0175] The present disclosure includes any novel feature or combination of features disclosed herein either explicitly or any generalization thereof. Various modifications and adaptations to the foregoing exemplary embodiments of this disclosure may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-Limiting and exemplary embodiments of this disclosure.

Claims

1.A method performed by a physical server of a cloud, comprising:obtaining (502) information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud; andconfiguring (504) , as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration.2.The method according to claim 1, wherein the configuration comprises identification information of the at least part of the physical disks of the one or more physical servers.3.The method according to claim 2, wherein the identification information of a physical disk comprises one of:a device name of the physical disk;a universally unique identifier, UUID, of the physical disk;a globally unique identifier, GUID, of the physical disk;path information of the physical disk; andlabel information of the physical disk.4.The method according to any of claims 1 to 3, wherein the configuration is represented by one of: a file; and a command.5.The method according to any of claims 1 to 4, wherein configuring (504) the at least one of the one or more physical disks of the physical server comprises:reading (606) a distribution of disk spaces from the at least one physical disks;generating (608) a disk space pool containing disk spaces of the physical server which are usable for volume purpose, based on the distribution of disk spaces; andsaving (610) information about the disk space pool into a database of the cloud.6.The method according to any of claims 1 to 5, wherein the cloud is an infrastructure as a service, IAAS, cloud.7.The method according to any of claims 1 to 6, wherein the information related to the configuration is obtained from a user via a management node of the cloud.8.The method according to claim 7, wherein the user comprises one of:cloud operator;cloud administrator; andcustomer of cloud service.9.A method performed by a scheduler of a cloud, comprising:receiving (702) , from a client, a request for creating an instance from a physical server, wherein the request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions;determining (704) a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose; andrequesting (706) the target physical server to create the instance.10.The method according to claim 9, wherein the physical server whose disk spaces can satisfy the one or more first requirements and / or the one or more second requirements while causing least storage waste and / or fragment among the one or more physical servers is determined as the target physical server.11.The method according to claim 10, wherein for a physical server from the one or more physical servers, a mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste and / or fragment, is determined as a target mapping for the physical server.12.The method according to any of claims 9 to 11, wherein the request comprises at least the one or more second requirements on disk partitions; andwherein in the determining of the target physical server, a partially empty physical disk is preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements.13.The method according to any of claims 9 to 12, wherein the total disk space pool comprises:a free space area containing disk spaces which are free for volume purpose;a locked space area containing disk spaces which are determined to satisfy at least one request for creating corresponding instance and locked for the corresponding instance; andan allocated space area containing disk spaces which have been allocated to one or more instances.14.The method according to claim 13, wherein when at least one disk space is locked or allocated for an instance, the at least one disk space is associated with identification information of the instance.15.The method according to claim 13 or 14, wherein a disk space in the allocated space area is associated with identification information of a physical device providing the disk space.16.The method according to any of claims 9 to 15, wherein a disk space in the total disk space pool is represented by one or more of:start sector and end sector of the disk space; andidentification information of the physical device providing the disk space.17.The method according to any of claims 9 to 16, wherein the total disk space pool maintained by the database is synchronized with corresponding disk space pools maintained by the one or more physical servers.18.The method according to any of claims 9 to 17, wherein the cloud is an infrastructure as a service, IAAS, cloud.19.A method performed by a physical server of a cloud, comprising:receiving (802) , from a scheduler of the cloud, a request for requesting the physical server to create an instance, wherein the request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions;obtaining (804) a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server; andproviding (806) , to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping.20.The method according to claim 19, wherein the request further comprises the target mapping; andwherein obtaining (804) the target mapping comprises: extracting (908) the target mapping from the request.21.The method according to claim 19, wherein obtaining (804) the target mapping comprises: determining (910) the target mapping based on a disk space pool maintained by the physical server to contain disk spaces of the physical server which are usable for volume purpose.22.The method according to any of claims 19 to 21, wherein the request comprises at least the one or more second requirements on disk partitions; andwherein providing (806) the one or more physical disks and / or the one or more disk partitions comprises: creating (1012) the one or more disk partitions based on the target mapping.23.The method according to claim 21 or 22, further comprising:synchronizing (1216) the disk space pool maintained by the physical server with a total disk space pool maintained by a database of the cloud.24.The method according to any of claims 21 to 23, further comprising:when deleting the instance, merging (1114) one or more released disk spaces with one or more adjacent disk spaces to form a new contiguous disk space.25.The method according to any of claims 21 to 24, wherein the mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server, which causes least storage waste / fragment, is determined as the target mapping.26.The method according to any of claims 21 to 25, wherein the request comprises at least the one or more second requirements on disk partitions; andwherein in the determining of the target mapping, a partially empty physical disk is preferentially considered over a fully empty physical disk, for satisfying the one or more second requirements.27.The method according to any of claims 21 to 26, wherein the disk space pool comprises:a free space area containing disk spaces which are free for volume purpose;a locked space area containing disk spaces which are determined to satisfy at least one request for creating corresponding instance and locked for the corresponding instance; andan allocated space area containing disk spaces which have been allocated to one or more instances.28.The method according to claim 27, wherein when at least one disk space is locked or allocated for an instance, the at least one disk space is associated with identification information of the instance.29.The method according to claim 27 or 28, wherein a disk space in the allocated space area is associated with identification information of a physical device providing the disk space.30.The method according to any of claims 21 to 29, wherein a disk space in the disk space pool is represented by one or more of:start sector and end sector of the disk space; andidentification information of the physical device providing the disk space.31.The method according to any of claims 19 to 30, wherein the cloud is an infrastructure as a service, IAAS, cloud.32.A physical server (2000) of a cloud, comprising:at least one processor (2010) ; andat least one memory (2020) , the at least one memory (2020) containing instructions executable by the at least one processor (2010) , whereby the physical server (2000) is operative to:obtain information related to a configuration for defining, as volume, at least part of physical disks of one or more physical servers of the cloud; andconfigure, as volume, at least one of one or more physical disks of the physical server based on the information related to the configuration.33.The physical server (2000) according to claim 32, wherein the physical server (2000) is operative to perform the method according to any of claims 2 to 8.34.A scheduler (2000) of a cloud, comprising:at least one processor (2010) ; andat least one memory (2020) , the at least one memory (2020) containing instructions executable by the at least one processor (2010) , whereby the scheduler (2000) is operative to:receive, from a client, a request for creating an instance from a physical server, wherein the request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions;determine a target physical server satisfying the request, based on a total disk space pool maintained by a database to contain disk spaces of one or more physical servers of the cloud which are usable for volume purpose; andrequest the target physical server to create the instance.35.The scheduler (2000) according to claim 34, wherein the scheduler (2000) is operative to perform the method according to any of claims 10 to 18.36.A physical server (2000) of a cloud, comprising:at least one processor (2010) ; andat least one memory (2020) , the at least one memory (2020) containing instructions executable by the at least one processor (2010) , whereby the physical server (2000) is operative to:receive, from a scheduler of the cloud, a request for requesting the physical server to create an instance, wherein the request comprises one or more first requirements on physical disks and / or one or more second requirements on disk partitions;obtain a target mapping from the one or more first and / or second requirements to corresponding suitable disk spaces of the physical server; andprovide, to the instance, one or more physical disks and / or one or more disk partitions based on the target mapping.37.The physical server (2000) according to claim 36, wherein the physical server (2000) is operative to perform the method according to any of claims 20 to 31.38.A computer readable storage medium storing thereon instructions which when executed by at least one processor, cause the at least one processor to perform the method according to any of claims 1 to 31.