Open platform storage expansion method, device, equipment and storage medium

By receiving storage expansion requests, collecting basic data and locking the allocable storage array, and automatically expanding storage resources, solving the problem of low manual operation efficiency in traditional technology and achieving efficient expansion of open platform storage resources.

CN113064557BActive Publication Date: 2024-12-17INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202110477129.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-29
Publication Date
2024-12-17
Estimated Expiration
2041-04-29

AI Technical Summary

Technical Problem

In traditional technology, the expansion of open platform storage capacity requires a lot of manual operations, which is low in efficiency and is difficult to meet the needs of business development.

Method used

By receiving storage capacity expansion requests, the basic data of the target server is collected based on the preset script program, confirm whether capacity expansion is allowed, and lock the allocable storage array from the allocable storage pool collection to automatically expand the storage resource capacity.

Benefits of technology

The automatic expansion of open platform storage resources has been realized, the expansion efficiency has been improved, and manpower consumption has been reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113064557B_ABST
    Figure CN113064557B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide an open platform storage expansion method, device, equipment and storage medium, which can be applied to the financial field or other fields, and the method includes: receiving a storage expansion request for a target server; collecting basic data of the target server based on a preset script program; confirming whether to allow the storage expansion request based on the basic data; when the storage expansion request is allowed, locking an allocatable storage array from an allocatable storage pool set; and using the allocatable storage array to expand the storage resources of the target server. The embodiments of this specification can improve the storage expansion efficiency of the open platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the financial field, and in particular to an open platform storage expansion method, device, equipment and storage medium. Background Art

[0002] In the Internet era, the website services are packaged into a series of computer-readable data interfaces and opened to third-party developers. This behavior is called open API, and the platform that provides open API is itself called an open platform (such as online banking system, etc.). With the development of business, the demand for storage expansion of open platforms is increasing. However, in traditional technology, the storage expansion of open platforms is generally done manually, and the whole process consumes a lot of manpower and is inefficient. Summary of the invention

[0003] The purpose of the embodiments of this specification is to provide an open platform storage expansion method, device, equipment and storage medium to improve the efficiency of open platform storage expansion.

[0004] To achieve the above objectives, on the one hand, an embodiment of this specification provides an open platform storage expansion method, including:

[0005] receiving a storage capacity expansion request for a target server;

[0006] Collect basic data of the target server based on the preset script program;

[0007] confirming whether the storage capacity expansion request is allowed according to the basic data;

[0008] When the storage expansion request is allowed, locking the allocatable storage array from the allocatable storage pool set;

[0009] The allocable storage array is used to expand storage resources of the target server.

[0010] In an embodiment of this specification, the confirming whether to allow the storage capacity expansion request according to the basic data includes:

[0011] Parsing the basic data; the basic data includes storage disk type, multipath software type and file system type;

[0012] Confirm whether the storage disk type is in a storage disk type whitelist, or confirm whether the multipath software type is in a multipath software type whitelist;

[0013] When the storage disk type is in the storage disk type whitelist, or the multipath software type is in the multipath software type whitelist, predicting whether the file system type exceeds its storage capacity upper limit after expansion;

[0014] If not, the storage capacity expansion request is allowed, and the basic data is updated to the database.

[0015] In an embodiment of this specification, the method further includes:

[0016] When the storage capacity expansion request meets one of the following rejection conditions, reject the storage capacity expansion request;

[0017] The rejection conditions include:

[0018] The storage disk type is not in the storage disk type whitelist;

[0019] The multipath software type is not in the multipath software type whitelist;

[0020] The file system type exceeds its storage capacity limit after expansion.

[0021] In an embodiment of the present specification, locking the allocatable storage array from the allocatable storage pool set includes:

[0022] Acquire the allocated storage disk information of the target server from the database;

[0023] Generate an allocatable storage pool set;

[0024] According to the allocated storage disk information, selecting an allocatable storage array with a designated expansion capacity from the allocatable storage pool set;

[0025] The allocatable storage array is locked and updated to the database as pre-partitioned disk information.

[0026] In an embodiment of the present specification, the allocated storage disk information includes: the current allocation rate, current usage rate and current total number of logical unit numbers of the file system corresponding to the target server;

[0027] The step of selecting, according to the allocated storage disk information, an allocatable storage array of a designated expansion capacity from the allocatable storage pool set comprises:

