What are RAID arrays and why are they needed? What is RAID - an array. RAID array options Installing raid 0

Now let's see what types there are and how they differ.

The University of California at Berkeley introduced the following levels of the RAID specification, which have been adopted as the de facto standard:

  • RAID 0- high-performance disk array with striping, without fault tolerance;
  • - mirrored disk array;
  • RAID 2 reserved for arrays that use Hamming code;
  • RAID 3 and 4- disk arrays with striping and a dedicated parity disk;
  • - disk array with striping and “unallocated parity disk”;
  • - interleaved disk array using two checksums calculated in two independent ways;
  • - RAID 0 array built from RAID 1 arrays;
  • - RAID 0 array built from RAID 5 arrays;
  • - RAID 0 array built from RAID 6 arrays.

A hardware RAID controller can support several different RAID arrays simultaneously, the total number of hard drives of which does not exceed the number of connectors for them. In this case, the controller built into the motherboard BIOS settings has only two states (enabled or disabled), so the new HDD, connected to an unused controller connector when RAID mode is activated, can be ignored by the system until it is associated as another JBOD (spanned) RAID array consisting of one disk.

RAID 0 (striping - “alternation”)

The mode used to achieve maximum performance. The data is evenly distributed across the disks of the array; the disks are combined into one, which can be divided into several. Distributed read and write operations can significantly increase operating speed, since several disks simultaneously read/write their portion of data. The user has access to the entire volume of disks, but this reduces the reliability of data storage, since if one of the disks fails, the array is usually destroyed and data recovery is almost impossible. Scope of application - applications that require high speeds of exchange with the disk, for example video capture, video editing. Recommended for use with highly reliable drives.

(mirroring - “mirroring”)

an array of two disks, which are full copies each other. Not to be confused with RAID 1+0, RAID 0+1, and RAID 10 arrays, which use more than two drives and more complex mirroring mechanisms.

Provides acceptable write speed and gains in read speed when parallelizing queries.

It has high reliability - it works as long as at least one disk in the array is functioning. The probability of failure of two disks at once is equal to the product of the probabilities of failure of each disk, i.e. significantly lower than the probability of failure of an individual disk. In practice, if one of the disks fails, immediate action must be taken to restore redundancy. To do this, it is recommended to use hot spare disks with any RAID level (except zero).

A variant of data distribution across disks, similar to RAID10, which allows the use of an odd number of disks (minimum number is 3)

RAID 2, 3, 4

various distributed data storage options with disks allocated for parity codes and different block sizes. Currently, they are practically not used due to low performance and the need to allocate a lot of disk capacity for storing ECC and/or parity codes.

The main disadvantage of RAID levels 2 to 4 is the inability to perform parallel write operations, since a separate control disk is used to store parity information. RAID 5 does not have this disadvantage. Data blocks and checksums are cyclically written to all disks of the array; there is no asymmetry in the disk configuration. Checksums mean the result of an XOR (exclusive or) operation. Xor has a feature that makes it possible to replace any operand with the result, and by applying the algorithm xor, get the missing operand as a result. For example: a xor b = c(Where a, b, c- three disks of the raid array), in case a refuses, we can get him by putting him in his place c and after spending xor between c And b: c xor b = a. This applies regardless of the number of operands: a xor b xor c xor d = e. If it refuses c Then e takes his place and holding xor as a result we get c: a xor b xor e xor d = c. This method essentially provides version 5 fault tolerance. To store the result of xor, only 1 disk is required, the size of which is equal to the size of any other disk in the raid.

Advantages

RAID5 has become widespread, primarily due to its cost-effectiveness. The capacity of a RAID5 disk array is calculated using the formula (n-1)*hddsize, where n is the number of disks in the array, and hddsize is the size of the smallest disk. For example, for an array of four 80 gigabyte disks, the total volume will be (4 - 1) * 80 = 240 gigabytes. Writing information to a RAID 5 volume requires additional resources and performance decreases, since additional calculations and write operations are required, but when reading (compared to a separate hard drive), there is a gain because data streams from several disks in the array can be processed in parallel.

Flaws

The performance of RAID 5 is noticeably lower, especially on operations such as Random Write, in which performance drops by 10-25% of the performance of RAID 0 (or RAID 10), since it requires more disk operations (each operation writes, with the exception of the so-called full-stripe writes, the server is replaced on the RAID controller by four - two read operations and two write operations). The disadvantages of RAID 5 appear when one of the disks fails - the entire volume goes into critical mode (degrade), all write and read operations are accompanied by additional manipulations, and performance drops sharply. In this case, the reliability level is reduced to the reliability of RAID-0 with the corresponding number of disks (that is, n times lower than the reliability of a single disk). If before full recovery If the array fails, or an unrecoverable read error occurs on at least one more disk, then the array is destroyed and the data on it cannot be restored by conventional methods. It should also be taken into account that the process of RAID Reconstruction (recovery of RAID data through redundancy) after a disk failure causes an intensive read load from the disks for many hours continuously, which can cause the failure of any of the remaining disks in the least protected period of RAID operation, as well as identify previously undetected read failures in cold data arrays (data that is not accessed during normal operation of the array, archived and inactive data), which increases the risk of failure during data recovery.

The minimum number of disks used is three.

RAID 6 is similar to RAID 5, but has a higher degree of reliability - the capacity of 2 disks is allocated for checksums, 2 amounts are calculated using different algorithms. Requires a more powerful RAID controller. Ensures operation after the simultaneous failure of two disks - protection against multiple failures. A minimum of 4 disks are required to organize the array. Typically, using RAID-6 causes about a 10-15% drop in disk group performance relative to RAID 5, which is caused by the large amount of processing for the controller (the need to calculate a second checksum, as well as read and rewrite more disk blocks when writing each block).

RAID 0+1

RAID 0+1 can mean basically two options:

  • two RAID 0 are combined into RAID 1;
  • three or more disks are combined into an array, and each data block is written to two disks of this array; Thus, with this approach, as in “pure” RAID 1, the useful volume of the array is half of the total volume of all disks (if these are disks of the same capacity).

