| Author: | John M. Gabriele |
|---|---|
| Date: | May 2007 |
| Back to: | homepage |
Besides using a hardware RAID controller, it's also possible to have Linux manage the RAID array in software. However, that's not a task I'm interested in here -- these notes are strictly about using hardware RAID on machines with SCSI drives (one RAID controller, one SCSI controller).
Also, I know next to nothing about the Linux "LVM" (logical volume manager). I just make my disk partitions the old-fashioned way. :)
The SCSI controller and the RAID controller are usually integrated. The SCSI chipset actually talks to the disks -- the RAID chipset talks to the SCSI chipset. Your OS talks to the RAID (as does the motherboard BIOS), which provides the abstraction of logical drives. As far as Linux is concerned, it thinks it's talking to individual SCSI drives named /dev/sda, /dev/sdb, etc.
Linux --> RAID controller --> SCSI controller --> hard disks
On most servers, the drives are hot-swappable. This is a feature of the SCSI chipset you (well, your RAID chipset) is using. A very high-performance SCSI drive is a 10,000 RPM Ultra320 (i.e. SCSI-3).
Each physical SCSI device in your system will have its own SCSI ID (including the SCSI controller (usually ID#6)). The bays on your server may be labeled (or else you'll want to label them) scsi0, scsi1, and so on. You have exactly 7 SCSI ID's available per SCSI controller, and it's uncommon to have more than one SCSI controller in your system.
You can do a "soft-reboot" by hitting Ctrl-Alt-Delete. This is quite a bit faster than hitting the power button on the front of the unit to get a hard restart.
On most server-class machines there's usually more than one "BIOS". That is, any complex chipset that has configurable settings will also likely have firmware that you can access. You get to it at boot-time by hitting some key combination which is hopefully shown on-screen during the boot process. Most firmware utilities are interactive, and look and work somewhat like what you're already used to seeing in the motherboard BIOS.
For example, most Dell rackmount servers have 4 different boot-time utils. The order you'll see them in is:
Note that even though all your hard disks are very probably SCSI, you still very likely have an IDE CD drive (and also a floppy drive for that matter).
Your motherboard BIOS may refer to 2 RAID "channels". Channel A and B. If it does, this just means your RAID chipset has two parallel ways to talk to the SCSI chipset.
Incidentally, you may even be able to (if you like) configure your mobo BIOS to tell the RAID chipset to simply step aside and let you just have plain SCSI devices (effectively no RAID) -- a sort of "pass-through" mode. It's most common that, if you do have two RAID channels, and two logical drives, you put one logical drive on one channel, and one on the other.
Some RAID chipsets will support LVD ("low voltage differential") SCSI devices. That is, it provides an LVD power bus for the SCSI chipset (? XXX). For the drives themselves?
Finally note that Dells come with a "Utility Mode" (hit F10 at boot-time) which starts up what looks like a stripped down MS Windows dialog box giving you the options of running some Dell diagnostics, running a memory test util, and rebooting. I believe this Utility Mode is burned into the BIOS and not on any disk.
You use the RAID firmware to set up your RAID array. The two most common logical drive types are RAID 1 (mirrored) and RAID 5. (RAID 5 requires at least 3 physical drives). I suppose you could have more than one logical drive for a given physical array, but I like to keep things simple and just use 1 logical drive <--> 1 physical array.
Each logical drive will be a /dev/sd<x> device. Using your partitioning software of choice, you partition each sd<x> device into logical partitions (ex. /dev/sda1, /dev/sda2).
Typically, you might have 5 or 6 SCSI drives in a given server, with a setup as follows:
Physical arrays
inaccesible from Linux logical drives
----------------------- ----------------
physical array 0:
physical drive (scsi_0) \___ logical drive 0 \
physical drive (scsi_1) / (/dev/sda) \
|
physical array 1: |--- RAID array
physical drive (scsi_2) \ /
physical drive (scsi_3) |--- logical drive 1 /
physical drive (scsi_4) / (/dev/sdb)
The drives making up your RAID 5 are usually the bigger ones. 300 GB is a large SCSI drive. The other drives are usually smaller, and hold only the OS. A big one here would be 73 GB. Note that Debian does not take up 73 GB. :)
If there's a 6th drive, you may configure that in the RAID BIOS to be a "failover" drive (aka, a "hot spare"). This drive is plugged into the SCSI chain (and so would be scsi_5), but it's not part of any physical array or logical drive. It only gets used if one of the other drives fails -- and the changeover is supposed to automatic (and temporary, since you're then supposed to replace the one that failed, and let the failover drive get back to being a failover drive).
If you've only got 5 bays, you might consider simply installing your OS on scsi_0, and leave scsi_5 as the failover. Or you can forego the failover altogether.
Here's some terms you may come across, mostly when dealing with your RAID firmware:
Once you're done setting up your logical RAID drives (which Linux will recognize as /dev/sda, /dev/sdb, etc.), from then on Debian only sees what look like regular SCSI drives.
Your sdb will probably just be one big partition and will likely be mounted as either /opt or /data.
You'll probably want to dice up your sda like you would normally for an OS install. Possibly something like:
| sda | ||||
|---|---|---|---|---|
| partition #1 | sda1 | / (root) | 3 GB | primary |
| partition #2 | sda2 | swap | 500 MB | primary |
| partition #3 | sda3 | (extended) | (remaining space) | extended |
| partition #5 | sda5 | /usr | 6 GB | logical |
| partition #6 | sda6 | /var | 20 GB | logical |
| partition #7 | sda7 | /tmp | 2 GB | logical |
| partition #8 | sda8 | /home | 50 GB | logical |
(Recall that logical partitions start at #5 for old reasons. Also, you don't need to manually create extended partition #3 -- as soon as you create your logical partition for /usr, the Debian Installer partitioning tool automatically creates partition #3 for you.)
... to do. (aacraid?)