• Aucun résultat trouvé

Installing Linux onto a Promise Array

Dans le document LINUX RAID (Page 184-187)

Installation on Promise RAID controllers can be problematic for two reasons. First, most Linux installers detect both the arrays defined (logical disks) and the individual ATA disks, and list both as available, valid installation targets during the system con-figuration. Thus, disks that are members of arrays might also show up in partition-ing utilities. It’s left up to the user to determine which device is the valid array on which to install the Linux operating system.

When working with Promise controllers, it’s important to choose theataraiddriver and not theFastTrakdriver. Theataraiddriver is open source and was developed by Arjan van de Ven of Red Hat. TheFastTrakdriver is a binary-only driver and is dis-tributed by Promise. Licensing aside, the main difference between the two drivers is that the Promise driver uses the SCSIsubsystem to interface with the Linux kernel.

That means Promise’s binary-only driver needs to perform additional steps to trans-late commands between SCSIand ATA. Conversely, the open source driver uses ATA directly and is consequently faster and more stable.

If you are using the SuperTrak controller, the same semantics I describe here will apply, but the SuperTrak controller uses a different driver, also available from Promise. The SuperTrak controllers are also reported to work using Linux’s Generic I2O Driver. Your mileage may vary.

When using the FastTrak driver, Iexperienced many system lockups and slow-downs (all non-fatal) while performing normal, low-impact disk operations such as editing files and listing directories. You’ll notice many associated entries, as in the following code listing, either in the system logs or printed on the console:

FastTrak : Drive Interrupt Time Out.(1) FastTrak : RESET Channel1 * DEV1(OK) FastTrak : Drive Interrupt Time Out.(3) FastTrak : RESET Channel2 * DEV3(OK) FastTrak : Drive Interrupt Time Out.(3) FastTrak : RESET Channel2 * DEV3(OK)

These messages indicate that I/O commands have timed out before they were com-pleted. The controller must reissue the commands to ensure data integrity. These timeouts can also result in low-level seek and read errors on individual member disks and cause the system to become unstable, requiring a cold reboot. Using theataraid driver eliminates these problems, and it should always be used in lieu of the binary-onlyFastTrak driver.

Unfortunately, most distributions do not currently support direct installation using theataraiddriver. That means you’ll need to use Promise’sFastTrakdriver disk to install Linux from scratch, and then rebuild the kernel with support for theataraid driver. If you are adding a Promise ATA RAID controller to an existing Linux sys-tem, you can simply rebuild the kernel so that it includes theataraiddriver and begin using the new controller. The I/O issues associated with the FastTrak driver can cause filesystem errors between system reboots. If possible, choose a journaling file-system such as ext3 or ReiserFS during the installation process. This will save you from some additional headaches if you have to reboot the system a few times before you can upgrade to theataraid driver. Chapter 6 discusses filesystems.

Creating a driver disk

You should download the driver disk appropriate for your distribution from the Promise web site (http://www.promise.com). A section of the web site is dedicated to Linux support. Driver disks are provided for Red Hat, SuSE, TurboLinux, and Caldera’s OpenLinux. On my Red Hat system, Idownloaded thezipfile for RedHat 7.1/7.2/7.3 (T-FTS-02-RHD73.zip). Included in the archive are two additional zip files: one file for uniprocessor (rhup-ftb22.zip) systems and one file for multiproces-sor systems (rhsmp-ftb22.zip). Use the following commands to prepare a blank disk and unpack the archive. (Note that this example is for a single-processor Red Hat system.)

# mkfs.msdos /dev/fd0

# mount /dev/fd0 /mnt/floppy

# unzip rhup-ftb22.zip -d /mnt/floppy

# sync

# umount /mnt/floppy

Installation

Now you can begin system installation. Boot the new system with your installation media and choose the option that lets you specify additional drivers. For Red Hat, that means typinglinux ddat the boot prompt. When prompted for the driver disk, insert it, and theFastTrakdriver will load. After a few moments, the installer will execute normally.

During system partitioning, arrays defined on Promise controllers will show up as SCSIdisks, a by-product of using the FastTrakdriver. So if you have one array, it appears as/dev/sda. A second array would appear as /dev/sdb, and so on. Detection order is important here. If you have another SCSI controller connected to the sys-tem, and it’s in a lower- numbered PCIslot, disks connected to that controller could show up as/dev/sdaand shift the lettering of your Promise arrays. Pay careful atten-tion to the size of each disk, so that you are sure to define partiatten-tions on the proper disk. Depending on the partitioning method you use, the driver associated with indi-vidual disks might also be displayed, clarifying where disks are connected. Arrays defined on Promise controllers should be explicitly marked. For example: sda:

Promise 2+0 Stripe/RAID01.109804 - 38178 MB.

The individual disks in your arrays will also show up as standalone ATA disks when using GUIpartitioning tools such as Disk Druid. It’s very important to create system partitions for installation on the vir-tual SCSIdevices for the array (usually/dev/sda). Never create parti-tions on the component disks.

When the time comes to configure your boot loader, be certain to choose LILO. Do not use GRUB with Promise RAID controllers. It’s also important to make sure that

the master boot record is installed in the proper location: onto the array, not an indi-vidual disk. Despite installing Linux onto the proper array partitions, some installa-tion programs still botch the boot loader configurainstalla-tion.

If you’re working with a distribution other than Red Hat, download the appropriate zip files to create driver disks for your distribution. Istrongly recommend creating a boot disk during the installation process, even if it’s a step you normally skip. When the installation is finished, restart the system and use the boot disk you created if you encounter problems. Once the system is online, examine the system logs and system partitions to make certain that you are using theFastTrakdriver and that software was installed onto the proper devices, as shown here:

# grep FastTrak /var/log/messages

Jul 28 17:35:29 bored kernel:PROMISE FastTrak Series Linux Driver Version 1.02.0.22 Jul 28 17:35:29 bored kernel: scsi0 : FastTrak

# df -h

Filesystem Size Used Avail Use% Mounted on /dev/sda2 2.4G 1.7G 696M 71% /

/dev/sda1 197M 9.4M 177M 5% /boot

These system logs indicate that theFastTrakdriver is bound to the first SCSIchan-nel (scsi0), and the output ofdf -hshows that the partitions are located on/dev/sda. I f the output ofdf -hreported partitions on an ATA device (/dev/hda, for example), or if the Promise initialization messages did not appear in the system logs, something went wrong during the installation and Linux was installed to a standalone ATA disk instead of the array.

Dans le document LINUX RAID (Page 184-187)