[0028] Selecting an allocatable storage pool from the allocatable storage pool set;

[0029] According to the current allocation rate, the current usage rate and the current total number of logical unit numbers, predict whether the allocation rate, the usage rate and the total number of logical unit numbers of the file system exceed corresponding upper limits after the allocatable capacity of the allocatable storage pool is allocated;

[0030] If, after allocating the allocable capacity of the allocable storage pool, the allocation rate, the usage rate and the total number of logical unit numbers of the file system exceed corresponding upper limits, confirming whether the allocable capacity reaches the specified expansion capacity;

[0031] If the allocatable capacity does not reach the specified expansion capacity, allocation continues from the remaining allocatable storage pools in the allocatable storage pool set until the allocated allocatable capacity cumulatively reaches the specified expansion capacity.

[0032] In an embodiment of this specification, the method further includes:

[0033] When the accumulated allocatable capacities of all the allocatable storage pools in the allocatable storage pool set do not reach the specified expansion capacity, a prompt is output and a user interface for manually selecting an allocatable storage array is provided.

[0034] In an embodiment of this specification, the step of expanding storage resources of the target server by using the allocatable storage array includes:

[0035] Putting the allocatable storage array into the logical unit number combination corresponding to the target server;

[0036] Invoking a configuration refresh instruction to refresh the allocatable storage array from the target service;

[0037] The refreshed allocatable storage array is added to the file system corresponding to the target server.

[0038] In an embodiment of this specification, placing the allocatable storage array into a logical unit number combination corresponding to the target server includes:

[0039] Obtain information of the locked allocatable storage array from a database;

[0040] Log into the locked allocatable storage array according to the information;

[0041] Confirm whether there is a logical unit number combination corresponding to the target server in the allocatable storage array;

[0042] When the logical unit number combination corresponding to the target server exists in the allocable storage array, confirming whether the logical unit numbers of all storage disks in the allocable storage array exist in the logical unit number combination;

[0043] If there is a logical unit number of a storage disk in the allocatable storage array that does not exist in the logical unit number combination, it is added to the logical unit number combination.

[0044] In an embodiment of the present specification, the step of adding the refreshed allocable storage array to a file system corresponding to the target server includes:

[0045] Determining whether the refreshed allocatable storage array has been used;

[0046] If it is not in use, the automatic storage manager or the logical volume manager is called to add the refreshed allocable storage array to the file system corresponding to the target server.

[0047] On the other hand, the embodiment of this specification also provides an open platform storage expansion device, including:

[0048] A receiving module, used for receiving a storage expansion request for a target server;

[0049] The acquisition module is used to acquire basic data of the target server based on a preset script program;

[0050] A confirmation module, used to confirm whether the storage expansion request is allowed according to the basic data;

[0051] A locking module, used for locking the allocatable storage array from the allocatable storage pool set when the storage expansion request is allowed;

[0052] The expansion module is used to expand the storage resources of the target server using the allocatable storage array.

[0053] On the other hand, an embodiment of the present specification further provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein when the computer program is executed by the processor, the instructions of the above method are executed.

[0054] On the other hand, an embodiment of the present specification further provides a computer storage medium on which a computer program is stored. When the computer program is executed by a processor of a computer device, the instructions of the above method are executed.

[0055] It can be seen from the technical solutions provided in the above embodiments of this specification that in the embodiments of this specification, when a storage expansion request for a target server is received, basic data of the target server can be collected based on a preset script program, and whether the storage expansion request is allowed is confirmed based on the basic data; when the storage expansion request is allowed, the allocatable storage array is locked from the allocatable storage pool set, and then the storage resources of the target server are expanded using the allocatable storage array, thereby realizing automatic expansion of the open platform storage resources, thereby improving the efficiency of the open platform storage resource expansion and reducing the manpower consumption of the open platform storage resource expansion. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art description. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative labor. In the drawings:

[0057] Figure 1 A flowchart of a method for expanding storage capacity of an open platform in some embodiments of this specification is shown;

[0058] Figure 2 A flowchart of determining storage expansion permission in an embodiment of this specification is shown;

[0059] Figure 3 It shows a flowchart of pre-dividing disks in one embodiment of this specification;

[0060] Figure 4 It shows a flow chart of dividing the disks in one embodiment of this specification;