RAID 10 (1+0)

RAID 10 is a mirrored array in which data is written sequentially onto several disks, like RAID 0. This architecture is an array of the RAID 0 type, the segments of which are RAID 1 arrays instead of individual disks. Accordingly, an array of this level must contain at least 4 disks ( and always an even number). RAID 10 combines high fault tolerance and performance.

The assertion that RAID 10 is the most reliable option for data storage is quite justified by the fact that the array will be disabled after the failure of all drives in the same array. If one drive fails, the chance of failure of the second one in the same array is 1/3*100=33%. RAID 0+1 will fail if two drives fail in different arrays. The chance of failure of a drive in a neighboring array is 2/3*100=66%, however, since a drive in an array with an already failed drive is no longer used, the chance that the next drive will fail the entire array is 2/2 *100=100%

an array similar to RAID5, however, in addition to distributed storage of parity codes, the distribution of spare areas is used - in fact, a hard drive is used, which can be added to the RAID5 array as a spare (such arrays are called 5+ or 5+spare). In a RAID 5 array, the backup disk is idle until one of the main hard drives fails, while in a RAID 5EE array, this disk is shared with the rest of the HDDs all the time, which has a positive effect on the performance of the array. For example, a RAID5EE array of 5 HDDs will be able to perform 25% more I/O operations per second than a RAID5 array of 4 primary and one backup HDD. The minimum number of disks for such an array is 4.

combining two (or more, but this is extremely rarely used) RAID5 arrays into a stripe, i.e. a combination of RAID5 and RAID0, which partially corrects the main disadvantage of RAID5 - the low data writing speed due to the parallel use of several such arrays. The total capacity of the array is reduced by the capacity of two disks, but, unlike RAID6, such an array can tolerate the failure of only one disk without data loss, and the minimum required number of disks to create a RAID50 array is 6. Along with RAID10, this is the most recommended RAID level to use in applications where high performance combined with acceptable reliability is required.

combining two RAID6 arrays into a stripe. The write speed is approximately doubled compared to the write speed in RAID6. The minimum number of disks to create such an array is 8. Information is not lost if two disks from each RAID 6 array fail

RAID 00


RAID 00 is very rare; I came across it on LSI controllers. RAID 00 disk group is a composite group of disks that creates a striped set of
disk arrays RAID 0. RAID 00 does not provide data redundancy, but along with RAID 0, offers the best performance of any RAID level. RAID 00 breaks data into smaller segments and then stripes the data segments on each drive in the storage group. The size of each data segment is determined by the stripe size. RAID 00 offers high throughput. RAID level 00 is not fault tolerant. If a disk in a RAID 0 disk group fails, the entire
The virtual disk (all disks associated with the virtual disk) will fail. By breaking a large file into smaller segments, the RAID controller can use both SAS
controller to read or write a file faster. RAID 00 does not assume parity; calculations complicate write operations. This makes RAID 00 ideal for
applications that require high throughput but do not require fault tolerance. Can consist of from 2 to 256 disks.

Which is faster RAID 0 or RAID 00?


I conducted my testing described in the article about optimizing the speed of solid-state drives on LSI controllers and got these numbers on arrays of 6 SSDs

Greetings to all, dear readers of the blog site. I think many of you have at least once come across such an interesting expression on the Internet - “RAID array”. What it means and why the average user might need it, that’s what we’ll talk about today. It is a well-known fact that it is the slowest component in a PC, and is inferior to the processor and.

To compensate for the “innate” slowness where it is completely out of place (we are talking primarily about servers and high-performance PCs), they came up with the use of a so-called RAID disk array - a kind of “bundle” of several identical hard drives operating in parallel. This solution allows you to significantly increase the speed of operation coupled with reliability.

First of all, a RAID array allows you to provide high fault tolerance for the hard drives (HDD) of your computer by combining several hard drives into one logical element. Accordingly, to implement this technology you will need at least two hard drives. In addition, RAID is simply convenient, because all the information that previously had to be copied to backup sources (external hard drives) can now be left “as is”, because the risk of its complete loss is minimal and tends to zero, but not always, about this a little lower.

RAID translates roughly like this: a protected set of inexpensive disks. The name comes from the times when large hard drives were very expensive and it was cheaper to assemble one common array of smaller disks. The essence has not changed since then, in general, like the name, only now you can make just a gigantic storage out of several large HDDs, or make it so that one disk duplicates another. You can also combine both functions, thereby getting the advantages of one and the other.

All these arrays are under their own numbers, most likely you have heard about them - raid 0, 1...10, that is, arrays of different levels.

Types of RAID

Speed ​​Raid 0

Raid 0 has nothing to do with reliability, because it only increases speed. You need at least 2 hard drives, and in this case the data will be “cut” and written to both disks simultaneously. That is, you will have access to the full capacity of these disks, and theoretically this means that you get 2 times higher read/write speeds.

But let's imagine that one of these disks breaks down - in this case, the loss of ALL your data is inevitable. In other words, you will still have to make regular backups in order to be able to restore the information later. Typically 2 to 4 disks are used here.

Raid 1 or “mirror”

Reliability is not compromised here. You get the disk space and performance of only one hard drive, but you have double the reliability. One disk breaks - the information will be saved on the other.

The RAID 1 level array does not affect the speed, but the volume - here you have at your disposal only half of the total disk space, of which, by the way, in RAID 1 there can be 2, 4, etc., that is, an even number. In general, the main feature of a first-level raid is reliability.

Raid 10

Combines all the best of the previous types. I propose to look at how this works using the example of four HDDs. So, information is written in parallel on two disks, and this data is duplicated on two other disks.

The result is a 2-fold increase in access speed, but also the capacity of only two of the four disks in the array. But if any two disks fail, no data loss will occur.

Raid 5

This type of array is very similar to RAID 1 in its purpose, only now you need at least 3 disks, one of them will store the information necessary for recovery. For example, if such an array contains 6 HDDs, then only 5 of them will be used to record information.

Due to the fact that data is written to several hard drives at once, the reading speed is high, which is perfect for storing a large amount of data there. But, without an expensive raid controller, the speed will not be very high. God forbid one of the disks breaks - restoring information will take a lot of time.

