1. A method for providing a custom virtual appliance, the method comprising: generating, by one or more processors, a description file of a custom virtual appliance based on a user requirement; acquiring, by the one or more processors, configuration metadata of the custom virtual appliance from the description file; creating, by the one or more processors, a list of candidate virtual appliances based on the configuration metadata by using conversion information, wherein candidate virtual appliances in the list of candidate virtual appliances are capable of converting to a configuration that corresponds to the configuration metadata; acquiring, by the one or more processors, a disk size of the custom virtual appliance based on the configuration metadata of the custom virtual appliance; and for a specific virtual appliance in the list: acquiring, by the one or more processors, a disk size of the specific virtual appliance; and determining, by the one or more processors and based on disk size conversion information, whether the specific virtual appliance is required to convert a disk size of the custom virtual appliance by performing a disk size conversion on the specific virtual appliance; and in response to determining that a candidate virtual appliance from the list of candidate virtual appliances is required to convert a virtual disk on the candidate virtual appliance using the disk size conversion information, downloading and constructing, by the one or more processors, the candidate virtual appliance as the custom virtual appliance.