[0061] Figure 5 It shows a flow chart of brushing and adding disks in one embodiment of this specification;

[0062] Figure 6 It shows a structural block diagram of an open platform storage expansion device in some embodiments of this specification;

[0063] Figure 7 The structure block diagram of the computer device in some embodiments of the present specification is shown.

[0064] [Description of Reference Numerals]

[0065] 61. Receiving module;

[0066] 62. Collection module;

[0067] 63. Confirmation module;

[0068] 64. Locking module;

[0069] 65. Expansion module;

[0070] 702. Computer equipment;

[0071] 704, processor;

[0072] 706. Memory;

[0073] 708, driving mechanism;

[0074] 710, input / output interface;

[0075] 712. Input devices;

[0076] 714. Output devices;

[0077] 716. Presentation equipment;

[0078] 718. Graphical user interface;

[0079] 720, network interface;

[0080] 722. Communication link;

[0081] 724. Communication bus. DETAILED DESCRIPTION

[0082] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be described clearly and completely below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.

[0083] The storage resource expansion technology of the open platform (system) in the embodiments of this specification can be applied to the financial field or other fields, and can be selected according to needs, and this specification does not limit this. In view of the problem of high manpower consumption and low efficiency caused by manual storage resource expansion of the open platform. The embodiments of this specification provide an automatically executable open platform storage expansion method, which can be used on any suitable computer device, which can be part of the open platform or independent of the open platform.

[0084] refer to Figure 1 As shown, in some embodiments of this specification, the open platform storage capacity expansion method may include the following steps:

[0085] S101: Receive a storage expansion request for a target server.

[0086] S102: Collect basic data of the target server based on a preset script program.

[0087] S103: Confirm whether the storage capacity expansion request is allowed according to the basic data.

[0088] S104: When the storage expansion request is allowed, lock the allocatable storage array from the allocatable storage pool set.

[0089] S105: Expand storage resources of the target server using the allocatable storage array.

[0090] In an embodiment of the present specification, when a storage expansion request for a target server is received, basic data of the target server can be collected based on a preset script program, and whether the storage expansion request is allowed can be confirmed based on the basic data; when the storage expansion request is allowed, the allocatable storage array is locked from the allocatable storage pool set, and then the storage resources of the target server are expanded using the allocatable storage array, thereby realizing automatic expansion of the open platform storage resources, thereby improving the efficiency of the open platform storage resource expansion and reducing the manpower consumption of the open platform storage resource expansion.

[0091] In some embodiments of this specification, a storage expansion request can be initiated based on an event trigger. For example, when the target server receives a storage capacity alarm, it can issue a storage expansion request (or a storage expansion instruction). Of course, this is just an example. In other embodiments of this specification, a storage expansion request can also be automatically initiated through other methods such as scheduled tasks, and this specification does not limit this. The target server here is a server in the open platform that needs storage expansion (such as an application server, etc.).

[0092] In the embodiment of this specification, the storage expansion request may include: the IP address of the target server, the expansion operation type (such as new construction, expansion, etc.), the expansion path and the target capacity, etc. The expansion path may refer to the path of the file system corresponding to the target server.

[0093] The script is pre-added to the target server, and its main purpose is to automatically collect the basic data of the target server when it is started. Therefore, this script can be added to any server in the open platform that may have expansion requirements, so as to facilitate the automatic expansion of storage resources.

[0094] The basic data may include information such as the storage disk type, multipath software type, and file system type of the target server. Among them, the storage disk type refers to the storage disk type of the storage disk that has been allocated to the target server for use. For example, in one embodiment of the present specification, the storage disk type may be divided according to the storage disk interface type (such as IDE storage disk, SATA storage disk, SCSI storage disk, etc.). In other embodiments of the present specification, the storage disk type may also be divided using any other suitable dimension, and the present specification does not limit this. Multipath software is a software device on the server that can aggregate the same storage resources flashed by different host bus adapters into a block for use in scenarios such as link redundancy control and load balancing control. Different types of storage disks have different types of multipath software installed or configured, that is, different types of storage disks have specific multipath software types.

[0095] In some embodiments of the present specification, the confirming whether to allow the storage capacity expansion request according to the basic data includes:

[0096] 1) Analyze the basic data.

[0097] 2) Confirm whether the storage disk type is in a storage disk type whitelist, or confirm whether the multipath software type is in a multipath software type whitelist.