Raid 6

This array can survive the failure of two hard drives at once. This means that to create such an array you will need at least four disks, despite the fact that the write speed will be even lower than that of RAID 5.

Please note that without a powerful raid controller, such an array (6) is unlikely to be assembled. If you only have 4 hard drives, it is better to build RAID 1.

How to create and configure a RAID array

RAID controller

A raid array can be made by connecting several HDDs to motherboard computer that supports this technology. This means that such a motherboard has an integrated controller, which is usually built into the . But, the controller can also be external, which is connected via a PCI or PCI-E connector. Each controller, as a rule, has its own configuration software.

The raid can be organized both at the hardware level and at the software level; the latter option is the most common among home PCs. Users do not like the controller built into the motherboard because of its poor reliability. In addition, if the motherboard is damaged, data recovery will be very problematic. At the software level, the role of the controller is played, if something happens, you can easily transfer your raid array to another PC.

Hardware

How to make a RAID array? To do this you need:

  1. Get it somewhere with raid support (in case of hardware RAID);
  2. Buy at least two identical hard drives. It is better that they are identical not only in characteristics, but also of the same manufacturer and model, and connected to the mat. board using one .
  3. Transfer all data from your HDDs to other media, otherwise they will be destroyed during the raid creation process.
  4. Next, you will need to enable RAID support in the BIOS, but I can’t tell you how to do this in the case of your computer, due to the fact that everyone’s BIOS is different. Usually this parameter is called something like this: “SATA Configuration or Configure SATA as RAID”.
  5. Then restart your PC and a table with more detailed raid settings should appear. You may have to press the key combination "ctrl+i" during the POST procedure for this table to appear. For those who have an external controller, you will most likely need to press “F2”. In the table itself, click “Create Massive” and select the required array level.

After creating a raid array in the BIOS, you need to go to “disk management” in OS –10 and format the unallocated area - this is our array.

Program

To create a software RAID, you don't have to enable or disable anything in the BIOS. In fact, you don't even need raid support motherboard. As mentioned above, the technology is implemented using the PC’s central processor and Windows itself. Yep, you don't even need to install any third-party software. True, in this way you can only create a RAID of the first type, which is a “mirror”.

Right-click on “my computer” - “manage” - “disk management”. Then click on any of the hard drives intended for the raid (disk1 or disk2) and select “Create mirror volume”. In the next window, select a disk that will be a mirror of another hard drive, then assign a letter and format the final partition.

In this utility, mirrored volumes are highlighted in one color (red) and are designated by one letter. In this case, the files are copied to both volumes, once to one volume, and the same file is copied to the second volume. It is noteworthy that in the “my computer” window our array will be displayed as one section, the second section is hidden so as not to be an eyesore, because the same duplicate files are located there.

If a hard drive fails, the “Failed Redundancy” error will appear, while everything on the second partition will remain intact.

Let's summarize

RAID 5 is needed for a limited range of tasks, when a much larger number of HDDs (than 4 disks) are assembled into huge arrays. For most users, raid 1 is the best option. For example, if there are four disks with a capacity of 3 terabytes each, in RAID 1 in this case 6 terabytes of capacity are available. RAID 5 in this case will provide more space, however, the access speed will drop significantly. RAID 6 will give the same 6 terabytes, but even lower access speed, and will also require an expensive controller.

Let's add more RAID disks and you will see how everything changes. For example, let’s take eight disks of the same capacity (3 terabytes). In RAID 1, only 12 terabytes of space will be available for recording, half of the volume will be closed! RAID 5 in this example will give 21 terabytes of disk space + it will be possible to get data from any one damaged hard drive. RAID 6 will give 18 terabytes and data can be obtained from any two disks.

In general, RAID is not a cheap thing, but personally I would like to have at my disposal a RAID of the first level of 3 terabyte disks. There are even more sophisticated methods, like RAID 6 0, or “raid from raid arrays”, but this makes sense with a large number of HDDs, at least 8, 16 or 30 - you must agree, this goes far beyond the scope of ordinary “household” use and is used demand is mostly in servers.

Something like this, leave comments, add the site to bookmarks (for convenience), there will be many more interesting and useful things, and see you soon on the blog pages!

And so on, so on, so on, so on. So, today we’ll talk about RAID arrays based on them.

As you know, these same hard drives also have a certain safety margin after which they fail, as well as characteristics that affect performance.

As a result, probably many of you, one way or another, have once heard about certain raid arrays that can be made from ordinary hard drives in order to speed up the operation of these same drives and the computer as a whole or to ensure increased reliability of data storage.

Surely you also know (and if you don’t know, it doesn’t matter) that these arrays have different serial numbers (0, 1, 2, 3, 4, etc.), and also perform completely different functions. This phenomenon actually occurs in nature and, as you have already guessed, it is these same RAID arrays that I want to tell you about in this article. More precisely, I’m already telling you ;)

Go.

What is RAID and why is it needed?

RAID is a disk array (i.e. a complex or, if you like, a bundle) of several devices - hard drives. As I said above, this array serves to increase the reliability of data storage and/or to increase the speed of reading/writing information (or both).

Actually, what exactly this bunch of disks does, i.e. speeding up work or increasing data security, depends on you, or more precisely, on the choice of the current configuration of the raid(s). The different types of these configurations are precisely noted different numbers: 1, 2, 3, 4 and, accordingly, perform different functions.

Simply, for example, in the case of building the 0th version (description of variations 0, 1, 2, 3, etc. - read below) you will receive a noticeable increase in productivity. And in general, the hard drive today is just a narrow channel in the performance of the system.

Why did this happen in general?

Hard drives are only growing in volume, because the head rotation speed of them (with the exception of rare models like Raptor) has stood still for quite some time at around 7200, the cache is not exactly growing either, the architecture remains almost the same.

In general, in terms of performance, disks are stagnant (the situation can only be saved by developing ones), but they play a significant role in the operation of the system and, in some places, full-fledged applications.

