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 the candidate virtual appliances in the list are capable of converting to a configuration that corresponds to the configuration metadata; acquiring, by the one or more processors, a disk format of the custom virtual appliance based on the configuration metadata of the custom virtual appliance; for a specific virtual appliance in the list: acquiring, by the one or more processors, a disk format of the specific virtual appliance; determining, by the one or more processors, based on the disk format conversion information, whether the specific virtual appliance is required to convert a virtual disk on the specific virtual appliance using the disk format conversion information; in response to determining that the specific virtual appliance is not required to convert the virtual disk on the specific virtual appliance using the disk format conversion information, removing, by the one or more processors, the specific virtual appliance from the list; and in response to determining that a candidate virtual appliance from the list is required to convert the virtual disk on the candidate virtual appliance using the disk format conversion information, downloading and constructing, by the one or more processors, the candidate virtual appliance as the custom virtual appliance.