[0098] In a target server based on an operating system such as Linux, in order to maintain the performance of the server, a storage disk type whitelist or a multipath software type whitelist may be pre-configured to determine whether to allow the storage resources of the target server to be expanded.

[0099] 3) When the storage disk type is in the storage disk type whitelist, or the multipath software type is in the multipath software type whitelist, it can be predicted whether the file system type exceeds its storage capacity upper limit after expansion.

[0100] Among them, the basic data includes the current capacity of the file system of the corresponding file system. The current capacity of the file system plus the specified expansion capacity is the storage capacity of the file system type after expansion. By comparing the expanded storage capacity with the upper limit of the storage capacity of the file system type, it can be predicted whether the file system type exceeds its storage capacity upper limit after expansion. For example, in an exemplary embodiment, the file system type of the target server is EXT3 (that is, the third-generation Linux extended file system), and the maximum capacity of EXT3 is 16T. If the current capacity of the file system corresponding to the target server is 5T and the target capacity is 10T, the specified expansion capacity is 10T-5T=5T. Since 10T<16T, it can be predicted that this storage expansion request does not exceed the storage capacity upper limit.

[0101] 4) If it is not exceeded, the storage expansion request is allowed, and the basic data is updated to the database. Updating the basic data to the database can facilitate the use in subsequent steps.

[0102] In some other embodiments of the present specification, when the storage capacity expansion request meets one of the following rejection conditions, the storage capacity expansion request may be rejected, wherein the rejection condition includes:

[0103] 1. The storage disk type is not in the storage disk type whitelist;

[0104] 2. The multipath software type is not in the multipath software type whitelist;

[0105] 3. The file system type exceeds its storage capacity limit after expansion.

[0106] It should be noted that the processing logic for determining whether to allow the storage expansion request can be changed according to actual needs. For example, in other embodiments of this specification, other judgment conditions (such as Figure 2 The “other judgment conditions” in the description are not limited to this.

[0107] In some embodiments of the present specification, locking the allocatable storage array from the allocatable storage pool set may include the following steps:

[0108] 1) Obtain the allocated storage disk information of the target server from the database.

[0109] The basic data includes the allocated storage disk information of the target server. In one embodiment of the specification, the allocated storage disk information may include: the current allocation rate, current usage rate and current total number of logical unit numbers (LUNs) of the file system corresponding to the target server.

[0110] 2) Generate a set of allocatable storage pools.

[0111] The allocatable storage pool set refers to the allocatable storage pool list generated by the built-in function. The allocatable storage pool list records the information of all the allocatable storage pools. The allocatable storage pools corresponding to this information can all be candidates for capacity expansion, that is, some storage arrays can be allocated from these allocatable storage pools for the target server capacity expansion.

[0112] 3) According to the allocated storage disk information, select an allocatable storage array with a designated expansion capacity from the allocatable storage pool set.

[0113] In an embodiment of the present specification, selecting an allocatable storage array of designated expansion capacity from the allocatable storage pool set according to the allocated storage disk information may further include:

[0114] a) Selecting (e.g., sequentially selecting) an allocatable storage pool from the allocatable storage pool set.

[0115] b) predicting, based on the current allocation rate, current usage rate and current total number of LUNs, whether the allocation rate, usage rate and total number of LUNs of the file system exceed corresponding upper limits (upper limit thresholds) after the allocatable capacity of the allocatable storage pool is allocated. The allocatable capacity of the allocatable storage pool refers to the maximum allocatable capacity of the allocatable storage pool.

[0116] c) If the allocation rate, usage rate and total number of LUNs of the file system exceed the corresponding upper limits after the allocable capacity of the allocable storage pool is allocated, then it is confirmed whether the allocable capacity reaches the specified expansion capacity. Otherwise, the next allocable storage pool can be taken to continue the judgment.

[0117] d) If the allocatable capacity does not reach the specified expansion capacity, continue to allocate from the remaining allocatable storage pools in the allocatable storage pool set until the allocated allocatable capacity reaches the specified expansion capacity.

[0118] For example, in an embodiment of the present specification, the allocatable storage pool set has 10 allocatable storage pools, and the specified expansion capacity is 5T. When the allocatable capacity of the first allocatable storage pool is 1T, since 1T is less than 5T, the second allocatable storage pool needs to be used for continued allocation; if the allocatable capacity of the second allocatable storage pool is also 1T, the accumulated allocatable capacity reaches 1T+1T=2T at this time, and since 2T is still less than 5T, the third allocatable storage pool needs to be used for continued allocation; this is repeated recursively until the accumulated allocatable capacity reaches the specified expansion capacity.