In the case of building a single (in the sense of number 1) raid, you will lose a little in performance, but you will receive some tangible guarantee of the security of your data, because it will be completely duplicated and, in fact, even if one disk fails, the whole thing and will be completely on the second without any losses.

In general, I repeat, raids will be useful to everyone. I would even say that they are required :)

What is RAID in the physical sense?

Physically, a RAID array consists of two to n number of hard drives connected that support the ability to create RAID (or to an appropriate controller, which is less common because these are expensive for the average user (controllers are usually used on servers due to their increased reliability and performance)), i.e. .e. To the eye, nothing changes inside the system unit; there are simply no unnecessary connections or connections of disks to each other or to anything else.

In general, everything in the hardware is almost the same as always, and only the software approach changes, which, in fact, sets, by selecting the type of raid, exactly how the connected disks should work.

Programmatically, in the system, after creating a raid, no special quirks appear either. In fact, the whole difference in working with a raid lies only in a small setting that actually organizes the raid (see below) and in the use of the driver. Otherwise, EVERYTHING is absolutely the same - in “My Computer” there are the same C, D and other drives, all the same folders, files... In general and in software, to the eye, they are completely identical.

Installing the array is not difficult: we just take a motherboard that supports RAID technology, take two completely identical ones - this is important! , - both according to the characteristics (size, cache, interface, etc.) and according to the manufacturer and model of the disk and connect them to this motherboard. Next, simply turn on the computer, go into the BIOS and set the SATA Configuration: RAID parameter.

After this, during the computer boot process (usually before Windows boot) a panel appears displaying information about the disks in the raid and outside it, where, in fact, you need to press CTR-I to configure the raid (add disks to it, delete them, etc., etc.). Actually, that's all. Then there are other joys of life, that is, again, everything is as always.

Important note to remember

When creating or deleting a raid (this does not seem to apply to the 1st raid, but this is not a fact), all information is inevitably deleted from the disks, and therefore it is clearly not worth just conducting an experiment, creating and deleting various configurations. Therefore, before creating a raid, first save all the necessary information (if you have it), and then experiment.

As for the configurations.. As I already said, there are several types of RAID arrays (at least from the main basis, this is RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6). To begin with, I will talk about two that are the most understandable and popular among ordinary users:

  • RAID 0 - disk array to increase writing speed.
  • RAID 1 - mirrored disk array.

And at the end of the article I’ll quickly go over the others.

RAID 0 - what is it and what is it used for?

And so... RAID 0 (also known as Striping) - uses two to four (more, less often) hard drives that jointly process information, which increases performance. To make it clear, carrying bags for one person takes longer and is more difficult than for four people (although the bags remain the same in their physical properties, only the powers interacting with them change). Programmatically, information on a raid of this type is divided into data blocks and written to both/several disks in turn.

One block of data on one disk, another block of data on another, and so on. This significantly increases performance (the number of disks determines the multiplicity of the increase in performance, i.e. 4 disks will run faster than two), but the security of data on the entire array suffers. If any of the hard drives included in such a RAID fails, all information is almost completely and irretrievably lost.

Why? The fact is that each file consists of a certain number of bytes... each of which carries information. But in a RAID 0 array, the bytes of one file can be located on several disks. Accordingly, if one of the disks “dies,” an arbitrary number of bytes of the file will be lost and it will simply be impossible to recover it. But there is more than one file.

In general, when using such a raid array, it is strongly recommended to permanently store valuable information on external media. The raid really provides noticeable speed - I’m telling you this from my own experience, because I’ve had such happiness installed at home for years.

RAID 1 - what is it and what is it used for?

As for RAID 1 (Mirroring - “mirror”)... Actually, I’ll start with the drawback. Unlike RAID 0, it turns out that you kind of “lose” the space of the second hard drive (it is used to write a complete (byte for byte) copy of the first hard drive to it, while RAID 0 this space is completely available).

The advantage, as you already understood, is that it has high reliability, i.e. everything works (and all data exists in nature, and does not disappear when one of the devices fails) as long as at least one disk is functioning , i.e. Even if you roughly destroy one disk, you will not lose a single byte of information, because the second is a pure copy of the first and replaces it when it fails. This type of raid is often used on servers due to the incredible viability of data, which is important.

With this approach, performance is sacrificed and, according to personal feelings, it is even less than when using one disk without any raids. However, for some, reliability is much more important than performance.

RAID 2, 3, 4, 5, 6 - what are they and what are they used with?

The description of these arrays is here as much as possible, i.e. purely for reference, and even then in a compressed form (in fact, only the second one is described). Why is that? At least due to the low popularity of these arrays among the average (and, in general, any other) user and, as a consequence, my little experience in using them.

RAID 2 is reserved for arrays that use some kind of Hamming code (I wasn’t interested in what it was, so I won’t tell you). The principle of operation is approximately this: data is written to the corresponding devices in the same way as in RAID 0, that is, they are divided into small blocks across all disks that are involved in storing information.

The remaining disks (specially allocated for this purpose) store error correction codes, which can be used to restore information if any hard drive fails. So in arrays of this type, disks are divided into two groups - for data and for error correction codes

For example, you have two disks that provide space for the system and files, and two more will be completely dedicated to correction data in case the first two disks fail. In essence, this is something like a zero raid, only with the ability to at least somehow save information in the event of failure of one of the hard drives. Rarely expensive - four disks instead of two with a very controversial increase in security.

RAID 3, 4, 5, 6... About them, no matter how strange it may sound on the pages of this site, try reading about them on Wikipedia. The fact is that in my life I have encountered these arrays extremely rarely (except that the fifth one came to hand more often than others) and I cannot describe in accessible words the principles of their operation, and I absolutely do not want to reprint an article from the above proposed resource, at least due to the presence of infuriating formulations in these, which even I can barely understand.

Which RAID should you choose?

If you play games, often copy music, movies, or install resource-intensive programs, then RAID 0 will certainly come in handy. But be careful when choosing hard drives - in this case their quality is especially important - or be sure to make backups to external media.

If you work with valuable information, which to lose is tantamount to death, then you definitely need RAID 1 - it is extremely difficult to lose information with it.

