Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the stripe width and depth in the group RAID?

2025-02-21 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)05/31 Report--

This article will explain in detail what the stripe width and depth of the group RAID are, and the content of the article is of high quality, so the editor will share it for you as a reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.

There has been confusion about exactly how RAID should organize the physical storage structure of data.

Now we finally know that it is OK to use RAID5 in general, and a few of those with high requirements go to RAID10.

However, when I was reading the book, I found that the explanation of the strip was not very clear. Du Niang for a while, this posted to share with you.

Strip is a method that divides continuous data into blocks of the same size and writes each piece of data to different disks in the array. Simply put, striping is a method of merging multiple disk drives into a single volume. In many cases, this is done through a hardware controller.

Disk conflicts may occur when multiple processes access a disk at the same time. Most disk systems have limits on the number of accesses (IOPS) and data transfer rate (amount of data transferred per second, TPS). When these limits are reached, subsequent processes that need to access the disk need to wait, which is called disk conflict. Avoiding disk collisions is an important goal of optimizing the performance of Imax O, which is very different from that of other resources (such as CPU and memory). The most effective means of optimizing Imax O is to balance it to the maximum extent.

Striping technology is a technology that automatically balances the load of Istroke O to multiple physical disks. Striping technology is to divide a continuous piece of data into many small parts and store them on different disks. This enables multiple processes to access different parts of the data at the same time without disk collisions, and to maximize the Iwhite O parallelism when sequential access to such data is needed, resulting in very good performance. Because of the superior performance of striping in the performance of Istroke O, striping technology is involved in many levels or platforms in the computing environment where the application system is located. for example, striping technology may be used in both operating systems and storage systems.

After striping, the stripe volume can provide much faster speed than a single disk can provide. As the storage technology is mature, most systems use striping to achieve the load sharing of the system. If the OS has LVM software or hardware stripe devices, the determining factors are stripe depth (stripe depth) and stripe width (stripe width).

Stripe depth: refers to the size of the stripe, also known as the stripe size. It is sometimes called block size, chunk size, stripe length or granularity. This parameter refers to the size of striped blocks written on each disk. The block size of RAID is generally between 2KB and 512KB (or larger), and its value is to the power of 2, that is, 2KB, 4KB, 8KB, 16KB.

The effect of stripe size on performance is much more difficult to quantify than stripe width.

Reduce the stripe size: as the stripe size decreases, the file is divided into more, smaller blocks. These data blocks are distributed to more hard disks, thus improving the performance of transmission, but the performance of disk positioning is degraded because different data blocks are looked for many times.

Increasing the stripe size: contrary to reducing the stripe size, it will reduce the transmission performance and improve the positioning performance.

According to the above discussion, we will find that there is not a universally applicable "optimal stripe size" according to different application types, different performance requirements, and different characteristics of different drives (such as SSD hard drives). So that's why storage vendors, file system writers, allow us to define the stripe size ourselves.

Stripe width: the number of stripes that can be read or written concurrently. This number is equal to the number of physical hard drives in RAID. For example, a striped array with four physical hard drives has a stripe width of 4. Increasing the stripe width can increase the read and write performance of the array. It is obvious that adding more hard drives increases the number of stripes that can be read or written simultaneously. Other things being equal, an array of 8 18G hard drives has higher transmission performance than an array of 4 36G hard drives.

At the operating system level, we can use software stripes (such as the striping technology of LV in LVM) or hardware stripes (such as various RAID). At the storage system level, most of the products on the market provide a variety of stripe technologies (such as various RAID).

Striped settin

When using LVM or hardware striping, the striping effect is determined by stripe depth (stripe depth) and stripe width (stripe width):

Stripe depth refers to the size of a strip block, also known as a stripe unit.

Strip width refers to the yield of strip depth or the number of drivers of a strip distribution.

