A data storage method, comprising: allocating a same quantity of virtual nodes to hard disks that are corresponding to configured hard disk capacity levels during system initialization, wherein each virtual node is used to manage stored data; detecting (S101, S202) actual usage of a hard disk corresponding to an initial capacity level in configured hard disk capacity levels, wherein the hard disk capacity levels are obtained by means of classification according to an actual hard disk capacity, wherein the minimum hard disk capacity level is selected from the configured hard disk capacity levels as the initial capacity level during the system initialization; searching (S102, S205) for a destination hard disk corresponding to a second highest capacity level that is in the configured hard disk capacity levels and is higher than the initial capacity level, when it is determined, according to the detected actual usage, that the hard disk corresponding to the initial capacity level exceeds a limit, wherein an actual hard disk capacity of the destination hard disk is larger than an actual hard disk capacity of the hard disk; and determining (S103, S206) a migration ratio of a virtual node according to the initial capacity level, the second highest capacity level, and the actual hard disk capacity of the hard disk when the destination hard disk is obtained by means of searching, such that the migration ratio is the ratio of the actual hard disk capacity of the hard disk over the actual hard disk capacity of the destination, wherein the migration is ended when the ratio of the number of virtual nodes allocated to the hard disk over the number of virtual nodes allocated to the destination hard disk corresponds to the migration ratio; and migrating, according to the migration ratio, one or more virtual nodes allocated to the hard disk and data mapped to the allocated virtual nodes from the hard disk to the destination disk, wherein the migrated data are still mapped to the migrated virtual nodes. allocating a same quantity of virtual nodes to hard disks that are corresponding to configured hard disk capacity levels during system initialization, wherein each virtual node is used to manage stored data; detecting (S101, S202) actual usage of a hard disk corresponding to an initial capacity level in configured hard disk capacity levels, wherein the hard disk capacity levels are obtained by means of classification according to an actual hard disk capacity, wherein the minimum hard disk capacity level is selected from the configured hard disk capacity levels as the initial capacity level during the system initialization; searching (S102, S205) for a destination hard disk corresponding to a second highest capacity level that is in the configured hard disk capacity levels and is higher than the initial capacity level, when it is determined, according to the detected actual usage, that the hard disk corresponding to the initial capacity level exceeds a limit, wherein an actual hard disk capacity of the destination hard disk is larger than an actual hard disk capacity of the hard disk; and determining (S103, S206) a migration ratio of a virtual node according to the initial capacity level, the second highest capacity level, and the actual hard disk capacity of the hard disk when the destination hard disk is obtained by means of searching, such that the migration ratio is the ratio of the actual hard disk capacity of the hard disk over the actual hard disk capacity of the destination, wherein the migration is ended when the ratio of the number of virtual nodes allocated to the hard disk over the number of virtual nodes allocated to the destination hard disk corresponds to the migration ratio; and migrating, according to the migration ratio, one or more virtual nodes allocated to the hard disk and data mapped to the allocated virtual nodes from the hard disk to the destination disk, wherein the migrated data are still mapped to the migrated virtual nodes.