I repeat that it is very desirable that the disks installed in the RAID array are identical. Size, brand, series, cache size - everything should preferably be the same.

Afterword

That's how things are.

By the way, I wrote how to assemble this miracle in the article: " How to create a RAID array using standard methods", and about a couple of parameters in the material " RAID 0 of two SSDs, - practical tests with Read Ahead and Read Cache". Use the search.

I sincerely hope that this article will be useful to you and you will definitely make yourself a raid of one type or another. Believe me, it's worth it.

For questions about creating and configuring them, in general, you can contact me in the comments - I’ll try to help (if there are instructions for your motherboard online). I will also be glad to any additions, wishes, thoughts and all that stuff.

Almost everyone knows the proverb “Until thunder strikes, a man will not cross himself.” It is vital: until this or that problem touches the user closely, he will not even think about it. The power supply died and took a couple of devices with it - the user rushes to look for articles on relevant topics about tasty and healthy food. The processor burned out or began to malfunction due to overheating - in the “Favorites” there appear a couple of links to sprawling forum threads where CPU cooling is discussed.

It’s the same story with hard drives: as soon as the next screw, having cracked its heads goodbye, leaves our mortal world, the owner of the PC begins to fuss to ensure the improvement of the living conditions of the drive. But even the most sophisticated cooler cannot guarantee a long and happy life for the disk. The service life of the drive is influenced by many factors: manufacturing defects, and an accidental kick to the case (especially if the body is standing somewhere on the floor), and dust passing through the filters, and high-voltage interference sent by the power supply... There is only one way out - backup information, and if you need backup on the go, then it’s time to build a RAID array, since today almost every motherboard has some kind of RAID controller.

At this point we will stop and make a brief excursion into the history and theory of RAID arrays. The abbreviation RAID itself stands for Redundant Array of Independent Disks. Previously, inexpensive was used instead of independent, but over time this definition has lost its relevance: almost all disk drives have become inexpensive.

The history of RAID began in 1987, when the article "Enclosure for Redundant Arrays of Low-Cost Disks (RAID)" was published, signed by comrades Peterson, Gibson and Katz. The note described the technology of combining several regular disks into an array to obtain a faster and more reliable drive. The authors of the material also told readers about several types of arrays - from RAID-1 to RAID-5. Subsequently, a zero-level RAID array was added to the arrays described almost twenty years ago, and it gained popularity. So what are all these RAID-x? What is their essence? Why are they called redundant? We will try to figure this out.

To put it very in simple language, then RAID is a thing that allows the operating system not to know how many disks are installed in the computer. Combining hard drives into a RAID array is a process that is directly opposite to dividing a single space into logical drives: we form one logical drive based on several physical ones. In order to do this, we will need either the appropriate software (we won’t even talk about this option - it’s an unnecessary thing), or a RAID controller built into the motherboard, or a separate one inserted into a PCI or PCI Express slot. It is the controller that combines the disks into an array, and the operating system no longer works with the HDD, but with the controller, which does not tell it anything unnecessary. But there are a great many options for combining several disks into one, more precisely, about ten.

What are RAID types?

The simplest of them is JBOD (Just a Bunch of Disks). Two hard drives are glued into one in series, information is written first to one and then to the other disk without breaking it into pieces and blocks. From two 200 GB drives, we make one 400 GB drive, which operates at almost the same, and in reality slightly lower, speed as each of the two drives.

JBOD is a special case of a level-0 array, RAID-0. There is also another variant of the name of arrays at this level - stripe (strip), the full name is Striped Disk Array without Fault Tolerance. This option also involves combining n disks into one with a capacity increased by n times, but the disks are not combined sequentially, but in parallel, and information is written to them in blocks (the block size is specified by the user when forming a RAID array).

That is, if you need to write the sequence of numbers 123456 to two drives included in a RAID-0 array, the controller will divide this chain into two parts - 123 and 456 - and write the first to one disk, and the second to the other. Each disk can transfer data... well, at a speed of 50 MB/s, and the total speed of two disks from which data is taken in parallel is 100 MB/s. Thus, the speed of working with data should increase n times (in reality, of course, the increase in speed is less, since no one has canceled the losses for searching for data and transmitting it over the bus). But this increase is not given for nothing: if at least one disk fails, information from the entire array is lost.

RAID level zero. The data is divided into blocks and scattered across disks. There is no parity or redundancy.

That is, there is no redundancy and no redundancy at all. This array can only be considered a RAID array conditionally, however, it is very popular. Few people think about reliability; it can’t be measured by benchmarks, but everyone understands the language of megabytes per second. This is not bad or good, it just happens. Below we will talk about how to eat the fish and maintain reliability. Recovering RAID-0 after a failure

By the way, an additional disadvantage of the stripe array is that it is not portable. I don’t mean that he doesn’t tolerate certain types of food or, for example, his owners. He doesn’t care about this, but moving the array itself somewhere is a whole problem. Even if you drag both disks and controller drivers to your friend, it is not a fact that they will be defined as one array and the data will be able to be used. Moreover, there are cases where simply connecting (without writing anything!) stripe disks to a “non-native” (different from the one on which the array was formed) controller led to damage to the information in the array. We don’t know how relevant this problem is now, with the advent of modern controllers, but we still advise you to be careful.


Level 1 RAID array of four disks. The disks are divided into pairs, and the drives within the pair store the same data.

The first truly "redundant" array (and the first RAID to appear) was RAID-1. Its second name - mirror - explains the principle of operation: all disks allocated for the array are divided into pairs, and information is read and written to both disks at once. It turns out that each of the disks in the array has an exact copy. In such a system, not only the reliability of data storage increases, but also the speed of reading it (you can read from two hard drives at once), although the write speed remains the same as that of one drive.

As you might guess, the volume of such an array will be equal to half the sum of the volumes of all hard drives included in it. The disadvantage of this solution is that you need twice as many hard drives. But the reliability of this array is actually not even equal to the double reliability of a single disk, but much higher than this value. Failure of two hard drives within... well, let's say, a day is unlikely unless, for example, the power supply intervenes. At the same time, any sane person, seeing that one disk in a pair has failed, will immediately replace it, and even if the second disk fails immediately after that, the information will not go anywhere.