[0119] Of course, when the total allocatable capacity of all the allocatable storage pools in the allocatable storage pool set does not reach the specified expansion capacity, a prompt is output and a user interface (such as Figure 3 As shown in the figure, it is convenient for users to operate, so that when the automatic pre-disk partitioning fails, manual intervention can be performed so that the subsequent automatic expansion steps can continue to be executed. The pre-disk partitioning here means to pre-lock some allocatable storage arrays before the formal disk partitioning.

[0120] 4) Locking the allocatable storage array and updating the database with the pre-allocated disk information.

[0121] Before the formal partitioning, locking the allocatable storage array can prevent conflicts in storage resource allocation and use, thereby helping to improve the stability of the open platform.

[0122] In some embodiments of the present specification, the use of the allocatable storage array to expand the storage resources of the target server may include the following:

[0123] 1) Put the allocable storage array into the lun group (lun_group) corresponding to the target server. Each target server corresponds to a lun_group, and a lun_group can have one or more luns.

[0124] For example, in Figure 4In the illustrated embodiment, placing the allocable storage array into the lun_group corresponding to the target server may include: obtaining information of the locked allocable storage array from a database; logging into the locked allocable storage array according to the information; confirming whether the lun_group corresponding to the target server exists in the allocable storage array; when the lun_group corresponding to the target server exists in the allocable storage array, confirming whether the luns of all storage disks in the allocable storage array exist in the lun_group; if there is a lun with a storage disk in the allocable storage array that does not exist in the lun_group, adding it to the lun_group. Of course, if the lun_group corresponding to the target server exists in the allocable storage array, a prompt of failure of automatic disk partitioning (here, disk partitioning refers to the formal disk partitioning mentioned above) may be output to inform the user.

[0125] 2) Calling a configuration refresh instruction to refresh the allocatable storage array from the target service.

[0126] 3) Adding the refreshed allocable storage array to the file system corresponding to the target server.

[0127] like Figure 5 As shown, in some embodiments of the present specification, adding the refreshed allocatable storage array to the file system corresponding to the target server may include: determining whether the refreshed allocatable storage array has been used; if not, calling the Automatic Storage Management (ASM) or the Logical Volume Manager (LVM) to add the refreshed allocatable storage array to the file system corresponding to the target server.

[0128] Among them, ASM is a very outstanding new feature in Oracle Database 10g, which provides services such as file system, logical volume manager and software disk array in a platform-independent way. ASM can stripe and mirror disks, so that disks can be added or removed while the database is loaded. It also supports direct and asynchronous I / O and uses the Oracle Data Manager API (simplified I / O system call interface) introduced in Oracle9i.

[0129] Logical Volume Manager is a disk management technology implemented in Linux 2.4 kernel and above. It is a mechanism for managing disk partitions in Linux environment. LVM, a disk management mechanism, can be used not only on Linux systems, but also on UNIX, Windows and other operating systems. The working principle of LVM is actually very simple. It abstractly encapsulates the underlying physical hard disk and then presents it to the upper-level application in the form of a logical volume. In the traditional disk management mechanism, the upper-level application directly accesses the file system to read the underlying physical hard disk. In LVM, it encapsulates the underlying hard disk. When operating the underlying physical hard disk, it no longer operates on the partition, but performs the underlying disk management operation on it through a logical volume. For example, if a physical hard disk is added, the upper-level service is unaware of it at this time, because the logical volume is presented to the previous service.

[0130] Although the process flows described above include multiple operations that occur in a particular order, it should be clearly understood that the processes may include more or fewer operations, which may be performed sequentially or in parallel (eg, using parallel processors or a multi-threaded environment).

[0131] Corresponding to the above-mentioned open platform storage expansion method, the embodiment of this specification also provides an open platform storage expansion device. Figure 6 As shown, in some embodiments of this specification, the open platform storage expansion device may include:

[0132] The receiving module 61 may be used to receive a storage expansion request for a target server;

[0133] The collection module 62 may be used to collect basic data of the target server based on a preset script program;

