RAID as the main attribute of the server
Today hard drive manufacturers are very tough competition among themselves. In this struggle, they are forced to increase the volume of their hard drives, releasing larger and larger disks. Unfortunately, the volume of media is often counterbalanced by their reliability. Most HDD manufacturers have already reduced the warranty period for their hard drives to one year, which means that the reliability of the drives is decreasing. And now the situation looks in such a way that the user can store large amounts of information on the hard drive, but cannot be calm about it, because the reduction in the warranty period is not just happening - new patented technologies used in hard drives often lead to a decrease in the reliability of the drive. Since the choice among various brands of hard drives is small, the user often has no choice but to buy these new, large hard drives, even if it turns out that they will work no more than six months. Backing up data can not always help, since today, only tape drives, which are almost exotic, can save hundreds of gigabytes. There is a way out - RAID arrays, which not only increase the performance of the computer's disk subsystem, but also increase its reliability.
Of course, SCSI drives have much higher performance and reliability compared to IDE drives, but even today SCSI drives remain too expensive not only for ordinary users, but also for companies wishing to build inexpensive servers. Unfortunately, the cost of one megabyte of SCSI hard drives is incomparably higher than the cost of one megabyte of IDE HDD. It's too early to talk about Serial ATA drives: today this standard is still very poorly spread - motherboards are just acquiring built-in Serial ATA controllers, and hard drives supporting this standard differ from IDE hard drives, except perhaps in electronics, so what or there is no need to increase reliability either.
Therefore, de facto, today RAID arrays on IDE hard drives are an excellent choice for those who need more performance than a regular hard drive and higher reliability are ready to provide. There are dozens of models of IDE hard drives on the market, all of them can be used in RAID arrays, and there is no shortage of controllers: many mid-range motherboards and almost all motherboards for computer enthusiasts have built-in ATA-133 RAID controllers, and if necessary you can purchase a separate controller board from a reputable manufacturer and use it to create a RAID array.
In this article, we will look at the advantages offered by RAID arrays and compare four IDE RAID controllers from manufacturers such as 3ware, Adaptec, HighPoint and Promise.
Educational program on RAID
First of all, what is RAID? This now common abbreviation stands for Redundat Array of Inexpensive Disks or as Redundant Array of Independent Disks (Redundant Array of Inexpensive Disks or Redundant Array of Independent Disks). How to decipher this abbreviation is up to you, since the user can build a RAID array from inexpensive hard drives with a spindle speed of 5400 rpm, and from expensive high-performance SCSI disks with a spindle speed of 15000 rpm. In a RAID array, several physical disks are combined, as a result of which these disks are managed by one controller and are treated by the system as one array, that is, as one disk. As a result, either the performance of the array is increased, or the reliability is increased over a single disk, or both. When combining hard drives into a RAID array, various configurations of the array are possible, depending on the principles by which the controller will work with each hard drive. There are several levels of RAID arrays:
RAID 1 - Designed for those who have extremely important information on the hard disk, and its dynamic change makes it impossible to permanent backup. RAID of the first level uses mirroring, that is, the controller duplicates the contents of one hard drive to another, so that in case of failure of one of the media, an exact copy of the contents of the first remains on the second, that is, such a backup that is created in real time. Unfortunately, RAID 1 cannot protect against information being damaged by viruses, or other information loss caused by the operating system or software. RAID 1 increases the resource of the disk subsystem and its MTBF. It is unlikely that two hard drives will fail at the same time (if they are not helped), and if one of them breaks down, then it should simply be replaced with a new one and the RAID controller will restore the functioning of the array.
When installing two hard drives in RAID 1, the operating system sees only one logical disk, since the data on the two hard drives is duplicated. And the capacity of a RAID array of the first level will be equal to the capacity of one of the hard drives in the array.
RAID 0 - You can say that RAID 0 is the opposite of RAID 1 . In the case of installing hard drives in a zero-level RAID array, the controller also uses several physical disks as one logical one, distributing the recorded information to each of them. RAID 0 is also commonly called `` Stripping '', because the controller, as it were, scatters the recorded information on several hard drives at once, but does not duplicate it, as is the case with mirroring. As a result, the volume of the disk subsystem increases along with the risk of information loss, since failure of any one hard drive in a zero-level RAID array leads to the loss of data for the entire array. That is, a RAID 0 array of two hard drives will be twice as unreliable as any of these hard drives and four times as unreliable than a RAID 1 array of the same two hard drives.
But the advantages of RAID 0 are that the volume of a zero-level disk array will be the sum of the volumes of all hard drives included in the array. This is important if you are working with huge files (databases or video files), which simply cannot fit on one physical disk, but will fit perfectly on one logical, assembled by a RAID controller of two.
RAID 10/0 + 1 - RAID level 10 and RAID 0 + 1 are similar in that the use of these arrays leads to increased performance and reliability, since these arrays combine the capabilities of RAID 0 and RAID 1, although they do it in different ways. RAID 10 distributes information across mirrored disks, and RAID 0 + 1 is an array consisting of two RAID 0 arrays mirrored relative to each other. In the case of RAID 10, we are dealing with distribution across mirrors, and in the case of RAID 0 + 1, with mirroring of distributed information. Hmm ... they are not the same ...
In the case of RAID 0 + 1 and RAID 10, the volume of the array will be equal to half the sum of the volumes of all media included in the array. Each of the hard drives will have its own `` mirrored pair '', which will store the same information as on it, so logically only half of the hard drives will work, although physically all will be used.
RAID 0 + 1
But what about reliability? In case of failure of one hard drive in a RAID 0 + 1 array consisting of four hard drives, two hard drives will be lost at once and only half of the RAID 0 + 1 will remain in operation, that is, a RAID 0 array distributed across two disks, and it is known to be half as reliable as one hard drive. So it is better to replace the failed disk as soon as possible. In this regard, RAID 10 is much more reliable, since it allows multiple disks in different mirrors to fail. However, if two hard drives, which are mirrors of each other, fail in RAID 10, the array will cease to function.
RAID 5 - This type of array distributes information across several hard drives, as in RAID 0, but takes into account the parity. The parity index is stored on each disk in the array. Parity slightly decreases the performance of the RAID 5 array as a whole, but significantly increases reliability compared to other RAID levels. If one of the disks in a Level 5 array fails, the controller rebuilds the array using parity indices read from other physical disks.
The size of a Level 5 RAID array depends on the number of physical disks combined into logical ones. The size of the parity index in RAID 5 is equal to the size of one of the physical disks. The more hard drives in the array, the less will be the percentage ratio of the volume of index files in relation to the volume of the entire array. When using four hard drives united in RAID 5 , the array size will be equal to the sum of the volumes of three of them, since 25% of each hard drive will be occupied by the parity index.
Thus, we see that RAID 0 gives the user the highest performance, for which you have to pay with the least reliability of the array, even less than the reliability of a single disk. And the more hard drives are combined into an array, the less reliable it will be. RAID 1, on the contrary, increases reliability, but does not give an increase in performance, and the volume of the array will be two times lower than the total volume of all hard drives included in it. RAID 10 and RAID 0 + 1 also allow using only half of the capacity of all hard drives, but at the same time increase the performance and reliability of the disk subsystem. RAID 5 is a kind of universal method in terms of reliability and use of the volume of the hard drives included in the composition, but using this method reduces the performance of the disk subsystem.
Which RAID level to choose depends only on the degree of the server's tasks and the amount you are willing to pay for the server as a whole. To provide greater reliability, more hard drives and a more powerful RAID controller are required, and this leads to the use of larger server chassis with more powerful power supplies. However, the cost of all this equipment may seem negligible compared to the losses incurred as a result of the failure of one of the hard drives, which will lead to the loss of the entire array. That is why today RAID arrays are an indispensable attribute of all servers, all workstations and already a significant part of home computers.
All RAID controllers used in our tests are designed to work in Windows NT, Windows 2000 and Windows XP operating environments. Of course, some of them will work in Windows 98 and Windows ME, but these operating systems are not designed to work with RAID arrays. The cards we are considering support several RAID arrays on one controller and even the organization of RAID arrays from the RAID arrays themselves, that is, you can make two RAID 0 arrays from two hard drives each and combine them into RAID 1. The controllers we are considering also support hot swapping of hard drives. to be able to replace the failed media without stopping the server.
Let's look at the comparative characteristics of the controllers used
|RAID Level||Number of channels||PCI bus||Interface||
Support for alternative operating systems
|3ware Escalade 7500||0,1,10,5, JBOD||4|| 64-bit
|ATA 133||Red Hat, SuSE, open source driver||Free BSD||No||$ 252|
|Adaptec 2400A||0,1, 0 + 1, 5, JBOD||4|| 32-bit
|ATA 100||SCO||Free BSD||Novell Netware||$ 323|
|HighPoint Rocket RAID133||0,1, 0 + 1, JBOD||2|| 32-bit
|ATA 133||Caldera, Red Hat, SuSE, Turbo, open source driver||Free BSD||No||$ 80|
|Promise FastTrak SX4000||0,1, 0 + 1,5||4|| 32-bit
|ATA 100||ATA 133||Red Hat, SuSE, Turbo||None||$ 183|
When choosing a controller, it is important to know what RAID levels it supports. And here there are some points to pay attention to. The only board that supports RAID 10 in our review is the 3ware Escalade 7500. The cheap HighPoint RocketRAID 133 controller does not support RAID 5, and the Promise FastTrak SX4000 does not support JBOD (Just a Bunch of Disks).
HighPoint PocketRAID is the only dual-channel card, which also explains its low cost. The dual channel controller supports up to four drives in a Master / Slave configuration. All other cards support no more than one hard drive per channel and can also work with no more than four hard drives. And only the controller from Adaptec uses a 64-bit 33-MHz PCI bus, and when working with fast hard drives, the PCI bus bandwidth (133 Mb / s) may not be enough, so the use of a 64-bit bus is quite justified. < / p>
In terms of operating system support, 3ware and HighPoint provide open source drivers for Linux, an operating system very common in servers and workstations. 3ware also offers a third-party driver for FreeBSD, which is also great since FreeBSD is often used on web servers.
The more expensive RAID controller is not always the best. Moreover, often you will have to buy SDRAM memory in addition to an expensive RAID controller, which is used to cache information. And in such controllers SDR SDRAM ECC memory is used, which is already a rarity today, and controller manufacturers are already thinking about using the more common DDR SDRAM as cache memory. Before buying an IDE RAID controller, you need to choose the server configuration, the number of hard drives used and in which array they will be combined. Because if you are using two hard drives in a RAID array, then naturally there is no point in buying a four-channel RAID controller with support for RAID level 5.
It is difficult to imagine a modern server or workstation that does not use a RAID array. Somewhere used hard drives with SCSI interface, somewhere Serial ATA, and somewhere ATA100 / 133. The choice of the interface depends, first of all, on the amount of money that the server customer expects. The SCSI interface has the advantage of frequent file system accesses, so large servers in large enterprises have an ATA100 / 133 hard drive to boot the operating system and a SCSI RAID array to store information that will be accessed by clients. As a rule, such servers are very expensive and their use is not always justified. For entry-level servers or for computers used to process media files, it is most beneficial to use RAID arrays from ATA100 / 133 hard drives with a spindle speed of 7200 rpm. On the one hand, they have a high transfer rate comparable to SCSI drives, an acceptable cost per megabyte, and IDE RAID controllers are much cheaper than SCSI RAID cards. When using four hard drives, the optimal choice is a level 10 RAID array, since it has a slightly lower performance than four hard drives in RAID 0, but at the same time its reliability is even higher than that of RAID 1 and RAID 0 + 1. We can say that the disadvantage of RAID 10 is the use of only half of the volume of all hard drives in the array, but if there are 160-200 GB hard drives on sale, this issue can be removed from consideration, since 400 GB is enough for most modern tasks. And where there is work with large amounts of data, servers of a completely different level are usually installed.
But what if the computer has only two hard disks set aside for a RAID array? Then you need to clearly understand how their disk space will be used. If for temporary files or a paging file, then it makes sense to install them in RAID 0, since the cost of information on them will be lower than the cost of time, which will allow a faster array to win. Well, if important information will be stored on these hard drives, then it makes sense to put only RAID 1 (mirroring). Since the reliability of such an array will be even lower than the reliability of one hard drive, and in the event of a failure thereof, it will be impossible to recover the data. And in our time, information is more expensive than the medium on which it is stored.
In conclusion, I would like to remind you that manufacturers of IDE hard drives always declare MTBF resource, hours. It is nice to see that the resource of a hard drive is, say, 60,000 hours (almost 7 years of continuous operation), but this value is an average one, and unfortunately, hard drives often do not produce even half of the declared resource. So, when choosing a RAID array, it is better to accept for the truth that all IDE hard drives are unreliable and one must be prepared for the fact that any hard drive may fail on the second day after installation - excessive precaution will not hurt. And don't forget to make backups!
Mikhail Degtyarev (aka LIKE OFF)