As you can see, both RAID-0 and RAID-1 have their drawbacks. How can I get rid of them? If you have at least four hard drives, you can create a RAID 0+1 configuration. To do this, RAID-1 arrays are combined into a RAID-0 array. Or vice versa, sometimes a RAID-1 array is created from several RAID-0 arrays (the result is RAID-10, the only advantage of which is less data recovery time when one disk fails).

The reliability of such a configuration of four hard drives is equal to the reliability of a RAID-1 array, and the speed is actually the same as that of RAID-0 (in reality, it will most likely be slightly lower due to the limited capabilities of the controller). At the same time, the simultaneous failure of two disks does not always mean a complete loss of information: this will only happen if the disks containing the same data fail, which is unlikely. That is, if four disks are divided into pairs 1-2 and 3-4 and the pairs are combined into a RAID-0 array, then only the simultaneous failure of disks 1 and 2 or 3 and 4 will lead to data loss, while in the event of the untimely death of the first and the third, second and fourth, first and fourth or second and third hard drives, the data will remain safe and sound.

However, the main disadvantage of RAID-10 is the high cost of disks. Still, the price of four (minimum!) hard drives cannot be called small, especially if the capacity of only two of them is actually available to us (few people think about reliability and how much it costs, as we have already said). Large (100%) redundancy of data storage makes itself felt. All this has led to the fact that recently an array variant called RAID-5 has gained popularity. To implement it you need three disks. In addition to the information itself, the controller also stores parity blocks on the array drives.

We will not go into the details of how the parity control algorithm works; we will only say that if information is lost on one of the disks, it allows you to restore it using parity data and live data from other disks. The parity block has the volume of one physical disk and is evenly distributed across all hard drives of the system so that the loss of any disk allows you to recover information from it using a parity block located on another disk of the array. The information is divided into large blocks and written to the disks one by one, that is, according to the 12-34-56 principle in the case of a three-disk array.

Accordingly, the total volume of such an array is the volume of all disks minus the capacity of one of them. Data recovery, of course, does not occur instantly, but such a system has high performance and a margin of reliability at a minimum cost (for a 1000 GB array you need six 200 GB disks). However, the performance of such an array will still be lower than the speed of a stripe system: with each write operation, the controller also needs to update the parity index.

RAID-0, RAID-1 and RAID 0+1, sometimes also RAID-5 - these levels most often exhaust the capabilities of desktop RAID controllers. More high levels available only to complex systems based on SCSI hard drives. However, lucky owners of SATA controllers with Matrix RAID support (such controllers are built into the south bridges ICH6R and ICH7R from Intel) can take advantage of RAID-0 and RAID-1 arrays with only two disks, and those who have a board with ICH7R , can combine RAID-5 and RAID-0 if they have four identical drives.

How is this implemented in practice? Let's look at a simpler case with RAID-0 and RAID-1. Let's say you bought two 400 GB hard drives. You split each drive into 100 GB and 300 GB logical drives. After that, using the Intel Application Accelerator RAID Option ROM utility built into the BIOS, you combine 100 GB partitions into a stripe array (RAID-0), and 300 GB partitions into a Mirror array (RAID-1). Now, on a fast disk with a capacity of 200 GB, you can store, say, toys, video material and other data that require high speed of the disk subsystem and, moreover, are not very important (that is, those that you will not very much regret losing), and on a mirrored 300 GB gigabyte disk you move work documents, mail archives, utility software and other vital necessary files. If one drive fails, you lose what was placed on the stripe array, but the data you placed on the second logical drive is duplicated on the remaining drive.

Combining the RAID-5 and RAID-0 levels means that part of the volume of four disks is allocated for a fast stripe array, and the other part (let it be 300 GB on each disk) falls on data blocks and parity blocks, that is, you get one an ultra-fast 400 GB disk (4 x 100 GB) and one reliable but slower 900 GB array of 4 x 300 GB minus 300 GB for parity blocks.

As you can see, this technology is extremely promising, and it would be nice if other chipset and controller manufacturers support it. It is very tempting to have arrays of different levels on two disks, fast and reliable.

These are, perhaps, all the types of RAID arrays that are used in home systems. However, in life you may encounter RAID-2, 3, 4, 6 and 7. So let's still see what these levels are.

RAID-2. In an array of this type, disks are divided into two groups - for data and for error correction codes, and if the data is stored on n disks, then n-1 disks are needed to store correction codes. Data is written to the corresponding hard drives in the same way as in RAID-0; they are divided into small blocks according to the number of disks intended for storing information. The remaining disks store error correction codes, which can be used to restore information if any hard drive fails. The Hamming method has long been used in ECC memory and allows on-the-fly correction of small one-bit errors if they suddenly occur, and if two bits are transmitted incorrectly, this will again be detected using parity systems. However, no one wanted to keep a bulky structure of almost double the number of disks for this purpose, and this type of array did not become widespread.

Array structure RAID-3 is this: in an array of n disks, the data is split into 1-byte blocks and distributed across n-1 disks, and another disk is used to store parity blocks. In RAID-2, there were n-1 disks for this purpose, but most of the information on these disks was used only for error correction on the fly, and for simple recovery in the event of a disk failure, a smaller number is enough, one dedicated hard drive is enough.


RAID level 3 with a separate disk for storing parity information. There is no backup, but the data can be restored.

Accordingly, the differences between RAID-3 and RAID-2 are obvious: the impossibility of on-the-fly error correction and less redundancy. The advantages are as follows: the speed of reading and writing data is high, and very few disks are required to create an array, only three. But an array of this type is only good for single-task work with large files, since there are speed problems with frequent requests for small data.


A level 5 array differs from RAID-3 in that the parity blocks are evenly distributed across all disks in the array.

RAID-4 similar to RAID-3, but differs from it in that the data is divided into blocks rather than bytes. Thus, it was possible to “defeat” the problem of low data transfer speed of small volumes. Writing is slow due to the fact that parity for the block is generated during recording and written to a single disk. Arrays of this type are used very rarely.

