If you think about a simple RAID array with data spread across many disks, you’ll probably notice that, while it improves performance, it also increases the chance of a disk failure.. Th
Trang 1N Ultra SCSI Also called SCSI-3, this specification increases the SCSI bus speed even higher—to 20 MHz Using a narrow, 8-bit bus, Ultra SCSI can handle
20 MBps It can also run with a 16-bit bus, increasing the speed further to 40 MBps
N Ultra2 SCSI Yet another enhancement of the SCSI standard, Ultra2 SCSI doubles (yet again) the performance of Ultra SCSI Ultra2 SCSI subsystems can scale up to 80 MBps using a 16-bit bus
N Ultra160 SCSI By now you should know the story: Ultra160 SCSI again doubles the performance available from Ultra2 SCSI Ultra160 SCSI (previously called Ultra3 SCSI) is named for its throughput of 160 MBps
N Ultra320 SCSI Ultra320 SCSI can move data at a rate of 320 MBps
N Ultra640 SCSI Another doubling of the SCSI interface speed, Ultra640 SCSI was promulgated as a new standard in early 2003
NOTE A storage connection technology, called Fibre Channel, can use either fiber-optic or copper cable, is a much more flexible connection scheme than SCSI, and promises throughput many times faster than even that of Ultra640 SCSI Based loosely on a network paradigm, Fibre Channel is initially expensive to implement, but large data centers will benefit greatly from its advances over SCSI
As you can see from the preceding list, a dizzying array of SCSI choices is available
on the market today Because of all the different standards, it’s a good idea to make sure you purchase matched components when building a SCSI disk subsystem or when purchasing one as part of a server Make sure the controller card you plan to use
is compatible with the drives you will use, that the card uses the appropriate cables, and that it is compatible with both the server computer and the NOS you will use The good news is that once you get a SCSI disk subsystem up and running, it will run reliably and with excellent performance
Disk Topologies: It’s a RAID!
The acronym RAID stands for redundant array of independent disks RAID is a technique
of using many disks to do the work of one disk, and it offers many advantages compared
to using fewer, larger disks
The basic idea behind RAID is to spread a server’s data across many disks,
seamlessly For example, a single file might have portions of itself spread across four
or five disks The RAID system manages all those parts so you never know they’re actually spread across all the disks You open the file, the RAID system accesses all the appropriate disks and “reassembles” the file, and provides the entire file to you
The immediate benefit you get is that the multiple disks perform much more quickly than a single disk This is because all the disks can independently work on finding their own data and sending it to the controller to be assembled A single disk drive would be limited by a single disk head and would take much longer to gather
the same amount of data Amazingly, the performance of a RAID system increases as
you add more disks, because of the benefit of having all those disk heads independently working toward retrieving the needed data
Trang 2If you think about a simple RAID array with data spread across many disks, you’ll
probably notice that, while it improves performance, it also increases the chance of a
disk failure Using five disks to do the work of one means that five times more chances
exist for a disk failure Because the data is spread among all the disks, if one fails, you
might as well throw away all the data on all the remaining disks because it’s useless if a
big chunk is missing Fortunately, different RAID schemes address this problem
There are many different ways to use multiple disks together in some sort of RAID
scheme and, accordingly, a number of RAID levels are defined, each of which describes
a different technique, as follows:
N RAID 0 This scheme is a configuration whereby data is spread (striped) across
multiple disks, although with no redundancy Losing one drive in a RAID 0
array results in the loss of data on all the disks RAID 0 is appropriate only for
improving performance and should be used only with nonessential data RAID
0 arrays can stripe data across two or more disks, as shown in Figure 13-1
N RAID 1 This type of array doesn’t stripe data across multiple disks Instead,
it defines a standard whereby data is mirrored between disks Two disks are
used instead of one, and the data is kept synchronized between the two disks
If one of the disks fails, the remaining disk continues working just fine, until
the failed drive can be replaced RAID 1 is often simply referred to as mirroring.
An enhancement to RAID 1 is called duplexing; the data is still duplicated
between two disks, but each disk has its own disk controller, adding another
level of redundancy (because you can lose either a disk or a controller and
still keep operating) Duplexing can also improve performance somewhat,
compared to straight mirroring Some RAID 1 implementations are also
intelligent enough to read data from either disk in such a way that whichever
disk has its drive head closest to the data performs the read request, while the
other one sits idle However, all writes must occur simultaneously for both
disks Figure 13-2 shows a typical RAID 1 array layout
Figure 13-1. A RAID 0 array stripes data across multiple disks
File
Trang 3TIP You can combine RAID levels 0 and 1 to achieve the performance benefit of RAID 0 with the high level of redundancy of RAID 1 Imagine a series of RAID 1 arrays with two disks each Combine each of these RAID 1 arrays so that data is striped across them, and you have what
is called a RAID 10 array (with 10 referring to a combination of RAID 1 and RAID 0) This is sometimes also called RAID 0 + 1 or RAID 1 + 0
N RAID 2 You probably won’t see RAID 2 implemented in the real world RAID 2 is a technical specification that stripes data across multiple disks and then uses a Hamming Code ECC that is written to a set of ECC disks The ratio
of ECC disks to data disks is quite high with RAID 2: There are three ECC disks for every four data disks RAID 2 isn’t used because of its inefficiencies
N RAID 3 This is where RAID starts to get interesting RAID 3 implementations used to be fairly common, although these days you see RAID 5 used much more often than RAID 3 RAID 3 stripes data across multiple data disks and then uses an exclusive OR (XOR) bit-wise operation against all the stored data on each data disk to come up with ECC data, which is written to a single ECC drive So, for example, you can have four data drives and one ECC drive to back them up Figure 13-3 shows a RAID 3 array The XOR data has an interesting mathematical property If you remove one of the data drives, you can take the remaining data, plus the data on the ECC drive, and reconstruct what is missing from the failed drive RAID disk controllers do this automatically if a drive fails, although the drives operate at a slower rate than normal because of the overhead of having to reconstruct the data on the fly A more useful technique is to replace the failed drive and then use the ECC data
to rebuild the lost data
Figure 13-2. A RAID 1 array mirrors data between two disks
File
Trang 4NOTE If more than one drive is lost from a RAID 3 or a RAID 5 array, all the array’s data will be
lost Still, these arrays provide good protection at relatively low incremental cost
N RAID 4 This is another of the RAID standards that isn’t used very much in
the real world RAID 4 is similar to RAID 3, except data is striped between the
different data drives in much larger blocks than with RAID 3 RAID 4 still uses
a single ECC disk for all the data drives
N RAID 5 RAID 5, depicted in Figure 13-4, is the current standard for RAID
systems (RAID 1 also remains a current standard, but it has different
applications.) Recall how RAID 3 worked, with data striped to a set of data
disks, and the ECC code written to a single ECC disk RAID 5 improves on this
scheme by interleaving the data and ECC information across all the disks The
big advantage of this approach over RAID 3 is that it doesn’t rely on a single
ECC drive for all write operations, which becomes a bottleneck on RAID 3
systems Because all the drives share the ECC work, performance with RAID 5
is slightly better than with RAID 3 There is a small drawback to this, though,
that most commentators miss In RAID 3, if you lost a data drive, the system
slowed down (usually dramatically) as the data was reconstructed on the fly
If you lost the ECC drive, however, the system would still run just as fast as if
no drive were lost With RAID 5, if you lose a drive, you’re always losing part
of your ECC drive (because its job is spread among all the disks), so you get a
slowdown no matter what
N RAID 6 RAID 6 works the same as RAID 5, but stores parity data on two
interleaving drives rather than the one of RAID 5 Also called dual data
guarding, RAID 6 keeps your data safe while you are recovering from a single
drive failure (In RAID 5, if a drive failed while you were recovering from
another drive's failure, you would lose the array’s data.)
Figure 13-3. A RAID-3 array stripes data across multiple disks, with an ECC disk to protect
the data
Data striped on these drives Last disk contains ECC data for
drives 1–4
Trang 5Which level of RAID should you use on your network server? Most network administrators favor RAID 5 because it requires only 20 to 25 percent of the total disk capacity for the redundancy function, yet it performs well and offers a measure
of safety However, RAID 3 and RAID 5 arrays do occasionally fail to recover data properly (although they very rarely lose data) For this reason, you usually should opt for either RAID 1 or a RAID 10 array for network servers that store vital data
In general, the different RAID configurations offer different levels of reliability Ranked from best to worst purely in terms of the system’s likelihood of losing data would be RAID 1, RAID 10, RAID 6, RAID 5, and RAID 3 There are always trade-offs, though
A system with 20 disks using just RAID 1 would be unwieldy to manage, because you would have 10 logical drives to manage and use efficiently However, if you configured those same 20 disks as two RAID 5 arrays, you would be able to manage more efficiently the two logical disks that would result
You must make your own decision based on the importance of the data, the
required levels of performance, the capabilities of the server, and the budget available
to you One thing you should never do, though, is trust that any RAID level replaces
regular, tested, reliable tape backups of network data!
Server State Monitoring
An important feature of most servers is the capability to monitor its own internal components and to notify you if any problems develop or appear to be developing Higher-end servers can typically monitor the following:
N Proper fan operation
N System voltage
N Memory errors, even if corrected by ECC memory
N Disk errors, even if corrected automatically
Figure 13-4. A RAID 5 array stripes data across multiple disks, and alternately uses all disks for ECC data
Data and ECC distributed
to all drives
1-A 2-A 3-A
1-B 2-B 3-B
1-C 2-C ECC
ECC 1-D 3-C
ECC 2-D 3-D