[0134] A confirmation module 63 may be used to confirm whether the storage expansion request is allowed according to the basic data;

[0135] The locking module 64 may be used to lock the allocatable storage array from the allocatable storage pool set when the storage expansion request is allowed;

[0136] The expansion module 65 may be used to expand the storage resources of the target server using the allocatable storage array.

[0137] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0138] The embodiments of this specification also provide a computer device. Figure 7 As shown, in some embodiments of the present specification, the computer device 702 may include one or more processors 704, such as one or more central processing units (CPUs) or graphics processing units (GPUs), and each processing unit may implement one or more hardware threads. The computer device 702 may also include any memory 706, which is used to store any kind of information such as code, settings, data, etc. In a specific implementation, a computer program on the memory 706 and that can be run on the processor 704, when the computer program is run by the processor 704, can execute instructions according to the above method. Non-limiting, for example, the memory 706 may include any one or more combinations of the following: any type of RAM, any type of ROM, flash memory device, hard disk, optical disk, etc. More generally, any memory can use any technology to store information. Further, any memory can provide volatile or non-volatile retention of information. Further, any memory can represent a fixed or removable component of the computer device 702. In one case, when the processor 704 executes an associated instruction stored in any memory or a combination of memories, the computer device 702 can perform any operation of the associated instruction. The computer device 702 also includes one or more drive mechanisms 708 for interacting with any storage, such as a hard disk drive mechanism, an optical disk drive mechanism, etc.

[0139] The computer device 702 may also include an input / output interface 710 (I / O) for receiving various inputs (via input device 712) and for providing various outputs (via output device 714). A specific output mechanism may include a presentation device 716 and an associated graphical user interface 718 (GUI). In other embodiments, the input / output interface 710 (I / O), input device 712, and output device 714 may not be included, and the computer device 702 may be used as a computer device in a network. The computer device 702 may also include one or more network interfaces 720 for exchanging data with other devices via one or more communication links 722. One or more communication buses 724 couple the components described above together.

[0140] The communication link 722 may be implemented in any manner, for example, through a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 722 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc. governed by any protocol or combination of protocols.

[0141] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products of some embodiments of the present specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processor to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processor generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0142] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processor to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0143] These computer program instructions can also be loaded onto a computer or other programmable data processor so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0144] In a typical configuration, a computer device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0145] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0146] Computer readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computer device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0147] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, the embodiments of this specification may take the form of complete hardware embodiments, complete software embodiments or embodiments combining software and hardware. Moreover, the embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0148] The present specification embodiments may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present specification embodiments may also be practiced in distributed computing environments where tasks are performed by remote processors connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0149] Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. In the description of this specification, the description of the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiment of this specification. In this specification, the schematic representation of the above terms does not necessarily target the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, in the absence of contradiction, a person skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0150] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A method for expanding storage capacity of an open platform. It is characterized in that include: receiving a storage capacity expansion request for a target server; Collect basic data of the target server based on the preset script program; Confirming whether to allow the storage expansion request according to the basic data includes: parsing the basic data; the basic data includes a storage disk type, a multipath software type, and a file system type; confirming whether the storage disk type is in a storage disk type whitelist, or confirming whether the multipath software type is in a multipath software type whitelist; when the storage disk type is in the storage disk type whitelist, or the multipath software type is in the multipath software type whitelist, predicting whether the file system type exceeds its storage capacity upper limit after expansion; if not, allowing the storage expansion request, and updating the basic data to a database; When the storage expansion request is allowed, locking the allocatable storage array from the allocatable storage pool set; The allocable storage array is used to expand storage resources of the target server.

2. The open platform storage expansion method according to claim 1, It is characterized in that Also includes: When the storage capacity expansion request meets one of the following rejection conditions, reject the storage capacity expansion request; The rejection conditions include: The storage disk type is not in the storage disk type whitelist; The multipath software type is not in the multipath software type whitelist; The file system type exceeds its storage capacity limit after expansion.

3. The open platform storage expansion method according to claim 1, It is characterized in that The step of locking the allocatable storage array from the allocatable storage pool set includes: Acquire the allocated storage disk information of the target server from the database; Generate an allocatable storage pool set; According to the allocated storage disk information, selecting an allocatable storage array with a designated expansion capacity from the allocatable storage pool set; The allocatable storage array is locked and updated to the database as pre-partitioned disk information.