RAID-6- this is the same RAID-5, but now two parity blocks are stored on each of the array disks. Thus, if two disks fail, information can still be recovered. Of course, increased reliability led to a decrease in the usable volume of disks and an increase in the minimum number of disks: now, if there are n disks in the array, the total volume available for recording data will be equal to the volume of one disk multiplied by n-2. The need to calculate two checksums at once determines the second drawback inherited by RAID-6 from RAID-5 - the low data writing speed.

RAID-7 is a registered trademark of Storage Computer Corporation. The structure of the array is as follows: data is stored on n-1 disks, one disk is used to store parity blocks. But several important details were added to eliminate the main drawback of arrays of this type: a data cache and a fast controller that manages request processing. This made it possible to reduce the number of disk accesses to calculate the data checksum. As a result, it was possible to significantly increase the speed of data processing (in some places by five or more times).



RAID level 0+1 array, or a design of two RAID-1 arrays combined into RAID-0. Reliable, fast, expensive.

New disadvantages have also appeared: the very high cost of implementing such an array, the complexity of its maintenance, the need for an uninterruptible power supply to prevent data loss in the cache memory during power failures. You are unlikely to see an array of this type, but if you suddenly see it somewhere, write to us, we will also be happy to look at it.

Creating an Array

I hope you have already managed to choose the array type. If your board has a RAID controller, you will not need anything other than the required number of disks and drivers for this controller. By the way, keep in mind: it makes sense to combine only disks of the same size into arrays, preferably one model. The controller may refuse to work with disks of different sizes, and most likely you will only be able to use a part of a large disk, equal in volume to the smaller disk. In addition, even the speed of a stripe array will be determined by the speed of the slowest disk. And my advice to you: do not try to make the RAID array bootable. This is possible, but if any failures occur in the system, you will have a hard time, since restoring functionality will be very difficult. In addition, it is dangerous to place several systems on such an array: almost all programs responsible for selecting the OS kill information from the service areas of the hard drive and, accordingly, damage the array. It is better to choose a different scheme: one disk is bootable, and the rest are combined into an array.



Matrix RAID in action. Part of the disk space is used by the RAID-0 array, the rest of the space is taken by the RAID-1 array.

Every RAID array starts with the RAID controller BIOS. Sometimes (only in the case of integrated controllers, and even then not always) it is built into the main BIOS of the motherboard, sometimes it is located separately and is activated after passing the self-test, but in any case you need to go there. It is in the BIOS that the necessary array parameters are set, as well as the sizes of data blocks, the hard drives used, and so on. Once you have determined all this, all you need to do is save the settings, exit the BIOS and return to operating system.

There you must install the controller drivers (as a rule, a floppy disk with them is included with the motherboard or the controller itself, but they can be written to a disk with other drivers and utility software), reboot, and that’s it, the array is ready for use. You can split it into logical drives, format it and fill it with data. Just remember that RAID is not a panacea. It will save you from data loss if the hard drive dies and minimizes the consequences of such an outcome, but it will not save you from power surges and failures of a low-quality power supply, which kills both drives at once, regardless of their “massiveness”.

Neglect of high-quality power supply and temperature conditions of the disks can significantly shorten the life of the HDD; it happens that all the disks in the array fail, and all data is irretrievably lost. In particular, modern hard drives (especially IBM and Hitachi) are very sensitive to the +12 V channel and do not like even the slightest change in voltage on it, so before purchasing all the equipment necessary to build the array, it is worth checking the corresponding voltages and, if necessary, turning on a new one BP to the shopping list.

Powering hard drives, as well as all other components, from a second power supply, at first glance, is simple to implement, but there are many pitfalls in such a power supply scheme, and you need to think a hundred times before deciding to take such a step. With cooling, everything is simpler: you just need to ensure airflow for all hard drives, plus do not place them close to each other. Simple rules, but, unfortunately, not everyone follows them. And cases when both disks in an array die at the same time are not uncommon.

In addition, RAID does not replace the need to regularly back up your data. Mirroring is mirroring, but if you accidentally corrupt or erase files, the second disk will not help you at all. So make backups whenever you can. This rule applies regardless of the presence of RAID arrays inside the PC.

So, are you RAIDy? Yes? Great! Just in pursuit of volume and speed, don’t forget another proverb: “Make a fool pray to God, he’ll break his forehead.” We wish you strong disks and reliable controllers!

Cost benefit of noisy RAID

RAID is good even without regard to money. But let's calculate the price of the simplest 400 GB stripe array. Two Seagate Barracuda SATA 7200.8 drives of 200 GB each will cost you about $230. RAID controllers are built into most motherboards, meaning we get them for free.

At the same time, a 400 GB drive of the same model costs $280. The difference is $50, and with that money you can buy a powerful power supply, which you will undoubtedly need. I'm not even talking about the fact that the performance of a composite "disk" at a lower price will be almost twice as high as the performance of a single hard drive.

Let us now carry out the calculation, focusing on the total volume of 250 GB. There are no 125 GB drives, so let's take two 120 GB hard drives. The price of each disk is $90, the price of one 250 GB hard drive is $130. Well, with such volumes, performance comes at a price. What if we take a 300 GB array? Two 160 GB disks - approximately $200, one 300 GB disk - $170... Not the same again. It turns out that RAID is beneficial only when using very large disks.

If you want to double the performance of your operating system, then our article is for you!

No matter how powerful your computer is, it still has one weak link: the hard drive, the only device in the system unit that has mechanics inside. All the power of your processor and 16 GB random access memory will be nullified by the outdated operating principle of a conventional HDD. It’s not for nothing that a computer is compared to a bottle, and a hard drive to its neck. No matter how much water there is in the bottle, it will pour out through a narrow neck.

There are two known ways to speed up your computer, the first is to buy an expensive SSD solid-state drive, and the second is to make the most of the capabilities of your motherboard, namely, set up a RAID 0 array of two hard drives. By the way, who is stopping us from creating RAID 0 array of two SSDs!

How to set up a RAID 0 array and install Windows 10 on it. Or how to double the performance of a disk system