These settings need to be selected reasonably according to the system's Istroke O requirements. For the database system, the reasonable stripe depth is from 256K to 1m. Let's analyze the influencing factors of stripe depth and stripe width.

Strip depth

In order to improve the efficiency of Ipicuro, after a logical Ipicuro request is converted into a physical Icantho request, these physical Ipicuro should be distributed to the largest number of physical disks, that is, each physical disk handles the least amount of physical Ipicuro, preferably only once, so one of the important factors that affect the stripe is the size of a logical Ipicuro request.

In addition, we have different requirements for the configuration of stripes with different concurrency of Iamp O in the system. For example, in the case of a high degree of concurrency and a small size of logical Ipicuro requests, we want one disk to respond to multiple Icano requests at the same time, while in low-concurrency systems where there are large logical Ipicuro requests, we may need multiple disks to respond to a single Ipicuro request simultaneously. Whether one disk or more than one disk responds to a request, one of our principles is to allow a logical Iripple O to be processed by a physical device at one time.

Strip width

As we mentioned earlier, whether one or more disks respond to a logical Imax O, we all want the physical device to process it only once. Therefore, on the basis of determining the stripe depth, we need to ensure the stripe width > = the size / depth of the stripe O request. In this way, we can maximize the concurrent processing ability of Igamo requests.

In addition, considering the expansion of the system capacity in the future, we also need to plan the stripe width.

Reasonable planning and setting of stripe related parameters in DB2

Let's first take a look at the relevant parameters that affect the performance of the DB2 database:

Page size (page size): the data page size in DB2, which also determines the size of data blocks in a single DB2 request.

Pre-read size (prefetch size): when prefetching, the number of data blocks read at a time cannot be greater than the maximum Imax O size of the operating system (parameter block size in oracle)

Sort heap (sortheap) and sort heap threshold (sheapthres): the size of the sort area in memory also determines the size of the sort O for concurrent sort operations.

Among them, the first two are the two most critical parameters.

The data page size of DB2 is specified when the database is created and cannot be modified dynamically. It determines the default page size for all tablespaces in DB2. However, when we create each tablespace, we can also specify the page size separately according to the needs of the data store.

In an OLTP system, there will be a large number of small concurrent Imax O requests. At this point, you need to consider choosing a larger strip depth. Making the depth of the stripe greater than the size of the Ibind O is called a coarse-grained stripe (Coarse Grain Striping). In a high parallelism system, the stripe depth is (n * page size), where n is an integer greater than 1. The maximum Imax O throughput can be achieved through coarse-grained stripes (a physical Imax O can simultaneously respond to multiple concurrent logical Imax O). Large stripe depth enables prefetch reads such as full table scans to be responded by a disk drive and improves the performance of prefetch reads. In an OLTP system, in order to prevent a logical Imax O request from being completed by multiple physical Iripple O operations, the stripe depth needs to be set to twice or more than the DB2 page size. For example, if the stripe depth is N times the size of the physical Iripple O, for a large number of concurrent Imax O requests, we can ensure that at least a single disk is used to complete the (NMel 1) / N requests.

In DSS systems with low concurrency, since Imax O requests are generally serialized, in order to avoid hot disks in the Imax O set, we need to avoid logical Imax O processing with only one disk. At this point, coarse-grained stripes are not suitable. We should choose a small stripe depth to distribute a logical Ithumb O to multiple disks, so as to achieve load balancing of Iscaro. This is called fine-grained stripe. The size of the stripe depth must be (n * page size), where n is an integer less than the size of the prefetch parameter (prefetch size).

Prefetch size is also an important parameter that has an impact on striping, which determines the basic unit of DB2 asynchronous I _ UBO. First of all, we need to know that DB2's prefetch (prefetching) Imax O mechanism, when there are a large number of continuous Imax O in the database, prefetching can greatly improve the performance of database data reading (such as DSS system).

About the group RAID stripe width and stripe depth is shared here, I hope the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report