4. The method for expanding storage capacity of an open platform according to claim 3, It is characterized in that The allocated storage disk information includes: the current allocation rate, current usage rate and current total number of logical unit numbers of the file system corresponding to the target server; The step of selecting, according to the allocated storage disk information, an allocatable storage array of a designated expansion capacity from the allocatable storage pool set comprises: Selecting an allocatable storage pool from the allocatable storage pool set; According to the current allocation rate, the current usage rate and the current total number of logical unit numbers, predict whether the allocation rate, the usage rate and the total number of logical unit numbers of the file system exceed corresponding upper limits after the allocatable capacity of the allocatable storage pool is allocated; If, after allocating the allocable capacity of the allocable storage pool, the allocation rate, the usage rate and the total number of logical unit numbers of the file system exceed corresponding upper limits, confirming whether the allocable capacity reaches the specified expansion capacity; If the allocatable capacity does not reach the specified expansion capacity, allocation continues from the remaining allocatable storage pools in the allocatable storage pool set until the allocated allocatable capacity cumulatively reaches the specified expansion capacity.

5. The method for expanding storage capacity of an open platform as claimed in claim 4, It is characterized in that Also includes: When the accumulated allocatable capacities of all the allocatable storage pools in the allocatable storage pool set do not reach the specified expansion capacity, a prompt is output and a user interface for manually selecting an allocatable storage array is provided.

6. The method for expanding storage capacity of an open platform according to claim 1, It is characterized in that The step of using the allocatable storage array to expand the storage resources of the target server includes: Putting the allocatable storage array into the logical unit number combination corresponding to the target server; Invoking a configuration refresh instruction to refresh the allocatable storage array from the target service; The refreshed allocatable storage array is added to the file system corresponding to the target server.

7. The method for expanding storage capacity of an open platform according to claim 6, It is characterized in that The step of placing the allocatable storage array into a logical unit number combination corresponding to the target server includes: Obtain information of the locked allocatable storage array from a database; Log into the locked allocatable storage array according to the information; Confirm whether there is a logical unit number combination corresponding to the target server in the allocatable storage array; When the logical unit number combination corresponding to the target server exists in the allocable storage array, confirming whether the logical unit numbers of all storage disks in the allocable storage array exist in the logical unit number combination; If there is a logical unit number of a storage disk in the allocatable storage array that does not exist in the logical unit number combination, it is added to the logical unit number combination.

8. The method for expanding storage capacity of an open platform according to claim 6, It is characterized in that The step of adding the refreshed allocable storage array to a file system corresponding to the target server includes: Determining whether the refreshed allocatable storage array has been used; If it is not in use, the automatic storage manager or the logical volume manager is called to add the refreshed allocable storage array to the file system corresponding to the target server.

9. An open platform storage expansion device, It is characterized in that include: A receiving module, used for receiving a storage expansion request for a target server; The acquisition module is used to acquire basic data of the target server based on a preset script program; A confirmation module, used for confirming whether the storage expansion request is allowed according to the basic data, comprising: parsing the basic data; the basic data comprising a storage disk type, a multipath software type and a file system type; confirming whether the storage disk type is in a storage disk type whitelist, or confirming whether the multipath software type is in a multipath software type whitelist; when the storage disk type is in the storage disk type whitelist, or the multipath software type is in the multipath software type whitelist, predicting whether the file system type exceeds its storage capacity upper limit after expansion; if not, allowing the storage expansion request and updating the basic data to a database; A locking module, used for locking the allocatable storage array from the allocatable storage pool set when the storage expansion request is allowed; The expansion module is used to expand the storage resources of the target server using the allocatable storage array.

10. A computer device comprising a memory, a processor, and a computer program stored on the memory, It is characterized in that When the computer program is executed by the processor, the computer program executes the instructions of the method according to any one of claims 1 to 8.

11. A computer storage medium having a computer program stored thereon, It is characterized in that When the computer program is executed by a processor of a computer device, the computer program executes the instructions of the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Storage space dynamic assignment method, system and storage apparatus

    CN101510143A

  • Method, device and system for selecting storage resources

    CN103561098A

  • Capacity expansion method, device, equipment and system for cloud hard disk

    CN110209342A

  • Method and device for server capacity expansion

    CN111625195A

  • Persistent volume allocation method and device, computer equipment and storage medium

    CN111966305A