CN113721853B - NVMe (network video Me) -based multi-path load balancing implementation method - Google Patents
NVMe (network video Me) -based multi-path load balancing implementation method Download PDFInfo
- Publication number
- CN113721853B CN113721853B CN202111014628.3A CN202111014628A CN113721853B CN 113721853 B CN113721853 B CN 113721853B CN 202111014628 A CN202111014628 A CN 202111014628A CN 113721853 B CN113721853 B CN 113721853B
- Authority
- CN
- China
- Prior art keywords
- bit
- disk
- name
- hex
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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)
- Computer And Data Communications (AREA)
Abstract
The invention discloses a method for realizing multi-path load balancing based on NVMe, which comprises the following steps: adding configuration items of bandwidth, IOPS and name in the configuration of the server; encoding the character string in the name and generating a 20-bit hex value; acquiring an MAC address in a server network card by using a server to form a 12-bit string, and performing operation; converting the operation result into a numerical value in a 32-system scale, and performing block coding to regenerate a new 12-bit string; combining the new 12-bit string with the 20-bit hex value as a globally unique name for the disk; the client performs reverse resolution on the globally unique name of the disk. Has the advantages that: the invention increases the limitation of IOPS and bandwidth on the disk, and the user can perform resource isolation of storage performance, thereby ensuring the reliability of the resource of each user in a multi-user scene.
Description
Technical Field
The invention relates to the field of storage protocols, in particular to a method for realizing multi-path load balancing based on NVMe.
Background
Storage is one of the cores of the IT hardware infrastructure. With the increasing popularization of SSDs based on Flash and a new generation of PCM solid state storage, the storage performance is higher and higher, and meanwhile, the density of the solid state storage is higher and higher, so that the storage capacity and the performance of a single server are over-surpassed. It is not possible to fully exploit its value for a single application.
SCSI (Small Computer System Interface) relies on the TCP protocol, which is expensive, and thus its performance is not good under normal configuration. iSER is still extended based on SCSI storage protocol and thus is still limited in the organization of the protocol stack by limitations of the SCSI protocol, such as number of queues, depth, etc. There is still a large protocol overhead when the performance reaches hundreds of thousands of IOPS.
For the reasons stated above and due to the need for future NVM storage functionality requirements, the NVMe over Fabrics protocol arose.
However, the multi-path function in NVMe over Fabrics in Linux has no load balancing function, which is not beneficial to performance improvement in multi-link. Meanwhile, the NGUID of the disk and the name of the disk are not defined in the server. After the client is connected with the server, the client renames the disk in an nvme mode according to the kernel rule. Thus, in a wide range of applications, the client cannot know which disk is specifically used. Is not conducive to large-scale commercial use. And NVMe over Fabrics in Linux does not have the function of disk performance control, which is not beneficial to isolating the performance requirements of different users in large-scale use environment.
An effective solution to the problems in the related art has not been proposed yet.
Disclosure of Invention
Aiming at the problems in the related art, the invention provides a method for realizing multi-path load balancing based on NVMe, so as to overcome the technical problems in the prior related art.
Therefore, the invention adopts the following specific technical scheme:
a method for realizing multi-path load balancing based on NVMe comprises the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server;
s2, encoding the character string in the name and generating a hex value with 20 bits;
s3, obtaining the MAC address in the server network card by using the server to form a 12-bit character string, and carrying out amplification bit operation on each character in the 12-bit character string;
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
s5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk (wwn);
s6, the client reversely resolves the globally unique name of the disk, and uses the resolved globally unique identifier (NGUID) as the name of the disk.
Furthermore, in S1, the configuration items of the bandwidth and the configuration items of the IOPS are both composed of numbers, the configuration items of the name are composed of english letters and numbers, and the total length of the character string is less than or equal to 12 bits.
Further, the configuration item for increasing the bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, where the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
the read bandwidth and write bandwidth of the disk device are limited.
Further, the encoding the character string in the name and generating the 20-bit hex value in S2 further includes the following steps:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and finally reserving single character strings at high positions if the length of the character strings in the name is odd;
s22, encoding the single character string into a 3-bit hex value according to a single character encoding table;
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bit length to the front end with 2 bit FF value to form the hex value with 20 bit length.
Further, the coding formula is as follows:
the hex value is 3 x the single character hex value of the high character string in the double character string + the single character hex value of the low character string in the double character string.
Further, the formula of the operation of the amplification bit is as follows:
hash=uint64(c)+(hash<<4)+(hash<<10)–hash。
further, the step of converting the operation result into a 32-ary number in S4, and performing block coding to regenerate a new 12-bit string includes the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting the 4 groups of 32-bit system numerical values into hex values and recombining into a new 12-bit string.
Further, the combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk in S5 (wwn) includes the client re-defining the globally unique name of the disk using the device manager, and combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk.
Further, the client multipath software uses a globally unique name (wwn) as the unique identifier for the disk.
Further, the step of reversely resolving the globally unique name of the disk by the client in S6, and using the resolved globally unique identifier (NGUID) as the name of the disk includes:
s61, the client configures multi-path software to reversely analyze the global unique name (wwn) to obtain the hex value of the MAC address and the 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
The invention has the beneficial effects that:
(1) the invention increases the limitation of IOPS and bandwidth on the disk, and the users can perform resource isolation of storage performance, thereby ensuring the reliability of the resources of each user in a multi-user scene; the resource performance of a single user is not interfered by other users.
(2) The NGUID adopted by the invention uses the MAC address of the server to carry out an amplification bit operation formula, so that the uniqueness of the universal unique identification code is ensured, and meanwhile, the MAC address is not exposed, thereby improving the safety.
(3) Compared with the traditional 2-bit hex coding table, the length of the character string is increased by adopting the 3-bit hex coding table definition; and the name of the disk is defined by adopting a 3-bit hex code table, so that the NGUID is more readable, and a user can analyze the name of the disk according to the NGUID.
(4) The Linux distribution system has the advantages that the Linux self-carrying udev and the multipath software multpath are used as the configuration for load balancing, extra software does not need to be installed, the application range is wide, and all Linux distribution versions can be used.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flowchart of an implementation method for NVMe-based multipath load balancing according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating BW/IOPS limitation in a method for implementing NVMe-based multi-path load balancing according to an embodiment of the present invention;
FIG. 3 is a flow chart of a principle of disk BW/IOPS restriction in an implementation method based on NVMe multi-path load balancing according to an embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a principle of an NVMe multipath load balancing-based implementation method according to an embodiment of the present invention.
Detailed Description
For further explanation of the various embodiments, the drawings which form a part of the disclosure and which are incorporated in and constitute a part of this specification, illustrate embodiments and, together with the description, serve to explain the principles of operation of the embodiments, and to enable others of ordinary skill in the art to understand the various embodiments and advantages of the invention, and, by reference to these figures, reference is made to the accompanying drawings, which are not to scale and wherein like reference numerals generally refer to like elements.
According to the embodiment of the invention, an implementation method for multi-path load balancing based on NVMe is provided.
Referring to the drawings and the detailed description, the present invention is further described, as shown in fig. 1 and fig. 4, according to an embodiment of the present invention, a method for implementing NVMe over Fabrics multipath load balancing based on NGUID includes the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server (wherein, the name is an essential configuration item);
in one embodiment, the configuration items of the bandwidth and the configuration items of the IOPS in S1 are both composed of numbers, the configuration items of the name are composed of english letters and numbers, and the total length of the character string is less than or equal to 12 bits, wherein the unit size of the bandwidth is bytes (bytes).
As shown in fig. 2 and fig. 3, in an embodiment, the configuration item for increasing bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, where the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
the read bandwidth and write bandwidth of the disk device are limited.
Specifically, the server limits the IO bandwidth of the block device in response in the blkio subsystem of the linux kernel according to the set bandwidth, where the primary device number indicates a driver corresponding to the device, and the secondary device number indicates a device driven by the driver. The combination of the primary device number and the secondary device number can identify a disk device in the linux kernel.
Further, by writing "master number" into the blkio. Device number, bandwidth size (in bytes) "to limit the read bandwidth of the device; by writing "master number" into a blkio. Device number, bandwidth size (in bytes) ", to limit the write bandwidth of the device. By writing "master number" into the blkio. Device number, bandwidth size (in bytes) "to limit the device's read IOPS; by writing "master device number" into the blkio. Device number, bandwidth size (in bytes) ", to limit the write IOPS of the device.
S2, encoding the character string in the name and generating a hex value with 20 bits;
in one embodiment, the encoding the character string in the name and generating the 20-bit hex value in S2 further includes:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and if the length of the character strings in the name is odd, finally reserving single character strings at high positions;
s22, encoding the single character string into 3-bit hex value according to the single character encoding table (as shown in Table 1);
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bits length with FF value with 2 bits at the front end to form the hex value with 20 bits length (format: xxxx-xxxx-xxxxxxxxxx, 4-4-12).
Table 1 single character encoding table
In one embodiment, the encoding formula is:
the hex value is 3 x the single character hex value of the high character string in the double character string + the single character hex value of the low character string in the double character string.
For example: the character string is "1A", where the high-order character is 1, the unit character code table value of 1 is 001, the single character string code table value of a is 00A, and the final code value is 3F 001+00A ═ 04A.
S3, obtaining the MAC address in the server network card by using the server to form a 12-bit character string, and carrying out amplification bit operation on each character in the 12-bit character string;
in one embodiment, the formula of the amplified bit operation is:
hash=uint64(c)+(hash<<4)+(hash<<10)–hash。
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
in one embodiment, the converting the operation result into a 32-ary number in S4, and performing block coding to regenerate a new 12-bit string includes the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting 4 groups of 32-bit numerical values into hex values and recombining into a new 12-bit string (format: xxxxxxxx-xxxx.8-4).
Among them, 32 is defined as BASE32 ═ 0123456789 abcdefghijklmnopqrstuvwxyz.
S5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk (wwn);
and combining xxxxxxxxxx-xxxx (8-4) of the MAC address and xxxx-xxxx-xxxxxxxxxxxxxx (4-4-12) of the name to form a UUID of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx (8-4-4-12) as the NGUID.
The client redefines the globally unique name of the NVMe disk (wwn) using the device manager (udev), and uses the NGUID of the disk as the globally unique name of the disk (wwn).
In one embodiment, the combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk in S5 (wwn) includes the client re-defining the globally unique name of the disk using the device manager (wwn) and combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk (wwn).
In one embodiment, the client multipath software uses a globally unique name (wwn) as the unique identifier for the disk.
S6, the client reversely resolves the globally unique name of the disk, and uses the resolved globally unique identifier (NGUID) as the name of the disk.
In one embodiment, the step of reversely resolving the globally unique name of the disk by the client in S6, and using the resolved globally unique identifier (NGUID) as the name of the disk includes the following steps:
s61, the client configures multi-path software to reversely analyze the global unique name (wwn) to obtain the hex value of the MAC address and the 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
Wherein, the 3-bit hex value is resolved according to the following formula:
the 3-bit hex value/3F is a quotient … … remainder, the quotient is reversely resolved by using a single character encoding table to obtain an upper single character, the remainder is reversely resolved by using the single character encoding table to obtain a lower single character, and the two upper characters and the lower character form a two-bit character.
For example: 04A/3F is 001 … … 00A, 001 is the quotient used to resolve the single character "1" in reverse using the single character encoding table, and the remainder 00A resolves the single character "a" in reverse using the single character encoding table, and finally "1A" is obtained.
Interpretation of technical terms:
NVMe: NVM Express is an open collection of standards and information to fully demonstrate the advantages of non-volatile memory in all types of computing environments from mobile devices to data centers.
NVMe over Fabrics: architectural specifications for accessing storage devices and systems through ethernet, fibre channel, InfiniBand and other network architectures.
And NGUID: for NVMe devices, NGUID is a namespace globally unique identifier using EUI 6416 byte indicator format.
Load balancing: is a computer networking technology used to distribute load among multiple computers (computer clusters), network connections, CPUs, disk drives, or other resources for the purpose of optimizing resource usage, maximizing throughput, minimizing response time, while avoiding overload.
The Server SAN is a storage resource pool formed by the storage of a plurality of independent Server belts, and has good cost performance and expansibility.
UUID: abbreviation of universal Unique Identifier (universal Unique Identifier).
BW: bandwidth, herein mainly referred to as the bandwidth of the disk.
IOPS: the method is a measurement method for testing the performance of the computer storage equipment and can be regarded as the read-write times per second.
In summary, by means of the above technical solution of the present invention, the limitation of IOPS and bandwidth on the disk is increased, and the user can perform resource isolation of storage performance, thereby ensuring the reliability of resources of each user in a multi-user scenario; the resource performance of a single user is not interfered by other users.
In addition, the NGUID adopted by the invention uses the MAC address of the server to carry out an amplification bit operation formula, thereby ensuring the uniqueness of the universal unique identification code and simultaneously ensuring that the MAC address is not exposed, thereby improving the safety.
In addition, the length of the character string is increased compared with the traditional 2-bit hex coding table by adopting the 3-bit hex coding table definition; and the name of the disk is defined by adopting a 3-bit hex code table, so that the NGUID is more readable, and a user can analyze the name of the disk according to the NGUID.
In addition, by adopting the configuration of using Linux self-contained udev and multipath software multpath as load balancing, no additional software needs to be installed, the application range is wide, and all Linux distribution versions can be used.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.
Claims (8)
1. An NVMe multi-path load balancing based implementation method is characterized by comprising the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server;
s2, encoding the character string in the name and generating a hex value with 20 bits;
s3, obtaining the MAC address in the server network card by using the server to form a 12-bit string, and performing amplification bit operation on each character in the 12-bit string;
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
s5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk;
s6, the client reversely analyzes the globally unique name of the disk, and the globally unique identifier obtained through analysis is used as the name of the disk;
the configuration item for increasing the bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, where the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
limiting the read bandwidth and the write bandwidth of the magnetic disk device;
encoding the character string in the name and generating a 20-bit hex value in S2 further includes:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and if the length of the character strings in the name is odd, finally reserving single character strings at high positions;
s22, encoding the single character string into a 3-bit hex value according to a single character encoding table;
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bit length to the front end with 2 bit FF value to form the hex value with 20 bit length.
2. The NVMe multi-path load balancing-based implementation method of claim 1, wherein the configuration items of the bandwidth and the configuration items of the IOPS in S1 are both composed of numbers, the configuration items of the names are composed of English letters and numbers, and the total length of the character string is less than or equal to 12 bits.
3. The NVMe multi-path load balancing-based implementation method according to claim 1, wherein the encoding formula is as follows:
hex value =3 x the single character hex value of a high-bit string in a double string + the single character hex value of a low-bit string in a double string.
4. The NVMe multi-path load balancing-based implementation method of claim 1, wherein the formula of the amplification bit operation is as follows:
hash = uint64(c)+(hash << 4)+(hash << 10)– hash。
5. the NVMe multi-path load balancing based implementation method of claim 1 or 3, wherein the step of converting the operation result into a 32-ary number in S4, and performing block coding to regenerate a new 12-bit string comprises the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting the 4 groups of 32-bit system numerical values into hex values and recombining into a new 12-bit string.
6. The method of claim 1, wherein the combining the new 12-bit string and the 20-bit hex value into the globally unique name of the disk in S5 comprises the client using a device manager to redefine the globally unique name of the disk and combining the new 12-bit string and the 20-bit hex value into the globally unique name of the disk.
7. The NVMe multi-path load balancing-based implementation method according to claim 6, wherein the client multi-path software uses a globally unique name as a unique identifier of a disk.
8. The NVMe multipath load balancing based implementation method according to claim 1, wherein the step of performing reverse parsing on the globally unique name of the disk by the client in S6, and using the globally unique identifier obtained through parsing as the name of the disk includes the following steps:
s61, the client configures multi-path software to reversely analyze the global unique name to obtain a hex value of the MAC address and an 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111014628.3A CN113721853B (en) | 2021-08-31 | 2021-08-31 | NVMe (network video Me) -based multi-path load balancing implementation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111014628.3A CN113721853B (en) | 2021-08-31 | 2021-08-31 | NVMe (network video Me) -based multi-path load balancing implementation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113721853A CN113721853A (en) | 2021-11-30 |
CN113721853B true CN113721853B (en) | 2022-08-30 |
Family
ID=78679974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111014628.3A Active CN113721853B (en) | 2021-08-31 | 2021-08-31 | NVMe (network video Me) -based multi-path load balancing implementation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113721853B (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396769B1 (en) * | 2015-02-11 | 2016-07-19 | Macronix International Co., Ltd. | Memory device and operating method of same |
CN105573807A (en) * | 2015-12-31 | 2016-05-11 | 清华大学苏州汽车研究院(吴江) | ECU online program upgrading system and method based on CAN bus |
CN105704255B (en) * | 2016-04-29 | 2019-01-08 | 浙江理工大学 | A kind of server load balancing method based on genetic algorithm |
CN106572165A (en) * | 2016-10-26 | 2017-04-19 | 宜人恒业科技发展(北京)有限公司 | Distributed global unique ID application method |
CN108093095B (en) * | 2017-12-13 | 2020-01-21 | 清华大学 | Method and device for converting address character string with short name into IPv6 address |
CN110297608B (en) * | 2019-06-28 | 2023-05-23 | 潍柴动力股份有限公司 | Data processing method, device and storage medium |
-
2021
- 2021-08-31 CN CN202111014628.3A patent/CN113721853B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113721853A (en) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093148B1 (en) | Accelerated volumes | |
US9477682B1 (en) | Parallel compression of data chunks of a shared data object using a log-structured file system | |
Huang et al. | High-performance design of hbase with rdma over infiniband | |
US9304704B2 (en) | Communication with two or more storage devices via one SAS communication port | |
US20150006663A1 (en) | NVM Express Controller for Remote Access of Memory and I/O Over Ethernet-Type Networks | |
CN111090628A (en) | Data processing method and device, storage medium and electronic equipment | |
US9116851B2 (en) | System and method for virtual tape library over S3 | |
CN104205035B (en) | File Mapping compresses | |
US9898401B2 (en) | Service associated with persistent storage | |
US20100251009A1 (en) | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format | |
US12061794B2 (en) | System and method for multiple pass data compaction utilizing delta encoding | |
WO2023096118A1 (en) | Data input and output method using storage node-based key-value store | |
CN112286714A (en) | Method and system for improving big data analysis throughput in NAND-based read source storage | |
CN104007938B (en) | Key assignments generation method and device in storage network | |
US11928335B2 (en) | System and method for data compaction utilizing mismatch probability estimation | |
CN1976299A (en) | Method and system of managing application log configuration settings | |
US20240020006A1 (en) | System and method for compaction of floating-point numbers within a dataset | |
CN112748849B (en) | Method, apparatus and computer program product for storing data | |
CN113721853B (en) | NVMe (network video Me) -based multi-path load balancing implementation method | |
US11243890B2 (en) | Compressed data verification | |
US11334487B2 (en) | Cache sharing in virtual clusters | |
CN108845892A (en) | Data processing method, device, equipment and the computer storage medium of distributed data base | |
US20230283292A1 (en) | System and method for data compaction and security with extended functionality | |
Julián-Moreno et al. | On the feasibility of 40 gbps network data capture and retention with general purpose hardware | |
US9396023B1 (en) | Methods and systems for parallel distributed computation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |