WO2024037233A1 - 一种存储***及调度方法 - Google Patents
一种存储***及调度方法 Download PDFInfo
- Publication number
- WO2024037233A1 WO2024037233A1 PCT/CN2023/105224 CN2023105224W WO2024037233A1 WO 2024037233 A1 WO2024037233 A1 WO 2024037233A1 CN 2023105224 W CN2023105224 W CN 2023105224W WO 2024037233 A1 WO2024037233 A1 WO 2024037233A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage
- storage medium
- type
- pool
- volumes
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000010410 layer Substances 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 26
- 239000007787 solid Substances 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 13
- 239000002356 single layer Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims 1
- 230000005012 migration Effects 0.000 description 23
- 238000013508 migration Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 5
- 238000005129 volume perturbation calorimetry Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Definitions
- This application relates to the field of cloud storage, and in particular, to a storage system and a scheduling method.
- the storage system includes various types of storage pools, such as serial advanced technology attachment (SATA) storage pool, solid state disk (SSD) storage pool, serial attached small computer system interface hard drive (serial attached SCSI, SAS for short, where SCSI is the abbreviation of small computer system interface) storage pool, etc.
- SATA serial advanced technology attachment
- SSD solid state disk
- SCSI serial attached small computer system interface hard drive
- One type of storage pool can only be used to carry one type of storage volume.
- SATA type storage pool can only carry SATA storage volumes
- SAS type Storage pools can only host SAS storage volumes
- SSD-type storage pools can only host SSD storage volumes.
- This application provides a storage system and a scheduling method.
- the method described in this application can effectively eliminate storage hot spots, balance resources in each resource pool, and increase sales.
- this application provides a storage system, including:
- a first storage pool is provided with a first storage medium of a first storage medium type and the first storage medium is used to carry a plurality of storage volumes with access attributes of the first storage medium type;
- a second storage pool is provided with a second storage medium of a first storage medium type and the second storage medium is used to carry a plurality of storage volumes with access attributes of the first storage medium type and an access attribute of the second storage medium.
- a third storage pool is provided with a third storage medium of the second storage medium type and the third storage medium is used to carry multiple storage volumes with access attributes of the second storage medium type;
- Scheduling node used for:
- the third storage medium wherein the storage performance of the second storage medium type is lower than the storage performance of the first storage medium type.
- the storage system includes a first storage pool, a second storage pool, a third storage pool and a scheduling node.
- the second storage pool is a hybrid storage pool, and the second storage pool is configured to There is a storage medium of the first storage medium type.
- the storage medium in the second storage pool can be used to carry storage volumes with access attributes of the first storage medium type. It can also be used to carry storage whose storage performance is lower than that of the first storage medium.
- a storage volume of a media type such as a storage volume of a second storage media type.
- the storage volumes in the hybrid storage pool can be migrated with storage volumes of multiple storage media types that it supports.
- the storage volume in the first storage pool can be compared with the storage volume in the second storage pool (hybrid storage pool). migrate, Thereby eliminating hot spots.
- the storage system further includes:
- a fourth storage pool is provided with a fourth storage medium of the second storage medium type, and the fourth storage medium is used to carry a plurality of storage volumes with access attributes of the second storage medium type and an access attribute of a third Multiple storage volumes for storage media types;
- a fifth storage pool is provided with a fifth storage medium of the third storage medium type, and the fifth storage medium is used to carry multiple storage volumes with access attributes of the third storage medium type;
- the scheduling node is also used to:
- the storage system can include multiple hybrid storage pools, and each hybrid storage pool can be used to host storage volumes of multiple storage media types. With hybrid storage pools, hot spots in the storage system can be effectively eliminated.
- the first storage medium type is a solid state drive SSD type
- the second storage medium type is a serial connection small computer system interface hard disk SAS type
- the third storage medium The type is serial hard disk SATA type.
- the first storage medium type is a double-layer storage unit MLC subtype of the solid state drive SSD type
- the second storage medium type is a three-layer storage unit TLC of the SSD type
- the third storage medium type is the QLC subtype of the four-layer storage unit in SSD.
- the first storage medium type is a solid state drive SSD type single-layer storage unit SLC type
- the second storage medium type is an SSD type double-layer storage unit MLC subtype
- the third storage medium type is a three-layer storage unit TLC subtype of SSD.
- the first storage medium type is a single-layer storage unit SLC subtype of the solid state drive SSD type
- the second storage medium type is a double-layer storage unit MLC subtype of the SSD type.
- the third storage medium type is the four-layer storage unit QLC subtype of SSD.
- this application provides a scheduling method, which is applied to a scheduling node of a storage system.
- the storage system further includes a first storage pool, a second storage pool, and a third storage pool.
- the first storage pool A pool is provided with a first storage medium of a first storage medium type and the first storage medium is used to carry a plurality of storage volumes with access attributes of the first storage medium type; the second storage pool is provided with a third storage medium.
- a second storage medium of a storage media type and the second storage medium is used to carry multiple storage volumes with access attributes of the first storage media type and multiple storage volumes with access attributes of the second storage media type;
- the third storage pool is provided with a third storage medium of the second storage medium type and the third storage medium is used to carry multiple storage volumes with access attributes of the second storage medium type; wherein, the The storage performance of the second storage medium type is lower than the storage performance of the first storage medium type, and the method includes:
- the storage system includes a first storage pool, a second storage pool, a third storage pool and a scheduling node.
- the second storage pool is a hybrid storage pool, and the second storage pool is provided with storage of the first storage media type.
- media, the storage media in the second storage pool can be used to carry storage volumes with access attributes of the first storage media type, and can also be used to carry storage volumes of a storage media type with lower storage performance than that of the first storage medium, such as Storage volumes of two storage media types.
- storage volumes in the first storage pool or the third storage pool can only interact with storage volumes in storage pools that have the same storage media type.
- the storage volumes in the hybrid storage pool can be migrated with storage volumes of multiple storage media types that it supports.
- the storage volume in the first storage pool can be compared with the storage volume in the second storage pool (hybrid storage pool). Migration, thereby eliminating hot spots.
- the storage system further includes a fourth storage pool and a fifth storage pool, the fourth storage pool is provided with a fourth storage medium of the second storage medium type and The fourth storage medium is used to carry multiple storage volumes with access attributes of the second storage media type and multiple storage volumes with access attributes of the third storage media type; the fifth storage pool is provided with the A fifth storage medium of a third storage medium type, and the fifth storage medium is used to carry a plurality of storage volumes with access attributes of the third storage medium type;
- the method also includes:
- the storage performance of the third storage medium type is lower than the storage performance of the second storage medium type.
- the first storage medium type is a solid state drive SSD type
- the second storage medium type is a serial connection small computer system interface hard disk SAS type
- the third storage medium The type is serial hard disk SATA type.
- the first storage medium type is a double-layer storage unit MLC subtype of the solid state drive SSD type
- the second storage medium type is a three-layer storage unit TLC of the SSD type
- the third storage medium type is the QLC subtype of the four-layer storage unit in SSD.
- the first storage medium type is a solid state drive SSD type single-layer storage unit SLC type
- the second storage medium type is an SSD type double-layer storage unit MLC subtype
- the third storage medium type is a three-layer storage unit TLC subtype of SSD.
- the first storage medium type is a single-layer storage unit SLC subtype of the solid state drive SSD type
- the second storage medium type is a double-layer storage unit MLC subtype of the SSD type. type or three-layer storage unit TLC subtype
- the third storage medium type is the four-layer storage unit QLC subtype of SSD.
- the hot spot refers to when at least one of the virtual capacity of the storage pool, the physical space occupation of the storage pool, and the bandwidth of the storage pool exceeds the corresponding threshold, and the storage pool's
- the amount of physical space occupied refers to the sum of occupied physical space in each storage volume included in the storage pool
- the bandwidth of the storage pool refers to the sum of the bandwidth of each storage volume included in the storage pool.
- the method further includes: the scheduling node determines a highly volatile storage volume included in the storage system, where the highly volatile storage volume refers to The change amount of at least one of the physical space occupancy and bandwidth of the storage volume within the time interval exceeds the threshold change amount; according to the number of the strongly fluctuating storage volumes included, the included highly fluctuating storage volumes are evenly dispersed to each storage pool in the storage system.
- the present application provides a computing device cluster, including at least one computing device, each of the at least one computing device including a memory and a processor, and the processor of the at least one computing device is configured to execute the The instructions stored in the memory of the at least one computing device enable the cluster of computing devices to execute the method described in the above second aspect or any possible implementation of the second aspect.
- the present application provides a computer-readable storage medium, including computer program instructions.
- the computer program instructions are executed by a computing device cluster
- the computing device cluster executes the above second aspect or any of the second aspects.
- One possible implementation is the method described.
- the present application provides a computer program product containing program instructions, which when executed on a cluster of computing devices When, the computing device cluster executes the method described in the above second aspect or any possible implementation of the second aspect.
- Figure 1 is a schematic diagram of a storage system provided by this application.
- Figure 2 is a schematic diagram of the migration direction of a storage volume provided by this application.
- FIG. 3 is a schematic diagram of another storage volume migration direction provided by this application.
- Figure 4 is a scene example diagram of a storage system provided by this application.
- Figure 5 is a schematic flow chart of a scheduling method provided by this application.
- Figure 6 is an example diagram of a scenario provided by this application.
- Figure 7 is another example scene diagram provided by this application.
- Figure 8 is a schematic structural diagram of a storage system provided by this application.
- Figure 9 is a schematic structural diagram of a computing device provided by this application.
- Figure 10 is a schematic structural diagram of a computing device cluster provided by this application.
- Figure 11 is a schematic structural diagram of another computing device cluster provided by this application.
- Virtual capacity this application relates to the virtual capacity of storage volumes and the virtual capacity of storage pools.
- the virtual capacity of a storage volume refers to the total capacity marked on the storage volume specifications. Generally speaking, the usable capacity in actual applications is less than the total capacity marked on the storage volume (the virtual capacity includes the System files or other files used for the management and use of storage volumes, etc.).
- a storage pool includes one or more storage volumes.
- the virtual capacity of a storage pool refers to the sum of the virtual capacities of each storage volume it includes.
- Physical space occupancy This application involves the physical space occupancy of storage volumes and the physical space occupancy of storage pools.
- the physical space occupied by a storage volume refers to the amount of storage space actually occupied by the storage volume at a certain moment.
- the physical space usage of a storage pool refers to the sum of the physical space usage of each storage volume included in the storage pool.
- Bandwidth this application relates to the bandwidth of storage volumes and the bandwidth of storage pools.
- the bandwidth of a storage volume refers to the amount of data read and written to the storage volume per unit time.
- the bandwidth of a storage pool refers to the sum of the bandwidth of each storage volume included in the storage pool.
- a hotspot occurs in a storage pool, which means that the value of one or more attributes of the storage pool exceeds the corresponding threshold.
- the attributes of the storage pool include virtual capacity, physical space usage, and bandwidth.
- the thresholds of each attribute are set in the storage pool. For different storage pools, the thresholds of the same attribute can be different or the same; for the same storage pool, the thresholds of different attributes are generally different. Among them, the threshold corresponding to each attribute can be set by the user. For example, when the physical space occupancy of the storage pool exceeds the corresponding threshold, the storage pool is considered to have a hotspot in the physical space occupancy dimension; when the bandwidth of the storage pool exceeds the corresponding threshold, the storage pool is considered to be in bandwidth. Hot spots have occurred in the dimension; if the physical space usage of the storage pool exceeds the corresponding threshold and the bandwidth also exceeds the corresponding threshold, the storage pool is considered to have hot spots in both the physical space usage dimension and the bandwidth dimension.
- the occurrence of hot spots in the storage pool in this application generally refers to the storage pool's physical space occupancy dimension and/or Or hotspots occur in the bandwidth dimension.
- a hybrid storage pool refers to a storage volume that can carry two or more storage media types in the storage pool. For example, if a storage pool can host both SSD-type storage volumes and SAS-type storage volumes, the storage pool is a hybrid storage pool. For another example, if a storage pool can host both SAS-type storage volumes and SATA-type storage volumes, the storage pool is a hybrid storage pool.
- storage media are provided in the storage pool, and the storage media can be used to carry storage volumes. Different types of storage media can carry different types of storage volumes. For example, SSD type storage media can be used to carry SSD type storage volumes, SATA type storage media can be used to carry SATA type storage volumes, and SAS type storage media can be used to carry SAS type storage volume.
- SSD type storage media can be used to carry SSD type storage volumes
- SATA type storage media can be used to carry SATA type storage volumes
- SAS type storage media can be used to carry SAS type storage volume.
- the storage system includes multiple types of storage pools. Different types of storage pools correspond to different application programming interfaces (APIs). When you need to write data to or read data from a certain storage pool, you can Write data to the storage pool or read data from the storage pool through the API interface corresponding to the storage pool, where the data exists in the form of a storage volume in the storage pool, and the storage medium is used to carry the storage volume. For example, data can be written to an SSD storage pool through the SSD API.
- SSD storage media is used to host storage volumes with SSD API type access attributes
- SAS storage media is used to host storage volumes with SAS API type access attributes
- SATA storage media is used to host SATA API type access attributes.
- Storage volume where the access attribute refers to the access interface type of the storage medium.
- the access attribute can be the access interface type of SSD API or SAS API or SATA API or other storage media types.
- Common storage pools are used to carry storage volumes of one storage media type. For example, SATA storage pools are used to carry SATA type storage volumes, SAS storage pools are used to carry SAS type storage volumes, and SSD storage pools are used to carry SSD type storage volume.
- This application proposes a hybrid storage pool. The following describes how to obtain a hybrid storage pool.
- a part of the relatively high-performance storage pools can be divided and configured as a hybrid storage pool.
- the storage media remains unchanged before and after configuration. What changes is Configuration methods and management methods. Among them, performance includes data reading and writing speed. If the data reading and writing speed is faster, the performance will be higher. If the data reading and writing speed is slower, the performance will be lower.
- Configuration methods and management methods include:
- Storage pools used to host one type of storage volumes are only allowed to migrate storage volumes with storage pools of the same type.
- Storage volumes are not allowed to be migrated with storage pools of different types.
- SSD storage pools are only allowed to be migrated with SSD storage pools.
- Storage volumes can be moved in and out between storage pools. Storage volumes cannot be moved in or out with other storage pools. The same is true for SATA storage pools and SAS storage pools. Only storage volumes of the same type are allowed to be moved between storage pools. Migration and migration of storage volumes to and from storage pools of different types is not allowed;
- hybrid storage pool can migrate storage volumes between the hybrid storage pool and the SSD storage pool.
- Storage volumes can also be migrated between SAS storage pools; if the hybrid storage pool is set up to allow SATA type storage volumes and SAS type storage volumes, the hybrid storage pool can migrate storage volumes with the SATA storage pool, or with the SAS storage pool.
- SAS storage pool migrates storage volumes. That is, a mixed storage pool can communicate with supported types of storage pools.
- the storage system includes storage pool 1, storage pool 2, storage pool 3, storage pool 4, storage pool 5, storage pool 6, storage pool 7, and storage pool 8, where storage Pool 1 is a SATA storage pool, storage pool 2, storage pool 3 and storage pool 4 are SAS storage pools, storage pool 5, storage pool 6, storage pool 7 and storage pool 8 are SSD storage pools, here, the SSD storage pool refers to It contains only one storage medium with the same storage performance.
- the performance of each storage pool from high to low is: SSD storage pool, SAS storage pool, SATA storage pool. The performance here includes data reading and writing speed.
- Storage pool 2 is now determined to be a hybrid storage pool, and the hybrid storage pool is set to be used to host storage volumes with access attributes of SAS type, and can also be used to host storage volumes with access attributes of SATA type.
- This hybrid storage The pool can be called a SAS
- This hybrid storage pool may also be called a SAS
- FIG. 2 is a schematic diagram of the relationship between the SAS
- both SAS storage pools and SATA storage pools can communicate with SAS
- SATA hybrid storage pool can also migrate the SAS storage volume to the SAS storage pool, and the SATA storage volume to the SATA storage pool, but the SAS storage pool and the SATA storage pool are not interoperable, that is, the SAS storage pool Storage volumes cannot be migrated to SATA storage pools, and storage volumes from SATA storage pools cannot be migrated to SAS storage pools.
- each storage volume carries its own attributes, and the storage system can know what type of storage volume it is based on the attributes carried by the storage volume.
- Figure 3 is a schematic diagram of the relationship between the SAS
- SATA hybrid storage pool are only used as examples. In actual applications, other types of hybrid storage pools can also be set up.
- SSD hybrid storage pools can be set up, SATA
- SSD hybrid storage pool is used to carry SATA type storage volumes. SAS type storage volumes and SSD type storage volumes, etc. This application does not limit the type of hybrid storage pool, the type and number of storage volumes that the hybrid storage pool is allowed to carry.
- SSD storage media has high storage performance, and storage performance includes the reading and writing speed of data in the storage media.
- SSD storage media also includes single-level storage unit (Single-Level Cell, SLC) storage media, double-level storage unit storage media (Multi-Level Cell, MLC), three-level storage unit storage media (Trinary-Level Cell, TLC) and four-level storage media.
- Storage unit storage medium Quantad-Level Cell, QLC).
- SLC storage media refers to the storage particles in the storage pool being SLC.
- Each storage unit in the storage pool stores 1 bit of information, that is, the storage pool has two voltage changes of 0 and 1.
- This type of storage pool has a simple structure. , Fast voltage control, long life, and high storage performance.
- MLC storage media refers to the storage particles in the storage pool being MLC.
- Each storage unit stores 2 bits of information.
- the storage pool has four variations: 00, 01, 10, and 11. This type of storage pool requires more complex voltage control. , storage performance and reliability are reduced to a certain extent compared to the storage pool of SLC storage media.
- TLC storage media refers to the storage particles in the storage pool being TLC. Each storage unit stores 3 bits of information.
- the voltage of the storage pool has a total of 8 changes from 000 to 111.
- the voltage control of this type of storage pool is more complex and the storage performance Lower than MLC.
- QLC storage media means that the storage particles in the storage pool are QLC.
- Each storage unit stores 4 bits of information.
- the voltage of the storage pool has 16 changes from 0000 to 1111.
- the storage performance is lower than that of TLC storage media. .
- SLC type storage pools, MLC type storage pools, TLC type storage pools, and QLC type storage pools are all SSD storage pools, but they use different storage particles and have different storage performance. Therefore, SLC, MLC, TLC and QLC can be understood as different storage media and can be used as different types of storage pools.
- the storage system includes storage pool 1, storage pool 2, storage pool 3, storage pool 4, storage pool 5, storage pool 6, storage pool 7 and storage pool 8, where storage pool 1
- the storage medium is SLC.
- Storage pool 1 can only be used to host storage volumes with access attributes of SLC.
- the storage media of storage pool 2, storage pool 3 and storage pool 4 are MLC.
- Storage pool 2, storage pool 3 and storage pool 4 are all It can only be used to host storage volumes with access attributes of MLC.
- the storage media of storage pool 5, storage pool 6, storage pool 7 and storage pool 8 are TLC. Storage pool 5, storage pool 6, storage pool 7 and storage pool 8 They can only be used to host storage volumes with TLC access attributes.
- storage volumes in storage pools of the same type of storage media can be migrated to each other, but storage volumes in storage pools of different types of storage media cannot be migrated, that is: storage volumes in storage pool 2, storage pool 3, and storage pool 4 can be migrated. Migrate to each other.
- the storage volumes in storage pool 5, storage pool 6, storage pool 7 and storage pool 8 can migrate to each other; the storage volumes in storage pool 1 and the storage volumes in storage pool 2, storage pool 3 and storage pool 4 can be migrated to each other.
- Mutual migration is not possible.
- the storage volumes in storage pool 2, storage pool 3, and storage pool 4 cannot be migrated to each other with the storage volumes in storage pool 5, storage pool 6, storage pool 7, and storage pool 8.
- storage pool 2 can be configured as an SLC
- Storage pool 2 can be used to host storage volumes with access attributes of SLC and storage volumes with access attributes of MLC. storage volume. Therefore, the storage volume with the access attribute SLC in storage pool 2 can interact with the storage volume in storage pool 1, and the storage volume with the access attribute MLC in storage pool 2 can interact with the storage volumes in storage pool 3 and storage pool 4. Interaction.
- Storage pool 5 and storage pool 6 are also configured as MLC
- Storage pool 5 and storage pool 6 can be used to host storage volumes with access attributes of MLC and storage volumes with access attributes of TLC. . Therefore, the storage volumes with the access attribute MLC in storage pools 5 and 6 can interact with the storage volumes in storage pools 3 and 4, and the storage volumes with the access attribute TLC in storage pools 5 and 6 can interact with The storage volumes in storage pool 7 and storage pool 8 interact. In addition, the storage volumes with MLC access attributes in storage pools 5 and 6 can also interact with the storage volumes with MLC access attributes in storage pool 2.
- Figure 4 is only an example diagram.
- the storage medium of storage pool 1 can be MLC
- the storage media of storage pool 2, storage pool 3, and storage pool 4 can be TLC
- the storage media of storage pool 5, storage pool 6, storage pool 7 and The storage medium of storage pool 8 is QLC.
- the storage medium of storage pool 1 can be SLC
- the storage media of storage pool 2, storage pool 3, and storage pool 4 can all be MLC or TLC
- the storage media of storage pool 5, storage pool 6, storage pool 7, and The storage medium of storage pool 8 is QLC.
- the hybrid storage pool can communicate with the supported types of storage pools.
- a hotspot occurs in a storage pool in one dimension
- part of the storage in the storage pool where the hotspot occurs will be Volumes are migrated to a hybrid storage pool to eliminate hot spots.
- some storage volumes in the hybrid storage pool can be migrated to another storage pool to eliminate hybrid Storage pool hotspot.
- storage pool 1 SATA storage pool
- some storage volumes in storage pool 1 can be migrated to the SAS
- SATA hybrid storage pool After migration, if the SAS
- SAS storage pool storage pool 3
- SAS storage pool 4 SAS storage pool
- Figure 5 is a schematic flowchart of a scheduling method provided by this application. The method includes but is not limited to the following description.
- the scheduling node determines the first hybrid storage pool in the storage system.
- the storage system includes multiple types of storage pools, and there are one or more storage pools of each type. Different types of storage pools have different performances. Configure some storage pools with relatively high performance as hybrid storage pools. Optionally, you can configure one type of storage pool with higher performance in the storage system as one type of hybrid storage pool, or you can configure multiple types of storage pools with higher performance as multiple types of hybrid storage pools. Storage pools. Different types of hybrid storage pools have different performances and different types of storage volumes they carry. Their performance includes data reading and writing speeds.
- the storage system includes one or more SATA storage pools and multiple SAS storage pools.
- Some hard disk storage pools in multiple SAS storage pools can be configured as SAS
- SATA hybrid storage pools can be either Hosts SAS storage volumes and can also host SATA storage volumes.
- the storage system includes one or more SAS storage pools and multiple SSD storage pools. Some of the storage pools in the multiple SSD storage pools can be configured as SAS
- SSD hybrid storage pools can be either It carries SAS storage volumes and can also carry SSD storage volumes.
- the storage system includes one or more SATA storage pools, multiple SAS storage pools, and multiple SSD storage pools.
- Some hard disk storage pools in the multiple SAS storage pools can be configured as SAS
- Some storage pools in the SSD storage pool are configured as SAS
- SSD hybrid storage pools can host both SAS storage volumes and SSD storage volumes.
- the storage system includes a storage pool whose storage medium is SLC type, a storage pool whose storage medium is MLC type, a storage pool whose storage medium is TLC type, and a storage pool whose storage medium is QLC type.
- Some of the MLC type storage pools can be The storage pools are set as SLC
- configuration is performed directly on the basis of storage media and configured as a hybrid storage pool, rather than configuring a certain type of storage pool as a hybrid storage pool.
- the configuration contents that differ between a storage pool configured to host one type of storage pool and a hybrid storage pool include usage methods and management methods.
- the number of hybrid storage pools may be determined based on each type of storage pool included in the storage system and the number of each type of storage pool.
- the first hybrid storage pool can be a SAS
- the first hybrid storage pool can also be other storage pools, which is not limited in this application.
- hybrid storage pools can be set up in the system.
- the system is set up with a first hybrid storage pool and a second hybrid storage pool, where the first hybrid storage pool is a SAS
- the second hybrid storage pool is a SAS
- This application does not limit the number of types of hybrid storage pools, and the number of hybrid storage pools of each type is not limited.
- the storage system monitors each storage volume, including monitoring each storage volume in terms of virtual capacity, physical space occupancy and bandwidth dimensions. Specifically, the storage system monitors the virtual capacity and physical space occupancy of each storage volume in real time. How much, what is the bandwidth. According to the virtual capacity, physical space occupancy, and bandwidth of each storage volume, the virtual capacity, physical space occupancy, and bandwidth of each storage pool included in the storage system can be determined, where storage The various storage pools included in the system include storage pools that host one type of storage volume and hybrid storage pools.
- each storage pool Based on the physical space occupied by each storage pool, you can determine whether each storage pool has hot spots in the physical space occupancy dimension; based on the bandwidth of each storage pool, you can determine whether each storage pool has hot spots in the bandwidth dimension.
- Hot spots in a storage pool include hot spots in the physical dimension of the storage pool, hot spots in the bandwidth dimension of the storage pool, or hot spots in both the physical and bandwidth dimensions of the storage pool.
- some storage volumes in the storage pool where the hotspot occurs are migrated to the first hybrid storage pool.
- the storage pool where hot spots occur is a SATA storage pool
- some storage volumes in the storage pool where hot spots occur can be migrated to a SAS
- SAS Storage pool you can put the hotspot in the storage pool Migrate some of the storage volumes to a SAS
- the storage pool where the hotspot occurs is an SSD storage pool, you can migrate some of the storage volumes in the storage pool where the hotspot occurs to SAS
- the storage pool where the hot spot occurs is an SLC type storage pool
- some storage volumes in the storage pool where the hot spot occurs can be migrated to the SLC
- the storage pool where the hot spot occurs is an MLC type storage Pool, you can migrate some storage volumes in the storage pool where hotspots occur to the SLC
- the storage volume to be migrated and the target hybrid storage pool can be determined according to the following formula (1),
- Acc j represents the salable ratio
- Acc j (x o ) represents the salable proportion of storage pool j before migration.
- Storage pool j refers to the storage pool where the storage volume to be migrated is located.
- formula (1) is to make the value of unit capacity move in a larger direction.
- Formula (1) can be realized through an algorithm. Through multiple iterations of the algorithm, the storage volume to be migrated traverses each storage in the storage system. volumes, so that the target hybrid storage pool traverses each storage pool in the storage system to determine which storage volumes are to be migrated and which target hybrid storage pool is, thereby determining the optimal migration plan.
- the sellable ratio indicates the proportion of storage space that can be sold.
- VSU j (t) represent the virtual capacity of storage pool j at time t
- VST j to represent the threshold corresponding to the virtual capacity of storage pool j
- PST j to represent the threshold corresponding to the physical space occupation of storage pool j
- BWT j Represents the threshold corresponding to the bandwidth of storage pool j.
- Use PSU j (t) to represent the physical space occupation of storage pool j at time t.
- Use BWU j (t) to represent the bandwidth of storage pool j at time t.
- Acc j (t) min ⁇ VST j -VSU j (t), PST j -PSU j (t), BWT j -BWU j (t) ⁇ (2)
- Accommodation capacity indicates the size of the salable value.
- a large salable volume means a large salable value
- a small salable volume means a small salable value.
- Available quantity p j ⁇ VST j ⁇ Acc j (t) (3)
- p j represents the value of unit capacity of storage pool j.
- the migration plan can be determined by the above formula (1).
- the storage volume is considered not to be strongly volatile. Volatile storage volumes.
- the storage volume is considered to be a highly volatile storage volume.
- the physical space occupied by the storage volume at time t3 is p1
- the physical space occupied by the storage volume within the set time interval is The amount of change is the difference between p2 and p1.
- the storage volume is considered to be a highly volatile storage volume. If the difference between p2 and p1 does not exceed the physical space usage The second threshold corresponding to the volume indicates that the storage volume is not a highly volatile storage volume.
- the second threshold corresponding to the bandwidth change and the second threshold corresponding to the physical space occupation may be the same or different.
- the second threshold corresponding to the bandwidth change and the second threshold corresponding to the physical space occupation can be specifically set according to specific application scenarios, which are not limited in this application.
- the storage system When monitoring the existence of highly volatile storage volumes in the storage system, determine the number of highly volatile storage volumes and evenly distribute the highly volatile storage volumes to various storage pools in the storage system. For example, if there are a total of 10 highly volatile storage volumes in the storage system and the storage pool includes a total of 5 storage pools, then the 10 highly volatile storage volumes are distributed to 5 storage pools, and one storage pool includes 2 A highly volatile storage volume.
- each storage pool may be unbalanced in various dimensions, because the salable volume of the storage pool follows the "barrel effect" (barrel effect law). What it says is that for a wooden bucket to be filled with water, every wooden board must be even and undamaged. If one of the wooden boards of the bucket is uneven or there is a hole under a certain wooden board, the bucket will not be able to be filled with water. Filled with water.
- the migration strategy can be determined according to the following formula (4).
- the migration strategy includes the objects to be migrated (which storage volumes are to be migrated), the destination storage pool (which storage pool to migrate to),
- formula (4) represents the salable volume of the system after migration
- f o represents the salable volume of the system before migration
- ps i represents the physical space occupied by storage volume i, where storage volume i refers to the storage volume to be migrated.
- the meaning of formula (4) is that each step of migration makes the system's salable volume move toward a direction with higher value per unit capacity.
- Formula (4) can be realized through an algorithm. Through the algorithm iterative loop, the objects to be migrated are traversed. Each storage volume and destination storage pool in the system traverses each storage pool in the system to determine the best migration strategy to maximize the sales volume of the storage system.
- the storage system includes a SAS storage pool, an SSD storage pool and a SAS
- PS represents the physical space occupied
- VS represents the virtual capacity
- BD represents bandwidth.
- the physical space occupancy in the SAS storage pool is much greater than the bandwidth occupancy
- the bandwidth occupancy in the SSD storage pool is much greater than the physical space occupancy.
- the shaded area indicates the salable proportion of the storage pool.
- the storage volumes in the storage system are migrated. For example, storage volumes that occupy larger bandwidth and smaller physical space in the SSD storage pool are migrated to SAS.
- hybrid storage pools could be migrated between storage pools of the same type, but storage volumes could not be migrated between storage pools of different types. For the entire storage system, the system's salability The improvement in quantity is limited. After the concept of hybrid storage pools was proposed, hybrid storage pools can migrate storage volumes between multiple types of storage pools, which helps to increase the sellable volume of the entire system.
- the storage system includes 3 SSD storage pools and 2 SAS storage pools.
- the SSD storage pool bandwidth occupies a large amount.
- the physical space occupied is small.
- the physical space occupied by the SAS storage pool is large and the bandwidth occupied is small.
- the salable proportion of the SSD storage pool is ultimately determined by the bandwidth dimension data.
- the salable proportion of the SAS storage pool is ultimately determined by Data determination of physical space occupancy dimensions.
- the blank length of the storage pool represents the salable proportion of the storage pool. The longer the blank length, the greater the salable proportion.
- the middle picture of Figure 7 is obtained. It can be seen that between storage pools of the same type The balance has been improved.
- 3 SSD storage pools can be configured as SSD
- Scheduling the schematic diagram shown on the right side of Figure 7 is obtained. It can be seen from the figure that the salable proportion of the SAS storage pool has increased significantly, and the salable proportion of the hybrid storage pool has slightly decreased. From the perspective of actual income, the SAS storage pool can The increase in sales volume is far greater than the decrease in the sellable volume of the SSD storage pool.
- hierarchical storage also known as hierarchical storage management, places infrequently accessed data in a lower-performance storage media layer, and places more frequently accessed data in a higher-performance storage media layer.
- hybrid storage pool scheduling is to allow low-performance storage volumes to be migrated to high-performance storage pools from a balanced perspective, thereby releasing the sellable space of the low-performance storage pool.
- migrating low-access data to high-performance storage media is contrary to its scheduling philosophy and is not allowed.
- hybrid storage pool scheduling migrating low-performance storage volumes to high-performance storage media is not allowed. It is allowed in high-performance storage pools, and the benefits released by low-performance storage pools are greater than the cost of occupying high-performance storage pools.
- this application proposes the concept of a hybrid storage pool, which configures a storage pool containing a certain number of storage media with higher storage performance as a hybrid storage pool.
- the hybrid storage pool can be used to carry two or more types of storage. Volumes, by setting up hybrid storage pools, storage volumes between different types of storage pools can be migrated, effectively eliminating hot spots in the storage system; by evenly distributing highly volatile storage volumes to multiple storage pools, improving determine the salable value of the storage system.
- Figure 8 is a schematic structural diagram of a storage system 800 provided by this application.
- the storage system 800 includes:
- the first storage pool 810 is provided with a first storage medium of a first storage media type and the first storage medium is used to carry multiple storage volumes with access attributes of the first storage media type;
- the second storage pool 820 is provided with a second storage medium of the first storage media type, and the second storage medium is used to carry multiple storage volumes with access attributes of the first storage media type and multiple storage volumes with access attributes of the second storage media type. storage volume;
- the third storage pool 830 is provided with a third storage medium of the second storage medium type and the third storage medium is used to carry multiple storage volumes with access attributes of the second storage medium type;
- Scheduling node 840 used for:
- the second storage pool 820 When it is determined that a hotspot occurs in the second storage pool 820 , some of the storage volumes in the second storage medium with access attributes of the first storage medium type are migrated to the first storage medium in the first storage pool 810 , and/or, migrate some of the storage volumes in the second storage medium with the access attribute of the second storage medium type to the third storage medium of the third storage pool 830; wherein, the second storage medium type The storage performance is lower than the storage performance of the first storage media type.
- the storage system 800 also includes:
- the fourth storage pool 850 is provided with a fourth storage medium of a second storage media type, and the fourth storage medium is used to carry multiple storage volumes with access attributes of the second storage media type and multiple storage volumes with access attributes of the third storage media type. storage volume;
- the fifth storage pool 860 is provided with a fifth storage medium of a third storage medium type, and the fifth storage medium is used to carry multiple storage volumes with access attributes of the third storage medium type;
- Scheduling node 840 also used for:
- some of the storage volumes in the third storage medium with access attributes of the second storage medium type are migrated to the second storage medium in the second storage pool 820. , and/or, migrate some of the storage volumes among the plurality of storage volumes whose access attributes are the second storage medium type in the third storage medium to the fourth storage medium of the fourth storage pool 850;
- some of the storage volumes in the fourth storage medium that have access attributes of the second storage medium type are migrated to the third storage medium in the third storage pool 830 , and/or, migrate some of the storage volumes among the plurality of storage volumes with access attributes of the third storage medium type in the fourth storage medium to the fifth storage medium of the fifth storage pool 860; and,
- the fifth storage pool 860 migrate some of the storage volumes in the fifth storage medium that access multiple storage volumes with the third storage media type to the fourth storage medium in the fourth storage pool 850; Wherein, the storage performance of the third storage medium type is lower than the storage performance of the second storage medium type.
- the first storage medium type is a solid state drive SSD type
- the second storage medium type is a serial connection small computer system interface hard disk SAS type
- the third storage medium type is a serial port hard disk SATA type.
- the first storage medium type is a double-layer storage unit MLC subtype of the SSD type
- the second storage medium type is a three-layer storage unit TLC subtype of the SSD type
- the third storage medium type is The QLC subtype of four-layer memory cells in SSD.
- the first storage medium type is a single-layer storage unit SLC type of solid state drive SSD type
- the second storage medium type is a double-layer storage unit MLC subtype of SSD type
- the third storage medium type is SSD type.
- the first storage medium type is a solid state drive SSD type single-layer storage unit SLC subtype
- the second storage medium type is an SSD type double-layer storage unit MLC subtype or a three-layer storage unit TLC subtype
- the third storage medium type is the QLC subtype of the four-layer storage unit of SSD.
- the hot spot refers to when at least one of the storage pool's virtual capacity, the storage pool's physical space occupancy, and the storage pool's bandwidth exceeds the corresponding threshold
- the storage pool's physical space occupancy refers to the storage pool's physical space occupancy.
- the bandwidth of a storage pool refers to the sum of the bandwidth of each storage volume included in the storage pool.
- the scheduling node 840 is also used to:
- the highly volatile storage volume refers to a change in at least one of the physical space occupancy and bandwidth of the storage volume exceeding the threshold change within a set time interval; according to The number of included highly volatile storage volumes is to evenly distribute the included highly volatile storage volumes to various storage pools in the storage system 800 .
- the scheduling node 840 in the storage system 800 can be implemented by software, or can be implemented by hardware. As an example, the implementation of the scheduling node 840 is introduced next.
- the scheduling node 840 may include code running on a computing instance.
- the computing instance may be at least one of a physical host, a virtual machine, a container, and other computing devices. Further, the above computing device may be one or more.
- scheduling node 840 may include code running on multiple hosts/virtual machines/containers. It should be noted that multiple hosts/virtual machines/containers used to run the application can be distributed in the same region (region) or in different regions. Multiple hosts/VMs/containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple geographical locations Close data center. Among them, usually a region can include multiple AZs.
- the multiple hosts/VMs/containers used to run the code can be distributed in the same virtual private cloud (VPC), or across multiple VPCs.
- VPC virtual private cloud
- Cross-region communication between two VPCs in the same region or between VPCs in different regions requires a communication gateway in each VPC, and the interconnection between VPCs is realized through the communication gateway.
- the scheduling node 840 may include at least one computing device, such as a server.
- the scheduling node 840 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
- CPLD complex programmable logical device
- FPGA field-programmable gate array
- GAL general array logic
- Multiple computing devices included in the scheduling node 840 may be distributed in the same region or in different regions. Multiple computing devices included in the scheduling node 840 may be distributed in the same AZ or in different AZs. Similarly, multiple computing devices included in the scheduling node 840 may be distributed in the same VPC or in multiple VPCs.
- the plurality of computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
- FIG. 9 is a schematic structural diagram of a computing device 900 provided by this application.
- the computing device 900 includes:
- the bus 902 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 9, but it does not mean that there is only one bus or one type of bus.
- Bus 902 may include a path that carries information between various components of computing device 900 (eg, memory 906, processor 904, communications interface 908).
- the processor 904 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP). any one or more of them.
- CPU central processing unit
- GPU graphics processing unit
- MP microprocessor
- DSP digital signal processor
- Memory 906 may include volatile memory, such as random access memory (RAM).
- the processor 904 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (solid state drive). drive, SSD).
- ROM read-only memory
- flash memory flash memory
- HDD hard disk drive
- solid state drive solid state drive
- the memory 906 stores executable code, and the processor 904 executes the executable code to implement the functions of the aforementioned scheduling node 840, thereby implementing a scheduling method. That is, the memory 906 stores instructions for executing a scheduling method.
- the communication interface 908 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 900 and other devices or communication networks.
- This application provides a computing device cluster, which includes at least one computing device.
- the computing device may be a server, such as a central server, an edge server, or a local server in a local data center.
- the computing device cluster includes at least one computing device 900 .
- One or more computing devices in a computing device cluster Memory 906 in 900 may contain the same instructions for performing a scheduling method.
- the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing a calling method.
- a combination of one or more computing devices 900 may collectively execute instructions for performing an invocation method.
- the memories 906 in different computing devices 900 in the computing device cluster can store different instructions, respectively used to execute part of the functions of the storage system 800 . That is, the instructions stored in the memory 906 in different computing devices 900 can implement the functions of the scheduling node 840.
- one or more computing devices in a cluster of computing devices may be connected through a network.
- the network may be a wide area network or a local area network, etc.
- Figure 11 is a schematic structural diagram of another computing device cluster provided by this application. As shown in Figure 11, two computing devices 900A and 900B are connected through a network. Specifically, the connection to the network is made through a communication interface in each computing device.
- instructions for performing the functions of the scheduling node 840 are stored in the memory 906 of the computing device 900A. At the same time, instructions for performing the functions of the scheduling node 840 are also stored in the memory 906 of the computing device 900B.
- the scheduling node 840 in the computing device 900A is used to migrate the storage volume when it is determined that a hotspot occurs in a certain storage pool, and the scheduling node 840 in the computing device 900B is used to determine whether a hot spot occurs in a certain storage pool.
- highly volatile storage volumes and evenly distribute the highly volatile storage volumes to various storage pools according to the number of highly volatile storage volumes.
- computing device 900A shown in FIG. 11 may also be performed by multiple computing devices 900.
- the functions of computing device 900B may also be performed by multiple computing devices 900 .
- the embodiment of the present application also provides another computing device cluster.
- the connection relationship between the computing devices in the computing device cluster can be similar to the connection method of the computing device cluster described in FIG. 10 and FIG. 11 .
- the memory 906 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing a scheduling method.
- a combination of one or more computing devices 900 may collectively execute instructions for performing a scheduling method.
- the memory 906 in different computing devices 900 in the computing device cluster can store different instructions for executing some functions of the storage system. That is, instructions stored in the memory 906 in different computing devices 900 may implement the functions of one or more devices in the scheduling node 840 .
- An embodiment of the present application also provides a computer program product containing instructions.
- the computer program product may be a software or program product containing instructions capable of running on a computing device or stored in any available medium.
- the computer program product is run on at least one computing device, at least one computing device is caused to execute a scheduling method.
- An embodiment of the present application also provides a computer-readable storage medium.
- the computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media.
- the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
- the computer-readable storage medium includes instructions that instruct a computing device to perform a scheduling method.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种存储***及调度方法,调度方法应用于云存储领域,存储***包括:第一存储池,设置有第一存储介质类型的第一存储介质且第一存储介质用于承载访问属性为第一存储介质类型的存储卷;第二存储池,设置有第一存储介质类型的第二存储介质且第二存储介质用于承载访问属性为第一存储介质类型或第二存储介质类型的存储卷;第三存储池,设置有第二存储介质类型的第三存储介质且第三存储介质用于承载访问属性为第二存储介质类型的存储卷;调度节点,用于:在第一存储池或第三存储池发生热点的情况下,将发生热点的存储池中的部分存储卷迁移至第二存储池中。本申请提出了混合存储池的概念,基于混合存储池进行资源的调度能够有效消除热点。
Description
本申请要求于2022年08月17日提交中国专利局、申请号为202210985223.2、申请名称为“一种调度方法”的中国专利申请的优先权,以及要求于2022年11月28日提交中国专利局、申请号为202211508564.7、申请名称为“一种存储***及调度方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及云存储领域,尤其涉及一种存储***及调度方法。
存储***中包括多种类型的存储池,比如串口硬盘(serial advanced technology attachment,SATA)存储池、固态硬盘(solid state disk,SSD)存储池、串行连接小型计算机***接口硬盘(serial attached SCSI,简称SAS,其中SCSI为small computer system interface的缩写)存储池等,一种类型的存储池只能用于承载一种存储卷,比如,SATA类型的存储池只能承载SATA存储卷,SAS类型的存储池只能承载SAS存储卷,SSD类型的存储池只能承载SSD存储卷。
在存储***中的某个存储池发生存储热点的情况下,只能将发生存储热点的存储池中的部分存储卷迁移至相同类型的其他存储池中,以消除存储热点,但在相同类型的其他存储池中的存储卷处于接入饱和状态或已饱和状态的情况下,将部分存储卷迁移过来会产生新的存储热点,无法做到消除存储热点。
发明内容
本申请提供了一种存储***及调度方法,采用本申请所述的方法,能够有效消除存储热点,均衡各个资源池中的资源,提高售卖量。
第一方面,本申请提供了一种存储***,包括:
第一存储池,设置有第一存储介质类型的第一存储介质且所述第一存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷;
第二存储池,设置有第一存储介质类型的第二存储介质且所述第二存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷和访问属性为第二存储介质类型的多个存储卷;
第三存储池,设置有所述第二存储介质类型的第三存储介质且所述第三存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷;
调度节点,用于:
在确定所述第一存储池发生热点的情况下,将所述第一存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中;以及,
在确定所述第二存储池发生热点的情况下,将所述第二存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第一存储池的所述第一存储介质中,和/或,将所述第二存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中;其中,所述第二存储介质类型的存储性能低于所述第一存储介质类型的存储性能。
可以看到,本申请提出一种存储***,存储***中包括第一存储池、第二存储池、第三存储池和调度节点,其中,第二存储池为混合存储池,第二存储池设置有第一存储介质类型的存储介质,第二存储池中的存储介质可用于承载访问属性为第一存储介质类型的存储卷,还可用于承载存储性能比第一存储介质的存储性能低的存储介质类型的存储卷,比如第二存储介质类型的存储卷。在未提出混合存储池时,第一存储池或第三存储池中的存储卷只能与自身具有相同存储介质类型的存储池中的存储卷进行交互,不同存储介质类型的存储池中的存储卷之间不能进行迁移;本申请提出混合存储池的概念,混合存储池中的存储卷可与其支持的多种存储介质类型的存储卷进行迁移。当存储***中第一存储池或第二存储池(混合存储池)发生热点的情况下,可以通过将第一存储池中的存储卷与第二存储池(混合存储池)中的存储卷进行迁移,
从而消除热点。
基于第一方面,在可能的实现方式中,所述存储***还包括:
第四存储池,设置有所述第二存储介质类型的第四存储介质且所述第四存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷和访问属性为第三存储介质类型的多个存储卷;
第五存储池,设置有所述第三存储介质类型的第五存储介质且所述第五存储介质用于承载访问属性为所述第三存储介质类型的多个存储卷;
所述调度节点,还用于:
在确定所述第三存储池发生热点的情况下,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中,和/或,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第四存储池的所述第四存储介质中;
在确定所述第四存储池发生热点的情况下,将所述第四存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中,和/或,将所述第四存储介质中访问属性为所述第三存储介质类型的多个存储卷中的部分存储卷迁移至所述第五存储池的所述第五存储介质中;以及,
在确定所述第五存储池发生热点的情况下,将所述第五存储介质中访问属性为所述第三存储介质类型的多个存储卷的部分存储卷迁移至所述第四存储池的所述第四存储介质中;其中,所述第三存储介质类型的存储性能低于所述第二存储介质类型的存储性能。
可以看到,存储***中可以包括多个混合存储池,每个混合存储池可用于承载多个存储介质类型的存储卷。通过混合存储池,可有效消除存储***中的热点。
基于第一方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型,所述第二存储介质类型为串行连接小型计算机***接口硬盘SAS类型、所述第三存储介质类型为串口硬盘SATA类型。
基于第一方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的双层存储单元MLC子类型,所述第二存储介质类型为SSD类型中的三层存储单元TLC子类型,所述第三存储介质类型为SSD中的四层存储单元QLC子类型。
基于第一方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型,所述第三存储介质类型为SSD的三层存储单元TLC子类型。
基于第一方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC子类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型或三层存储单元TLC子类型,所述第三存储介质类型为SSD的四层存储单元QLC子类型。
第二方面,本申请提供了一种调度方法,所述方法应用于存储***的调度节点,所述存储***还包括第一存储池、第二存储池、第三存储池,所述第一存储池,设置有第一存储介质类型的第一存储介质且所述第一存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷;所述第二存储池,设置有第一存储介质类型的第二存储介质且所述第二存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷和访问属性为第二存储介质类型的多个存储卷;所述第三存储池,设置有所述第二存储介质类型的第三存储介质且所述第三存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷;其中,所述第二存储介质类型的存储性能低于所述第一存储介质类型的存储性能,所述方法包括:
在确定所述第一存储池发生热点的情况下,将所述第一存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中;以及,
在确定所述第二存储池发生热点的情况下,将所述第二存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第一存储池的所述第一存储介质中,和/或,将所述第二存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中。
可以看到,存储***中包括第一存储池、第二存储池、第三存储池和调度节点,其中,第二存储池为混合存储池,第二存储池设置有第一存储介质类型的存储介质,第二存储池中的存储介质可用于承载访问属性为第一存储介质类型的存储卷,还可用于承载存储性能比第一存储介质的存储性能低的存储介质类型的存储卷,比如第二存储介质类型的存储卷。在未提出混合存储池时,第一存储池或第三存储池中的存储卷只能与自身具有相同存储介质类型的存储池中的存储卷进行交互,不同存储介质类型的存储池中的存储
卷之间不能进行迁移;本申请提出混合存储池的概念,混合存储池中的存储卷可与其支持的多种存储介质类型的存储卷进行迁移。当存储***中第一存储池或第二存储池(混合存储池)发生热点的情况下,可以通过将第一存储池中的存储卷与第二存储池(混合存储池)中的存储卷进行迁移,从而消除热点。
基于第二方面,在可能的实现方式中,所述存储***还包括第四存储池和第五存储池,所述第四存储池,设置有所述第二存储介质类型的第四存储介质且所述第四存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷和访问属性为第三存储介质类型的多个存储卷;所述第五存储池,设置有所述第三存储介质类型的第五存储介质且所述第五存储介质用于承载访问属性为所述第三存储介质类型的多个存储卷;
所述方法还包括:
在确定所述第三存储池发生热点的情况下,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中,和/或,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第四存储池的所述第四存储介质中;
在确定所述第四存储池发生热点的情况下,将所述第四存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中,和/或,将所述第四存储介质中访问属性为所述第三存储介质类型的多个存储卷中的部分存储卷迁移至所述第五存储池的所述第五存储介质中;以及,
在确定所述第五存储池发生热点的情况下,将所述第五存储介质中访问属性为所述第三存储介质类型的多个存储卷的部分存储卷迁移至所述第四存储池的所述第四存储介质中;
其中,所述第三存储介质类型的存储性能低于所述第二存储介质类型的存储性能。
基于第二方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型,所述第二存储介质类型为串行连接小型计算机***接口硬盘SAS类型、所述第三存储介质类型为串口硬盘SATA类型。
基于第二方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的双层存储单元MLC子类型,所述第二存储介质类型为SSD类型中的三层存储单元TLC子类型,所述第三存储介质类型为SSD中的四层存储单元QLC子类型。
基于第二方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型,所述第三存储介质类型为SSD的三层存储单元TLC子类型。
基于第二方面,在可能的实现方式中,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC子类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型或三层存储单元TLC子类型,所述第三存储介质类型为SSD的四层存储单元QLC子类型。
基于第二方面,在可能的实现方式中,所述热点指的是存储池的虚拟容量、存储池的物理空间占用量和存储池的带宽中的至少一个超过对应的阈值,所述存储池的物理空间占用量指的是所述存储池包括的各个存储卷中已被占用的物理空间之和,所述存储池的带宽指的是所述存储池包括的各个存储卷的带宽之和。
基于第二方面,在可能的实现方式中,所述方法还包括:所述调度节点确定所述存储***中包含的强波动型存储卷,所述强波动型存储卷指的是在设定的时间间隔内存储卷的物理空间占用量和带宽中至少一项的变化量超过阈值变化量;根据包含的所述强波动型存储卷的数量,将包含的所述强波动型存储卷均匀地分散至所述存储***中的各个存储池中。
可以理解,通过引入混合存储池,可以将存储***中的强波动型存储卷进行迁移,使得强波动型存储卷均匀地分散至存储***中的各个存储池中,能够尽可能地避免存储***中的某个存储池发生热点,降低存储池发生热点的风险。
第三方面,本申请提供了一种计算设备集群,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括存储器和处理器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行上述第二方面或第二方面的任意一种可能的实现方式所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行上述第二方面或第二方面的任意一种可能的实现方式所述的方法。
第五方面,本申请提供了一种包含程序指令的计算机程序产品,当所述程序指令在计算设备集群执行
时,计算设备集群执行上述第二方面或第二方面的任意一种可能的实现方式所述的方法。
图1为本申请提供的一种存储***的场景示意图;
图2为本申请提供的一种存储卷的迁移方向的示意图;
图3为本申请提供的又一种存储卷的迁移方向的示意图;
图4为本申请提供的一种存储***的场景示例图;
图5为本申请提供的一种调度方法的流程示意图;
图6为本申请提供的一种场景示例图;
图7为本申请提供的又一种场景示例图;
图8为本申请提供的一种存储***的结构示意图;
图9为本申请提供的一种计算设备的结构示意图;
图10为本申请提供的一种计算设备集群结构示意图;
图11为本申请提供的又一种计算设备集群结构示意图。
为了便于理解,在介绍本申请之前,先对本申请涉及的名词进行解释说明。
虚拟容量,本申请涉及存储卷的虚拟容量和存储池的虚拟容量。存储卷的虚拟容量指的是存储卷的规格上所标注的总容量,通常来说,实际应用中可使用的容量是小于存储卷上所标注的总容量的(虚拟容量中包括了用于实现对存储卷的管理和使用的***文件或其他文件等)。存储池中包括一个或多个存储卷,存储池的虚拟容量指的是其包括的各个存储卷的虚拟容量之和。
物理空间占用量,本申请涉及存储卷的物理空间占用量和存储池的物理空间占用量。存储卷的物理空间占用量是指某一时刻存储卷实际被占用的存储空间的大小。存储池的物理空间占用量是指存储池中包括的各个存储卷的物理空间占用量之和。
带宽,本申请涉及存储卷的带宽和存储池的带宽。存储卷的带宽是指单位时间内存储卷读写数据的数量。存储池的带宽指的是存储池中包括的各个存储卷的带宽之和。
存储池发生热点,指的是存储池在一个属性或多个属性上的值超过了对应的阈值,其中存储池的属性包括虚拟容量、物理空间占用量和带宽。存储池中设置了各个属性的阈值,对于不同存储池来说,同一属性的阈值可以不同,也可以相同;对于相同存储池来说,不同属性的阈值一般不同。其中,各个属性对应的阈值可以由用户自己设定。举例来说,当存储池的物理空间占用量超过对应的阈值时,则认为存储池在物理空间占用量维度上发生了热点;当存储池的带宽超过对应的阈值时,则认为存储池在带宽维度上发生了热点;若存储池的物理空间占用量超过了对应的阈值且带宽也超过对应的阈值的情况下,则认为存储池在物理空间占用量维度和带宽维度上均发生了热点。
由于存储池的虚拟容量是一个定值,在使用过程中,通常不会发生存储池的虚拟容量超过阈值的情况,所以本申请中存储池发生热点一般指存储池在物理空间占用量维度和/或带宽维度上发生热点。
混合存储池,是指存储池中可以承载两种或两种以上存储介质类型的存储卷。比如,一个存储池既可以承载SSD类型的存储卷,又可以承载SAS类型的存储卷,则该存储池为混合存储池。又比如,一个存储池既可以承载SAS类型的存储卷,又可以承载SATA类型的存储卷,则该存储池为混合存储池。
可以理解,存储池中设置有存储介质,存储介质可用于承载存储卷。对于不同类型的存储介质,可以承载不同类型的存储卷,比如,SSD类型存储介质可用于承载SSD类型的存储卷,SATA类型存储介质用于承载SATA类型的存储卷,SAS类型存储介质用于承载SAS类型的存储卷。
存储***中包括多种类型的存储池,不同类型的存储池对应有不同的应用程序编程接口(application programming interface,API),当需要向某个存储池中写入数据或读取数据时,可以通过该存储池对应的API接口将数据写入该存储池中或者从该存储池中读出数据,其中,数据在存储池中以存储卷的形式存在的,存储介质用于承载存储卷。例如,可以通过SSD API将数据写入SSD存储池中。换种表述方式,SSD存储介质用于承载访问属性为SSD API类型的存储卷,SAS存储介质用于承载访问属性为SAS API类型的存储卷,SATA存储介质用于承载访问属性为SATA API类型的存储卷,其中,访问属性指的是存储介质的访问接口类型,例如,访问属性可以为SSD API或SAS API或SATA API或其他存储介质类型的访问接口类型。
常见的存储池均是用于承载一种存储介质类型的存储卷,比如,SATA存储池用于承载SATA类型的存储卷,SAS存储池用于承载SAS类型的存储卷,SSD存储池用于承载SSD类型的存储卷。
本申请提出了一种混合存储池,下面介绍一下如何获得混合存储池。
在存储***中包括多种类型的存储池的情况下,可以将相对较高性能的存储池中的一部分存储池划分出来,配置为混合存储池,配置前后,存储介质保持不变,改变的是配置方法和管理方法。其中,性能包括数据读写速度,数据读写速度较快的,性能较高,数据读写速度较慢的,性能较低。混合存储池与用于承载一种类型的存储卷所在的存储池在管理方式上不同,管理方式上的不同包括:
用于承载一种类型的存储卷的存储池只允许与同类型存储池之间进行存储卷的迁移,不允许与不同类型存储池进行存储卷的迁移,比如:SSD存储池只允许与SSD存储池之间进行存储卷的迁入、迁出,不允许与其他存储池之间进行存储卷的迁入、迁出,SATA存储池和SAS存储池也是一样的,只允许同类型存储池之间进行存储卷的迁入、迁出,不允许与不同类型存储池之间进行存储卷的迁入、迁出;
若设置混合存储池允许承载两种类型的存储卷,比如,设置混合存储池允许承载SSD类型的存储卷和SAS类型的存储卷,则混合存储池可以与SSD存储池之间进行存储卷的迁移,也可以与SAS存储池之间进行存储卷的迁移;若设置混合存储池允许承载SATA类型的存储卷和SAS类型的存储卷,则混合存储池可以与SATA存储池进行存储卷的迁移,也可以与SAS存储池进行存储卷的迁移。即,混合存储池可以与所支持的类型存储池进行通信。
混合存储池允许承载哪几种类型的存储卷,可以由用户根据实际应用场景以及具体需求具体设置,本申请不做具体限定。这里,用于承载一种类型的存储池和混合存储池的类型仅仅用于举例,并不是对本申请的限定,在实际应用中,用于承载一种类型的存储池还可以是其他类型的存储池,混合存储池还可以用于承载更多类型的存储卷,本申请不做限定。
例如,参见图1所示的场景示意图,存储***中包括存储池1、存储池2、存储池3、存储池4、存储池5、存储池6、存储池7、存储池8,其中,存储池1为SATA存储池,存储池2、存储池3和存储池4为SAS存储池,存储池5、存储池6、存储池7和存储池8为SSD存储池,这里,SSD存储池指的是只包含一种具有相同存储性能的存储介质。各个存储池的性能由高至低为:SSD存储池、SAS存储池、SATA存储池,这里的性能包括数据读写速度。
现将存储池2确定为一种混合存储池,将该混合存储池设置为可以用于承载访问属性为SAS类型的存储卷,也可以用于承载访问属性为SATA类型的存储卷,该混合存储池可称为SAS|SATA混合存储池或SATA|SAS混合存储池。将存储池5和存储池6确定为另一种混合存储池,将该混合存储池设置为可用于承载访问属性为SSD类型的存储卷,也可以用于承载访问属性为SAS类型的存储卷,该混合存储池也可称为SAS|SSD混合存储池或SSD|SAS混合存储池。
下面介绍一下图2示意图中各个存储池中的存储卷所允许的迁移方向。参见图2,图2为本申请提供的SAS|SATA混合存储池与SAS存储池、SATA存储池之间的关系示意图。由图2可知,SAS存储池、SATA存储池均可以与SAS|SATA混合存储池进行通信,即,SATA存储池中的存储卷、SAS存储池中的存储卷均可以迁移至SAS|SATA混合存储池中,SAS|SATA混合存储池也可以将SAS存储卷迁移至SAS存储池中,将SATA存储卷迁移至SATA存储池中,但SAS存储池与SATA存储池不互通,即,SAS存储池中的存储卷不能迁移至SATA存储池中,SATA存储池的存储卷也不能迁移至SAS存储池中。需要说明的是,每个存储卷携带有自己的属性,存储***根据存储卷携带的属性可以知道存储卷是哪种类型的存储卷。
图3为本申请提供的SAS|SSD混合存储池与SAS存储池、SSD存储池之间的关系示意图,由图3可知,SAS存储池、SSD存储池均可以与SAS|SSD混合存储池进行通信,即,SSD存储池中的存储卷、SAS存储池中的存储卷均可以迁移至SAS|SSD混合存储池中,SAS|SSD混合存储池也可以将SAS存储卷迁移至SAS存储池中,将SSD存储卷迁移至SSD存储池中,但SAS存储池与SSD存储池不互通,即,SAS存储池中的存储卷不能迁移至SSD存储池中,SSD存储池的存储卷也不能迁移至SAS存储池中。
可以理解,SAS|SSD混合存储池和SAS|SATA混合存储池仅仅用于举例,在实际应用中,还可以设置其他类型的混合存储池,比如,可以设置SATA|SSD混合存储池,SATA|SSD混合存储池用于承载SATA类型的存储卷和SSD类型的存储卷,又比如,还可以设置SATA|SAS|SSD混合存储池,SATA|SAS|SSD混合存储池用于承载SATA类型的存储卷、SAS类型的存储卷和SSD类型的存储卷,等等。本申请对混合存储池的类型、混合存储池所允许承载的存储卷类型和数量不做限定。
SSD存储介质具有较高的存储性能,存储性能包括在该存储介质中数据的读写速度。SSD存储介质又包括单层存储单元(Single-LevelCell,SLC)存储介质、双层存储单元存储介质(Multi-LevelCell,MLC)、三层存储单元存储介质(Trinary-Level Cell,TLC)和四层存储单元存储介质(Quad-Level Cell,QLC)。
其中,SLC存储介质指的是存储池中的存储颗粒为SLC,存储池中的每个存储单元存储1比特信息,也就是存储池具有0、1两种电压变化,这种类型存储池结构简单、电压控制较快速、寿命长、存储性能高。MLC存储介质指的是存储池中的存储颗粒为MLC,每层存储单元存储2比特信息,存储池具有00、01、10、11四种变化,这种类型的存储池需要较复杂的电压控制、存储性能和可靠性相比SLC存储介质的存储池具有一定程度的降低。TLC存储介质指的是存储池中的存储颗粒为TLC,每个存储单元存储3比特信息,存储池的电压有000至111共8种变化,这种类型的存储池电压控制更加复杂、存储性能比MLC有所降低。QLC存储介质指的是存储池中的存储颗粒为QLC,每个存储单元存储4比特信息,存储池的电压有从0000至1111共16种变化,存储性能比TLC存储介质的存储池性能更低。
SLC类型的存储池、MLC类型的存储池、TLC类型的存储池、QLC类型的存储池均属于SSD存储池,只是使用的存储颗粒不同,存储性能不同。因此,SLC、MLC、TLC和QLC可以理解为不同的存储介质,可作为不同类型的存储池。
参见图4所示的示意图,存储***中包括存储池1、存储池2、存储池3、存储池4、存储池5、存储池6、存储池7和存储池8,其中,存储池1的存储介质为SLC,存储池1只能用来承载访问属性为SLC的存储卷,存储池2、存储池3和存储池4的存储介质为MLC,存储池2、存储池3和存储池4均是只能用来承载访问属性为MLC的存储卷,存储池5、存储池6、存储池7和存储池8的存储介质为TLC,存储池5、存储池6、存储池7和存储池8均是只能用来承载访问属性为TLC的存储卷。且,同类型存储介质的存储池中的存储卷可以互相迁移,不同类型存储介质的存储池中的存储卷不能进行迁移,即:存储池2、存储池3、存储池4中的存储卷可以互相迁移,存储池5、存储池6、存储池7和存储池8中的存储卷可以互相迁移;存储池1中的存储卷与存储池2、存储池3、存储池4中的存储卷均不能进行互相迁移,存储池2、存储池3、存储池4中的存储卷与存储池5、存储池6、存储池7、存储池8中的存储卷均不能进行互相迁移。
基于本申请提出的混池的概念,可以将存储池2配置为SLC|MLC混合存储池,存储池2既可以用于承载访问属性为SLC的存储卷,又可以用于承载访问属性为MLC的存储卷。因此,存储池2中访问属性为SLC的存储卷可以与存储池1中的存储卷进行交互,存储池2中访问属性为MLC的存储卷可以与存储池3、存储池4中的存储卷进行交互。
还将存储池5和存储池6配置为MLC|TLC混合存储池,存储池5、存储池6既可以用于承载访问属性为MLC的存储卷,又可以用于承载访问属性为TLC的存储卷。因此,存储池5、存储池6中访问属性为MLC的存储卷可以与存储池3、存储池4中的存储卷进行交互,存储池5、存储池6中访问属性为TLC的存储卷可以与存储池7、存储池8中的存储卷进行交互。另外,存储池5、存储池6中访问属性为MLC的存储卷还可以与存储池2中访问属性为MLC的存储卷进行交互。
需要说明的是,图4仅仅是一种示例图。在一种实现方式中,图4中,存储池1的存储介质可以为MLC,存储池2、存储池3、存储池4的存储介质为TLC,存储池5、存储池6、存储池7和存储池8的存储介质为QLC。在又一种实现方式中,存储池1的存储介质可以为SLC,存储池2、存储池3、存储池4的存储介质均为MLC或者TLC,存储池5、存储池6、存储池7和存储池8的存储介质为QLC。
可以理解,在未提出混合存储池的概念时,只有同类型的存储池之间可以进行存储卷的迁移,当某个存储池在一个维度上发生热点时,同类型存储池中的资源在该维度上接近发生热点的情况下,将发生热点的存储池中的部分存储卷迁移至其他同类型存储池中,很有可能引发其他存储池发生热点,因此,在这种情况下,同类型存储池之间进行存储卷的迁移无法达到消除热点的目的。其中,这里的维度指的是物理空间占用量维度或者带宽维度。
本申请提出了混合存储池的概念,混合存储池可以与所支持类型的存储池之间进行通信,当某个存储池在一个维度上发生热点的情况下,将发生热点的存储池中的部分存储卷迁移至混合存储池中,以消除热点,若混合存储池在该维度上也发生热点或接近发生热点,则可将混合存储池中的部分存储卷迁移至另一个存储池中,以消除混合存储池的热点。比如,图1中,当存储池1(SATA存储池)在一个维度上发生热点时,可以将存储池1中的部分存储卷迁移至SAS|SATA混合存储池中,以消除存储池1的热点,迁移后,若SAS|SATA混合存储池在该维度上发生热点,则可以将SAS|SATA混合存储池中的部分存储卷迁移至存储池3(SAS存储池)或存储池4(SAS存储池)中,以消除SAS|SATA混合存储池的热点。
本申请提供了一种调度方法,参见图5,图5为本申请提供的一种调度方法的流程示意图,所述方法包括但不限于以下内容的描述。
S101、调度节点确定存储***中的第一混合存储池。
在一种实现方式中,存储***中包括多种类型的存储池,每种类型的存储池存在一个或多个。不同类型的存储池的性能不同,将部分性能相对较高的存储池配置为混合存储池。可选的,可以将存储***中性能较高的一种类型的存储池配置为一种类型的混合存储池,也可以将性能较高的多种类型的存储池分别配置为多种类型的混合存储池,不同类型的混合存储池的性能不同、承载的存储卷的类型不同,性能包括数据读写速度。
例如,存储***中包括一个或多个SATA存储池、多个SAS存储池,可以将多个SAS存储池中的部分硬盘存储池配置为SAS|SATA混合存储池,SAS|SATA混合存储池既可以承载SAS存储卷,又可以承载SATA存储卷。又例如,存储***中包括一个或多个SAS存储池、多个SSD存储池,可以将多个SSD存储池中的部分存储池配置为SAS|SSD混合存储池,SAS|SSD混合存储池既可以承载SAS存储卷,又可以承载SSD存储卷。
又例如,存储***中包括一个或多个SATA存储池、多个SAS存储池、多个SSD存储池,可以将多个SAS存储池中的部分硬盘存储池配置为SAS|SATA混合存储池,将SSD存储池中的部分存储池配置为SAS|SSD混合存储池,SAS|SSD混合存储池既可以承载SAS存储卷,又可以承载SSD存储卷。
又例如,存储***中包括存储介质为SLC类型的存储池、存储介质为MLC类型的存储池、存储介质为TLC类型的存储池、存储介质为QLC类型的存储池,可以将部分数量的MLC类型的存储池设置为SLC|MLC混合存储池,将部分数量的TLC类型的存储池设置为MLC|TLC混合存储池,将部分数量的QLC类型的存储池设置为TLC|QLC混合存储池。
在一种实现方式中,直接在存储介质基础上进行配置,配置为混合存储池,而非将某种类型的存储池改配置为混合存储池。在存储介质的基础上,配置为承载一种类型的存储池与配置为混合存储池所不同的配置内容包括使用方式和管理方式。
关于混合存储池的数量本申请不做限定。在一种示例中,可以根据存储***中包括的各个类型的存储池及每个类型的存储池的数量,确定混合存储池的数量。
第一混合存储池可以为SAS|SATA混合存储池,也可以为SAS|SSD混合存储池,也可以为TLC|QLC混合存储池或MLC|TLC混合存储池或SLC|MLC混合存储池。第一混合存储池还可以为其他存储池,本申请不做限定。
可选的,***中可以设置有多种类型的混合存储池,例如***中设置有第一混合存储池和第二混合存储池,其中,第一混合存储池为SAS|SATA混合存储池,第二混合存储池为SAS|SSD混合存储池,或者,第一混合存储池为SAS|SSD混合存储池,第二混合存储池为SAS|SATA混合存储池,或者,第一混合存储池为SLC|MLC混合存储池,第二混合存储池为MLC|TLC混合存储池。本申请对混合存储池的类型数量不做限定,每种类型的混合存储池的数量不做限定。
S102、对存储***中的各个存储池和各个存储卷进行监控。
存储***对各个存储卷进行监控,包括在虚拟容量、物理空间占用量和带宽维度上对各个存储卷进行监控,具体的,存储***实时监控各个存储卷的虚拟容量是多少、物理空间占用量是多少、带宽是多少。根据各个存储卷的虚拟容量是多少、物理空间占用量是多少、带宽是多少,可以确定存储***中包括的各个存储池的虚拟容量是多少、物理空间占用量是多少、带宽是多少,其中存储***中包括的各个存储池包括用于承载一种类型存储卷的存储池和混合存储池。
根据各个存储池的物理空间占用量是多少,可以确定各个存储池在物理空间占用量维度上是否发生热点;根据各个存储池的带宽是多少,可以确定各个存储池在带宽维度上是否发生热点。
S103、在监控到存储***中存在存储池发生热点的情况下,将发生热点的存储池中的部分存储卷迁移至第一混合存储池中。
存储池发生热点包括存储池在物理维度上发生热点,或者,存储池在带宽维度上发生热点,或者,存储池在物理维度和带宽维度上均发生热点。
在监控到某个存储池发生热点的情况下,将发生热点的存储池中的部分存储卷迁移至第一混合存储池中。例如,在图1***中,若发生热点的存储池为SATA存储池,可以将该发生热点的存储池中的部分存储卷迁移至SAS|SATA混合存储池中;若发生热点的存储池为SAS存储池,可以将该发生热点的存储池中
的部分存储卷迁移至SAS|SATA混合存储池中或者SAS|SSD混合存储池中;若发生热点的存储池为SSD存储池,可以将该发生热点的存储池中的部分存储卷迁移至SAS|SSD混合存储池中。又例如,若发生热点的存储池为SLC类型的存储池,可以将该发生热点的存储池中的部分存储卷迁移至SLC|MLC混合存储池中;若发生热点的存储池为MLC类型的存储池,可以将该发生热点的存储池中的部分存储卷迁移至SLC|MLC混合存储池中或TLC|MLC混合存储池中;等等。
其中,具体的,将发生热点的存储池中的哪些存储卷进行迁移,以及迁移至哪个混合存储池中(在包括多个混合存储池或者多种类型的混合存储池的情况下),可以通过算法来确定。比如,在一种示例中,可以根据如下公式(1)来确定待迁移的存储卷和目标混合存储池,
其中,表示迁移后***的可售卖量,fo表示迁移前***的可售卖量,***的可售卖量包括***中各个存储池的可售卖量之和,Accj表示可售***例,表示存储池j迁移后的可售***例,Accj(xo)表示存储池j迁移前的可售***例,存储池j指的是待迁移的存储卷所在的存储池。
公式(1)表示的含义是使单位容量的价值朝着更大的方向趋近,公式(1)可以通过算法实现,通过算法多轮迭代,使待迁移的存储卷遍历存储***中的各个存储卷,使目标混合存储池遍历存储***中的各个存储池,确定出待迁移的存储卷有哪些、目标混合存储池是哪个,从而确定出最优的迁移方案。
下面解释一下可售卖量和可售***例。
可售***例,表示可以售卖的存储空间的比例。用VSUj(t)表示存储池j在t时刻的虚拟容量,用VSTj表示存储池j的虚拟容量对应的阈值,用PSTj表示存储池j的物理空间占用量对应的阈值,用BWTj表示存储池j的带宽对应的阈值,用PSUj(t)表示存储池j在t时刻的物理空间占用量,用BWUj(t)表示存储池j在t时刻的带宽,用Accj(t)表示存储池j在t时刻的可售***例,其中,各个值均是用小数或百分数表示的,则
Accj(t)=min{VSTj-VSUj(t),PSTj-PSUj(t),BWTj-BWUj(t)} (2)
Accj(t)=min{VSTj-VSUj(t),PSTj-PSUj(t),BWTj-BWUj(t)} (2)
可售卖量(accommodationcapacity)表示可售卖价值的大小,可售卖量大表示可售卖价值大,可售卖量小表示可售卖价值小,
可售卖量=pj×VSTj×Accj(t) (3)
可售卖量=pj×VSTj×Accj(t) (3)
其中,pj表示存储池j单位容量的价值。
可选的,在检测到混合存储池发生热点的情况下,可以将混合存储池中的部分存储卷迁移至其他存储池中,迁移方案可以通过上述公式(1)确定。
S104、在监控到存储***中存在强波动型存储卷的情况下,将强波动型存储卷均匀地分散至存储***中的各个存储池中。
强波动型存储卷指的是在设定的时间间隔内,存储卷的任意一个属性值的变化量超过第二阈值。例如,设定在时间间隔Δt内,存储卷的带宽变化量超过第二阈值的,认为该存储卷为强波动型存储卷。比如,若t1时刻存储卷的带宽为w1,t2时刻存储卷的带宽为w2,其中t2-t1=Δt,在设定的时间间隔内存储卷的带宽的变化量为w1与w2的差值,若w1与w2的差值超过带宽对应的第二阈值,则认为该存储卷为强波动型存储卷,若w1与w2的差值未超过带宽对应的第二阈值,则认为该存储卷不是强波动型存储卷。又例如,设定在时间间隔Δt内,存储卷的物理空间占用量变化量超过第二阈值的,认为该存储卷为强波动型存储卷。比如,在t3时刻存储卷的物理空间占用量为p1,在t4时刻存储卷的物理空间占用量为p2,其中t4-t3=Δt,在设定的时间间隔内存储卷的物理空间占用量的变化量为p2与p1的差值,若p2与p1的差值超过物理空间占用量对应的第二阈值,认为存储卷为强波动型存储卷,若p2与p1的差值未超过物理空间占用量对应的第二阈值,认为存储卷不是强波动型存储卷。
需要说明的是,带宽变化量对应的第二阈值与物理空间占用量对应的第二阈值可以相同,可以不同。实际应用中,可以根据具体应用场景具体设置带宽变化量对应的第二阈值、物理空间占用量对应的第二阈值,本申请不做限定。
在监控到存储***中存在强波动型存储卷的情况下,确定强波动型存储卷的数量,将强波动型存储卷均匀地分散至存储***中的各个存储池中。比如,若存储***中一共存在10个强波动型存储卷,存储池中一共包括5个存储池,则将10个强波动型存储卷分别分散至5个存储池中,一个存储池中包括2个强波动型存储卷。
可选的,随着存储***中各个存储池中存储卷的累计,各个存储池可能会出现在各个维度上的不均衡,由于存储池的可售卖量遵循“木桶效应”(木桶效应定律讲的是,一只木桶想盛满水,必须每块木板都一样平齐且无破损,如果这只桶的木板中有一块不齐或者某块木板下面有破洞,这只桶就无法盛满水。一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板),即由剩余量最少的资源维度决定,因此有必要通过存储卷的迁移实现每个存储池在各个资源维度上的均衡,以进一步增加整个***的可售卖量。例如,可以根据如下公式(4)确定迁移策略,迁移策略包括待迁移对象(待迁移的存储卷有哪些)、目的存储池(迁移至哪个存储池),
公式(4)中,表示迁移后***的可售卖量,fo表示迁移前***的可售卖量,psi表示存储卷i的物理空间占用量,其中存储卷i是指待迁移的存储卷。公式(4)表示的含义是,每一步迁移使得***的可售卖量朝着单位容量具有更高价值的方向趋近,公式(4)可通过算法实现,通过算法迭代循环,使得待迁移对象遍历***中的各个存储卷、目的存储池遍历***中的各个存储池,从而确定出最佳迁移策略,使得存储***的售卖量最大。
例如,参见图6所示的示例图,存储***包括一个SAS存储池、一个SSD存储池和一个SAS|SSD混合存储池,图6中,PS表示物理空间占用量,VS表示虚拟容量,BD表示带宽。初始状态下,SAS存储池中的物理空间占用量远大于带宽占用量,SSD存储池中的带宽占用量远大于物理空间占用量,阴影部分表示存储池的可售***例。为了使每个存储池在各个维度上更加均衡,对存储***中的存储卷进行了迁移,例如,将SSD存储池中带宽占量较大且物理空间占用量占用较小的存储卷迁移至SAS|SSD混合存储池,将SAS|SSD混合存储池中物理空间占用量较大且带宽占用较小的存储卷迁移至SSD存储池,使得SSD存储池中物理空间占用量维度和带宽维度的占用量比较均衡,增大了SSD存储池的可售***例,又例如,还可以将SAS|SSD混合存储池中带宽占用量较大且物理空间占用量较小的SATA存储卷迁移至SAS存储池中,使得SAS|SSD混合存储池中的资源在各个维度上更加均衡。迁移后得到图6右侧图,可以看到,SAS存储池中物理空间占用量和带宽占用量之间的差值缩小了,SSD存储池中物理空间占用量和带宽占用量之间的差值也缩小了。由图6可看出,迁移后,每个存储池的资源在各个维度上更加均衡,SAS存储池的可售***例和SSD存储池的可售***例均增加了,混池的可售***例减少了一部分,实际应用中,整个***的可售卖价值是增加了的。
可以理解,在未提出混合存储池的概念时,同类型的存储池之间可以进行存储卷的迁移,不同类型的存储池之间不能进行存储卷的迁移,对于整个存储***来说,***的可售卖量的提升是有限的。提出混合存储池的概念后,混合存储池可与多种类型的存储池之间进行存储卷的迁移,有助于提高整个***的可售卖量。
例如,参见图7所示的示例图,存储***中包括3个SSD存储池和2个SAS存储池,如图7中左侧图所示,初始状态下,SSD存储池带宽的占用量较大物理空间占用量的占用量较少,SAS存储池的物理空间占用量较大带宽占用量较少,SSD存储池的可售***例最终由带宽维度的数据决定,SAS存储池的可售***例最终由物理空间占用量维度的数据决定。图7中,存储池的空白长度表示该存储池的可售***例,空白长度越长表示可售***例越大。在未提出混合存储池的概念时,3个SSD存储池之间进行存储卷的迁移,2个SAS存储池之间进行存储卷的迁移,得到图7中间图,可以看到,同类型的存储池之间的均衡度有所提升。在提出混合存储池的概念后,可以将3个SSD存储池配置为SSD|SAS混合存储池,使得2个SAS存储池可与3个混合存储池进行通信,通过混合存储池与SAS存储池进行调度,得到图7中右侧所示示意图,从图中可以看出,SAS存储池的可售***例明显增加,混合存储池的可售***例稍有降低,从实际收益角度考虑,SAS存储池可售卖量增加的程度远大于SSD存储池可售卖量减少的程度。
可以理解,本申请中步骤S103与S104没有先后顺序。
可以理解,分级存储(tiredstorage)又称为层级存储管理,将访问不频繁的数据放置在性能较低的存储介质层,将访问较频繁的数据放置在性能较高的存储介质层,通过将数据存储在最合适的介质层达到降低存储成本、提高服务质量的目的。本申请,混合存储池进行调度的思想是,从均衡的角度出发,允许将低性能的存储卷迁移至高性能的存储池中,从而释放出低性能存储池的可售卖空间。在分级存储中,将低访问量的数据迁移至高性能的存储介质中的做法是与其调度理念相违背的,是不被允许的,但是在混合存储池调度中,将低性能的存储卷迁移至高性能的存储池中是被允许的,低性能存储池释放的收益大于高性能存储池占用的成本。
可以看到,本申请提出了混合存储池的概念,将部分数量的存储性能较高的存储介质所在的存储池配置为混合存储池,混合存储池可用于承载两种或两种以上类型的存储卷,通过设置混合存储池,使得不同类型的存储池之间的存储卷可以进行迁移,有效地消除了存储***中的热点;通过将强波动型的存储卷均匀地分散至多个存储池中,提高了存储***的可售卖价值。
本申请提供了一种存储***,参见图8,图8为本申请提供的一种存储***800的结构示意图,存储***800包括:
第一存储池810,设置有第一存储介质类型的第一存储介质且第一存储介质用于承载访问属性为第一存储介质类型的多个存储卷;
第二存储池820,设置有第一存储介质类型的第二存储介质且第二存储介质用于承载访问属性为第一存储介质类型的多个存储卷和访问属性为第二存储介质类型的多个存储卷;
第三存储池830,设置有第二存储介质类型的第三存储介质且第三存储介质用于承载访问属性为第二存储介质类型的多个存储卷;
调度节点840,用于:
在确定第一存储池810发生热点的情况下,将第一存储介质中访问属性为第一存储介质类型的多个存储卷中的部分存储卷迁移至第二存储池820的第二存储介质中;以及,
在确定第二存储池820发生热点的情况下,将第二存储介质中访问属性为第一存储介质类型的多个存储卷中的部分存储卷迁移至第一存储池810的第一存储介质中,和/或,将第二存储介质中访问属性为第二存储介质类型的多个存储卷中的部分存储卷迁移至第三存储池830的第三存储介质中;其中,第二存储介质类型的存储性能低于第一存储介质类型的存储性能。
在可能的实现方式中,存储***800还包括:
第四存储池850,设置有第二存储介质类型的第四存储介质且第四存储介质用于承载访问属性为第二存储介质类型的多个存储卷和访问属性为第三存储介质类型的多个存储卷;
第五存储池860,设置有第三存储介质类型的第五存储介质且第五存储介质用于承载访问属性为第三存储介质类型的多个存储卷;
调度节点840,还用于:
在确定第三存储池830发生热点的情况下,将第三存储介质中访问属性为第二存储介质类型的多个存储卷中的部分存储卷迁移至第二存储池820的第二存储介质中,和/或,将第三存储介质中访问属性为第二存储介质类型的多个存储卷中的部分存储卷迁移至第四存储池850的第四存储介质中;
在确定第四存储池850发生热点的情况下,将第四存储介质中访问属性为第二存储介质类型的多个存储卷中的部分存储卷迁移至第三存储池830的第三存储介质中,和/或,将第四存储介质中访问属性为第三存储介质类型的多个存储卷中的部分存储卷迁移至第五存储池860的第五存储介质中;以及,
在确定第五存储池860发生热点的情况下,将第五存储介质中访问属性为第三存储介质类型的多个存储卷的部分存储卷迁移至第四存储池850的第四存储介质中;其中,第三存储介质类型的存储性能低于第二存储介质类型的存储性能。
在可能的实现方式中,第一存储介质类型为固态硬盘SSD类型,第二存储介质类型为串行连接小型计算机***接口硬盘SAS类型、第三存储介质类型为串口硬盘SATA类型。
在可能的实现方式中,第一存储介质类型为固态硬盘SSD类型的双层存储单元MLC子类型,第二存储介质类型为SSD类型中的三层存储单元TLC子类型,第三存储介质类型为SSD中的四层存储单元QLC子类型。
在可能的实现方式中,第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC类型,第二存储介质类型为SSD类型的双层存储单元MLC子类型,第三存储介质类型为SSD的三层存储单元TLC子类型。
在可能的实现方式中,第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC子类型,第二存储介质类型为SSD类型的双层存储单元MLC子类型或三层存储单元TLC子类型,第三存储介质类型为SSD的四层存储单元QLC子类型。
在可能的实现方式中,热点指的是存储池的虚拟容量、存储池的物理空间占用量和存储池的带宽中的至少一个超过对应的阈值,存储池的物理空间占用量指的是存储池包括的各个存储卷中已被占用的物理空间之和,存储池的带宽指的是存储池包括的各个存储卷的带宽之和。
在可能的实现方式中,调度节点840还用于:
确定存储***800中包含的强波动型存储卷,强波动型存储卷指的是在设定的时间间隔内存储卷的物理空间占用量和带宽中至少一项的变化量超过阈值变化量;根据包含的强波动型存储卷的数量,将包含的强波动型存储卷均匀地分散至存储***800中的各个存储池中。
其中,存储***800中的调度节点840可以通过软件实现,或者可以通过硬件实现。示例性的,接下来介绍调度节点840的实现方式。
模块作为软件功能单元的一种举例,调度节点840可以包括运行在计算实例上的代码。其中,计算实例可以是物理主机、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算设备可以是一台或者多台。例如,调度节点840可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内。同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,调度节点840可以包括至少一个计算设备,如服务器等。或者,调度节点840也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
调度节点840包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。调度节点840包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,调度节点840包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
本申请提供了一种计算设备900,参见图9,图9为本申请提供的一种计算设备900的结构示意图,所述计算设备900包括:
总线902、处理器904、存储器906和通信接口908。处理器904、存储器906和通信接口908之间通过总线902通信。应理解,本申请不限定计算设备900中的处理器、存储器的个数。
总线902可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线902可包括在计算设备900各个部件(例如,存储器906、处理器904、通信接口908)之间传送信息的通路。
处理器904可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器906可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器904还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。
存储器906中存储有可执行的代码,处理器904执行该可执行的代码以实现前述调度节点840的功能,从而实现一种调度方法。也即,存储器906上存有用于执行一种调度方法的指令。
通信接口908使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备900与其他设备或通信网络之间的通信。
本申请提供了一种计算设备集群,该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。
如图10所示,所述计算设备集群包括至少一个计算设备900。计算设备集群中的一个或多个计算设备
900中的存储器906中可以存有相同的用于执行一种调度方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备900的存储器906中也可以分别存有用于执行一种调用方法的部分指令。换言之,一个或多个计算设备900的组合可以共同执行用于执行一种调用方法的指令。
需要说明的是,计算设备集群中的不同的计算设备900中的存储器906可以存储不同的指令,分别用于执行存储***800的部分功能。也即,不同的计算设备900中的存储器906存储的指令可以实现调度节点840的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图11为本申请提供的又一种计算设备集群的结构示意图。如图11所示,两个计算设备900A和900B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备900A中的存储器906中存有执行调度节点840的功能的指令。同时,计算设备900B中的存储器906中也存有执行调度节点840的功能的指令。
在一种实现方式中,计算设备900A中的调度节点840用于在确定某个存储池发生热点的情况下,对存储卷进行迁移,计算设备900B中的调度节点840用于确定存储***800中的强波动型存储卷,并根据强波动型存储卷的数量,将强波动型存储卷均匀地分散至各个存储池中。
应理解,图11中示出的计算设备900A的功能也可以由多个计算设备900完成。同样,计算设备900B的功能也可以由多个计算设备900完成。
本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图10和图11所述计算设备集群的连接方式。在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备900的存储器906中也可以分别存有用于执行一种调度方法的部分指令。换言之,一个或多个计算设备900的组合可以共同执行用于执行一种调度方法的指令。
需要说明的是,计算设备集群中的不同的计算设备900中的存储器906可以存储不同的指令,用于执行存储***的部分功能。也即,不同的计算设备900中的存储器906存储的指令可以实现调度节点840中的一个或多个装置的功能。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行一种调度方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行一种调度方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (16)
- 一种存储***,其特征在于,包括:第一存储池,设置有第一存储介质类型的第一存储介质且所述第一存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷;第二存储池,设置有第一存储介质类型的第二存储介质且所述第二存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷和访问属性为第二存储介质类型的多个存储卷;第三存储池,设置有所述第二存储介质类型的第三存储介质且所述第三存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷;调度节点,用于:在确定所述第一存储池发生热点的情况下,将所述第一存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中;以及,在确定所述第二存储池发生热点的情况下,将所述第二存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第一存储池的所述第一存储介质中,和/或,将所述第二存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中;其中,所述第二存储介质类型的存储性能低于所述第一存储介质类型的存储性能。
- 根据权利要求1所述的存储***,其特征在于,还包括:第四存储池,设置有所述第二存储介质类型的第四存储介质且所述第四存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷和访问属性为第三存储介质类型的多个存储卷;第五存储池,设置有所述第三存储介质类型的第五存储介质且所述第五存储介质用于承载访问属性为所述第三存储介质类型的多个存储卷;所述调度节点,还用于:在确定所述第三存储池发生热点的情况下,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中,和/或,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第四存储池的所述第四存储介质中;在确定所述第四存储池发生热点的情况下,将所述第四存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中,和/或,将所述第四存储介质中访问属性为所述第三存储介质类型的多个存储卷中的部分存储卷迁移至所述第五存储池的所述第五存储介质中;以及,在确定所述第五存储池发生热点的情况下,将所述第五存储介质中访问属性为所述第三存储介质类型的多个存储卷的部分存储卷迁移至所述第四存储池的所述第四存储介质中;其中,所述第三存储介质类型的存储性能低于所述第二存储介质类型的存储性能。
- 根据权利要求2所述的存储***,其特征在于,所述第一存储介质类型为固态硬盘SSD类型,所述第二存储介质类型为串行连接小型计算机***接口硬盘SAS类型、所述第三存储介质类型为串口硬盘SATA类型。
- 根据权利要求2所述的存储***,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的双层存储单元MLC子类型,所述第二存储介质类型为SSD类型中的三层存储单元TLC子类型,所述第三存储介质类型为SSD中的四层存储单元QLC子类型。
- 根据权利要求2所述的存储***,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型,所述第三存储介质类型为SSD的三层存储单元TLC子类型。
- 根据权利要求2所述的存储***,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC子类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型或三层存储单元TLC子类型,所述第三存储介质类型为SSD的四层存储单元QLC子类型。
- 一种调度方法,其特征在于,所述方法应用于存储***的调度节点,所述存储***还包括第一存储池、第二存储池、第三存储池,所述第一存储池,设置有第一存储介质类型的第一存储介质且所述第一存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷;所述第二存储池,设置有第一存储介质类型的第二存储介质且所述第二存储介质用于承载访问属性为所述第一存储介质类型的多个存储卷和访 问属性为第二存储介质类型的多个存储卷;所述第三存储池,设置有所述第二存储介质类型的第三存储介质且所述第三存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷;其中,所述第二存储介质类型的存储性能低于所述第一存储介质类型的存储性能,所述方法包括:在确定所述第一存储池发生热点的情况下,将所述第一存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中;以及,在确定所述第二存储池发生热点的情况下,将所述第二存储介质中访问属性为所述第一存储介质类型的多个存储卷中的部分存储卷迁移至所述第一存储池的所述第一存储介质中,和/或,将所述第二存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中。
- 根据权利要求7所述的方法,其特征在于,所述存储***还包括第四存储池和第五存储池,所述第四存储池,设置有所述第二存储介质类型的第四存储介质且所述第四存储介质用于承载访问属性为所述第二存储介质类型的多个存储卷和访问属性为第三存储介质类型的多个存储卷;所述第五存储池,设置有所述第三存储介质类型的第五存储介质且所述第五存储介质用于承载访问属性为所述第三存储介质类型的多个存储卷;所述方法还包括:在确定所述第三存储池发生热点的情况下,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第二存储池的所述第二存储介质中,和/或,将所述第三存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第四存储池的所述第四存储介质中;在确定所述第四存储池发生热点的情况下,将所述第四存储介质中访问属性为所述第二存储介质类型的多个存储卷中的部分存储卷迁移至所述第三存储池的所述第三存储介质中,和/或,将所述第四存储介质中访问属性为所述第三存储介质类型的多个存储卷中的部分存储卷迁移至所述第五存储池的所述第五存储介质中;以及,在确定所述第五存储池发生热点的情况下,将所述第五存储介质中访问属性为所述第三存储介质类型的多个存储卷的部分存储卷迁移至所述第四存储池的所述第四存储介质中;其中,所述第三存储介质类型的存储性能低于所述第二存储介质类型的存储性能。
- 根据权利要求8所述的方法,其特征在于,所述第一存储介质类型为固态硬盘SSD类型,所述第二存储介质类型为串行连接小型计算机***接口硬盘SAS类型、所述第三存储介质类型为串口硬盘SATA类型。
- 根据权利要求8所述的方法,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的双层存储单元MLC子类型,所述第二存储介质类型为SSD类型中的三层存储单元TLC子类型,所述第三存储介质类型为SSD中的四层存储单元QLC子类型。
- 根据权利要求8所述的方法,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型,所述第三存储介质类型为SSD的三层存储单元TLC子类型。
- 根据权利要求8所述的方法,其特征在于,所述第一存储介质类型为固态硬盘SSD类型的单层存储单元SLC子类型,所述第二存储介质类型为SSD类型的双层存储单元MLC子类型或三层存储单元TLC子类型,所述第三存储介质类型为SSD的四层存储单元QLC子类型。
- 根据权利要求7-12任一项所述的方法,其特征在于,所述热点指的是存储池的虚拟容量、存储池的物理空间占用量和存储池的带宽中的至少一个超过对应的阈值,所述存储池的物理空间占用量指的是所述存储池包括的各个存储卷中已被占用的物理空间之和,所述存储池的带宽指的是所述存储池包括的各个存储卷的带宽之和。
- 根据权利要求13所述的方法,其特征在于,所述方法还包括:所述调度节点确定所述存储***中包含的强波动型存储卷,所述强波动型存储卷指的是在设定的时间间隔内存储卷的物理空间占用量和带宽中至少一项的变化量超过阈值变化量;根据包含的所述强波动型存储卷的数量,将包含的所述强波动型存储卷均匀地分散至所述存储***中的各个存储池中。
- 一种计算设备集群,其特征在于,包括至少一个计算设备,所述至少一个计算设备中的每个计算设备包括存储器和处理器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存 储的指令,以使得所述计算设备集群执行如权利要求7-14任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求7-14任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210985223 | 2022-08-17 | ||
CN202210985223.2 | 2022-08-17 | ||
CN202211508564.7 | 2022-11-28 | ||
CN202211508564.7A CN117631964A (zh) | 2022-08-17 | 2022-11-28 | 一种存储***及调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024037233A1 true WO2024037233A1 (zh) | 2024-02-22 |
Family
ID=89940640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/105224 WO2024037233A1 (zh) | 2022-08-17 | 2023-06-30 | 一种存储***及调度方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024037233A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138290A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种高性能存储池组织方法及装置 |
US20200073955A1 (en) * | 2018-08-30 | 2020-03-05 | International Business Machines Corporation | Migrating data from a small extent pool to a large extent pool |
CN112463228A (zh) * | 2020-11-20 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种存储池混合部署的方法和设备 |
US20210103399A1 (en) * | 2019-10-04 | 2021-04-08 | International Business Machines Corporation | Dynamic rebalancing of free space between storage pools |
CN112783831A (zh) * | 2021-01-28 | 2021-05-11 | 新华三大数据技术有限公司 | 一种文件迁移方法及装置 |
CN112988066A (zh) * | 2021-02-23 | 2021-06-18 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
-
2023
- 2023-06-30 WO PCT/CN2023/105224 patent/WO2024037233A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138290A (zh) * | 2015-08-20 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种高性能存储池组织方法及装置 |
US20200073955A1 (en) * | 2018-08-30 | 2020-03-05 | International Business Machines Corporation | Migrating data from a small extent pool to a large extent pool |
US20210103399A1 (en) * | 2019-10-04 | 2021-04-08 | International Business Machines Corporation | Dynamic rebalancing of free space between storage pools |
CN112463228A (zh) * | 2020-11-20 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种存储池混合部署的方法和设备 |
CN112783831A (zh) * | 2021-01-28 | 2021-05-11 | 新华三大数据技术有限公司 | 一种文件迁移方法及装置 |
CN112988066A (zh) * | 2021-02-23 | 2021-06-18 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221975B2 (en) | Management of shared resources in a software-defined storage environment | |
US8051243B2 (en) | Free space utilization in tiered storage systems | |
US11977734B2 (en) | Storage block balancing using volume part migration | |
TWI654558B (zh) | 混合儲存的控制方法及混合儲存系統 | |
US11226905B2 (en) | System and method for mapping objects to regions | |
US20110219048A1 (en) | Multiple File System and/or Multi-Host Single Instance Store Techniques | |
US9778847B2 (en) | Techniques for surfacing host-side storage capacity to virtual machines when performing VM suspend or snapshot operations | |
US9698794B1 (en) | Systems and methods for coalescing regions on a virtualized programmable logic device | |
EP3739440A1 (en) | Distributed storage system, data processing method and storage node | |
US11416396B2 (en) | Volume tiering in storage systems | |
CN115280285A (zh) | 由独立操作的多个调度器在公共资源集上调度工作负载 | |
WO2019091349A1 (zh) | 数据均衡方法、装置及计算机设备 | |
WO2015078193A1 (zh) | 存储空间的管理方法和存储管理装置 | |
CN115904688A (zh) | 内存管理方法、装置、处理器及计算设备 | |
WO2024037233A1 (zh) | 一种存储***及调度方法 | |
US11914875B2 (en) | Storage workload allocation based on input/output pattern affinity calculations | |
US10437495B1 (en) | Storage system with binding of host non-volatile memory to one or more storage devices | |
US20150261566A1 (en) | Computing apparatus, method of controlling computing apparatus, and computer-readable storage medium having program for controlling computing apparatus stored therein | |
WO2022156649A1 (zh) | 一种容量调整的方法以及相关装置 | |
WO2021242608A1 (en) | Inference in memory | |
US10809937B2 (en) | Increasing the speed of data migration | |
CN117631964A (zh) | 一种存储***及调度方法 | |
US20160004444A1 (en) | Method and apparatus for applying storage functionality to each subsidiary volume | |
CN112445413A (zh) | 一种数据存储的方法、装置及相关设备 | |
WO2023050991A1 (zh) | 数据缓存方法及装置、合并存储设备、数据缓存***、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23854138 Country of ref document: EP Kind code of ref document: A1 |