As you guessed, today's article is about creating and configuring a disk array RAID 0 consisting from two hard drives. I conceived of it several years ago and specially purchased two new SATA III (6 Gb/s) 250 GB hard drives, but due to the complexity of this topic for novice users, I had to postpone it then. Today, when the capabilities of modern motherboards have reached such a level of functionality that even a beginner can create a RAID 0 array, I am returning to this topic with great pleasure.

Note: To create a RAID 0 array, you can take disks of any size, for example 1 TB. In the article, for a simple example, two 250 GB disks were taken, since there were no free disks of a different size at hand.

It is important for all computer enthusiasts to know that RAID 0 (“striping” or “striping”) is a disk array of two or more hard drives with no redundancy. This phrase can be translated into ordinary Russian as follows: when installing two or more hard drives into a system unit (preferably of the same size and from the same manufacturer) and combining them into a RAID 0 disk array, information on these drives is written/read simultaneously, which doubles the disk performance. The only condition is that your motherboard must support RAID 0 technology (nowadays, almost all motherboards support the creation of raid arrays).

An attentive reader may ask: “What is lack of redundancy?”

Answer. RAID data virtualization technology is designed primarily for data security and starts with, which provides double reliability (data is written to two hard drives in parallel and if one hard drive fails, all information remains safe on the other HDD). So, RAID 0 technology does not write data in parallel on two hard drives; RAID 0 breaks information into data blocks when writing and writes it to several hard drives simultaneously, due to this, the performance of disk operations doubles, but if any hard drive all information on the second HDD is lost.

This is why the creators of RAID virtualization technology, Randy Katz and David Patterson, did not consider RAID 0 to be any RAID level and called it “0”, since it is not secure due to the lack of redundancy.

Friends, but you must agree that hard drives do not break down every day, and secondly, with two HDDs combined in a RAID 0 array, you can work like a simple hard drive, that is, if you periodically make an operating system, you will insure yourself from possible problems 100%

So, before creating a RAID 0 array, I suggest installing one of our two new hard drivesSATA III (6 Gb/s) into the system unit and check it for read-write speed with utilitiesCrystalDiskMark and ATTO Disk Benchmark. After creationWe will check the RAID 0 array and installation of Windows 10 on it againtest the read/write speed using the same utilities and see if this technology will actually increase the performance of our operating system.

To carry out the experiment, we will take a far from new mother ASUS board P8Z77-V PRO built on the Intel Z77 Express chipset. The advantages of motherboards built on Intel Z77, Z87 and newer H87, B87 chipsets lie in the advanced Intel Rapid Storage Technology (RST), which is specially designed for RAID 0 arrays, even from SSDs.

Looking ahead, I’ll say that the test results are quite normal for a regular HDD with the most modern interface SATA III.

CrystalDiskMark

Is oldest program to test the performance of hard drives, you can download on my cloud storage, link https://cloud.mail.ru/public/6kHF/edWWJwfxa

The program performs a test of random and sequential reading/writing on the hard drive in blocks of 512 and 4 kB.

Select the desired drive, for example our HDD under the letter C: and click All.

The final result. The maximum speed of writing information to the hard drive reached 104 MB/s, reading speed - 125 MB/s.

ATTO Disk Benchmark

The final result. The maximum speed for writing information to a hard drive reached 119 Mb/s, read speed - 121 Mb/s.

Well, now we set up our RAID 0 array in the BIOS and install the operating system on it Windows system 10.

Setting up a RAID 0 array

We connect two identical SATA III hard drives (250 GB) to our motherboard: WDC WD2500AAKX-00ERMA0 and WDC WD2500AAKX-001CA0.

Our motherboard has 4 ports SATA III (6 Gbit/s), we will use No. 5 and No. 6


Turn on the computer and enter the BIOS by pressing the DEL key during boot.

Go to the Advanced tab, SATA Configuration option.

Set the SATA Mode Selection option to RAID

To save the changes, press F10 and select Yes. A reboot is in progress.

If you have enabled RAID technology in the BIOS, then the next time you boot, the monitor screen will prompt you to press keyboard shortcut (CTRL-I), to enter the RAID Configuration Control Panel.

This window also displays our WDC hard drives connected to ports 4 and 5, which are not yet in a RAID array (Non-RAID Disk). Press CTRL-I and enter the settings panel.


In the initial window of the panel, we need the first tab Create a RAID Volume; to enter it, press Enter.

Here we make the basic settings of our future RAID 0 array.

Name : (RAID array name).

Press the spacebar and enter a name.

Let it be “RAID 0 new” and press Enter. Move down using the Tab key.

RAID Level: (RAID Level).

We create RAID 0 (stripe) - disk array of two hard drives with no redundancy. Select this level using the arrow keys on your keyboard and press Enter.

Scroll down using the Tab key.

Stripe Size:

Let's leave it as is.

Capacity: (volume)

Set automatically. The capacity of our two hard drives is 500 GB, since we use RAID level 0 (stripe) and our two hard drives work as one. Click Enter.

We don’t change anything else and move to the last item Create Volume and press Enter.

A warning appears:

WARNING: ALL DATA ON SELECTED DISKS WILL BE LOST.

Are you sure you want to create this volume? (Y/N):

WARNING: ALL DATA on the selected drives will be lost.

Are you sure you want to create this volume? (Y/N):

Press Y (Yes) on the keyboard.

The RAID 0 array has been created and is already functioning, with the Normal status. To exit the settings panel, press the Esc key on your keyboard.

Are you sure you want to exit? Press Y (Yes). A reboot occurs.

Now, every time you boot the computer, information about the state of our RAID 0 array will appear on the monitor screen for a few seconds and a prompt to press the key combination (CTRL-I) to enter the RAID configuration control panel.

Installing Windows 10 on a RAID 0 array

Connect to our system unit, reboot the computer, enter the BIOS and change the boot priority to the flash drive. Or you can simply enter the computer boot menu and select boot from the Windows 10 installation flash drive (in our case, Kingston). In the boot menu you can see the RAID 0 array we created with the name "RAID 0 new".


Top