In a virtual machine system, a virtual disk acts as a storage device and is stored as an image file in the virtual machine. There are generally two types of virtual disks, i.e. a virtual disk with a fixed size and a virtual disk with an expandable size. The size of an image file of the virtual disk with a fixed size is fixed and will not be changed as the data is written. The size of the image file of the virtual disk with the expandable size will grow with the data write.
In order to prevent the data loss incurred by an error(s) or failure of the virtual machine system or a system failure, data in the virtual disk is typically backed up to other storage media. For example, every time data is written to the virtual disk or when the data in the virtual disk is changed, all the data in the image file of the virtual disk can be backed up to other storage media. However, such a full backup may result in the transmission of a large amount of duplicate data. To solve this problem, the full backup may be performed at an initial phase for the virtual disk and, when the data is changed, only an incremental backup is performed for the changed data. Nonetheless, such an incremental backup may be applicable only to a virtual disk with a fixed size, rather than a virtual disk with an expandable size.