1240 lines
63 KiB
Plaintext
1240 lines
63 KiB
Plaintext
|
Linux ATA RAID HOWTO
|
|||
|
|
|||
|
Murty Rompalli
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>murty@solar.m u r t y.n e t
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
April 26, 2002
|
|||
|
Revision History
|
|||
|
Revision 2.0 2002-05-10 Revised by: mr
|
|||
|
Major enhancements
|
|||
|
Revision 1.3 2002-05-07 Revised by: jyg
|
|||
|
format fixes
|
|||
|
Revision 1.2 2002-04-30 Revised by: mr
|
|||
|
Minor fixes
|
|||
|
Revision 1.1 2002-04-28 Revised by: ldl
|
|||
|
Some minor changes and sgml-improvements
|
|||
|
Revision 1.0 2002-04-26 Revised by: mr
|
|||
|
Initial Release
|
|||
|
|
|||
|
|
|||
|
RAID is not limited to expensive SCSI disks anymore as more and more
|
|||
|
motherboard manufacturers are introducing motherboards with onboard RAID
|
|||
|
support for inexpensive IDE disks, known as ATA RAID. Promise Technolgy and
|
|||
|
HighPoint are two companies that dominate this ATA RAID market. This HOWTO
|
|||
|
document explains how to install Linux on an Intel Pentium compatible
|
|||
|
computer with an ATA RAID Controller (onboard chip or seperate card), single
|
|||
|
or multiple processors and atleast two hard disks. Currently, this document
|
|||
|
covers installing RedHat Linux 7.2 with Promise FastTrack ATA RAID Controller
|
|||
|
only.
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Copyright Information
|
|||
|
1.2. Disclaimer
|
|||
|
1.3. New Versions
|
|||
|
1.4. Credits
|
|||
|
1.5. Feedback
|
|||
|
1.6. Translations
|
|||
|
|
|||
|
|
|||
|
2. Requirements
|
|||
|
3. Prepare Promise Driver Floppy
|
|||
|
4. Preparing RedHat 7.2 CDs
|
|||
|
5. Installing Red Hat 7.2
|
|||
|
6. Installing Native Linux RAID
|
|||
|
7. Installing on an existing Linux system
|
|||
|
7.1. Append Line
|
|||
|
7.2. Determining the Append Line
|
|||
|
7.3. Setting Up RAID 1
|
|||
|
|
|||
|
|
|||
|
8. Upgrading Kernel
|
|||
|
8.1. Promise Technology (ft) Driver with OS on RAID mirror
|
|||
|
8.2. Promise Technology (ft) Driver with non-OS data on RAID mirror
|
|||
|
8.3. Linux Native (ataraid) Driver with OS on RAID mirror
|
|||
|
8.4. Linux Native (ataraid) Driver with non-OS data on RAID mirror
|
|||
|
|
|||
|
|
|||
|
9. Disabling RAID feature on Promise FastTrack
|
|||
|
9.1. Case 1: OS not using RAID
|
|||
|
9.2. Case 2: OS is using RAID
|
|||
|
|
|||
|
|
|||
|
10. Tips and Important Notes
|
|||
|
11. For more information
|
|||
|
A. How is this document generated
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
The goal of this HOWTO document is to explain how to setup RAID 1 (mirroring)
|
|||
|
with the two hard disks and install bootable RedHat Linux Operating System on
|
|||
|
the mirror device. This document discusses both methods of achieving this
|
|||
|
goal: 1. Using Promise supplied driver 2. Using Linux native RAID. If you
|
|||
|
choose the first method (using Promise supplied driver), you must use the
|
|||
|
Kernel 2.4.7-10 that comes with RedHat 7.2 CD. If you choose the second
|
|||
|
method, you can upgrade the kernel to the latest kernel (2.4.18). This
|
|||
|
document does not discuss Striping or other disk configurations, although the
|
|||
|
author believes that this document might help setup those configurations.
|
|||
|
This document does not yet cover: 1. Installation using GRUB instead of LILO
|
|||
|
and 2. Installation with Latest development kernels (2.5.x).
|
|||
|
|
|||
|
First of all we need a bit of legalese. Recent development shows it is quite
|
|||
|
important.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.1. Copyright Information
|
|||
|
|
|||
|
<EFBFBD> 2002 Murty Rompalli
|
|||
|
|
|||
|
This document is copyrighted <20> 2002 Murty Rompalli and is distributed under
|
|||
|
the terms of the [http://www.gnu.org/copyleft/fdl.txt] GNU Free Documentation
|
|||
|
License and additional terms described below.
|
|||
|
|
|||
|
This Linux HOWTO document may be reproduced and distributed in whole or in
|
|||
|
part, in any medium physical or electronic, as long as this copyright notice
|
|||
|
is retained on all copies. Commercial redistribution is allowed and
|
|||
|
encouraged; however, the author would like to be notified of any such
|
|||
|
distributions.
|
|||
|
|
|||
|
All translations, derivative works, or aggregate works incorporating this
|
|||
|
Linux HOWTO document must be covered under this copyright notice. That is,
|
|||
|
you may not produce a derivative work from this HOWTO document and impose
|
|||
|
additional restrictions on its distribution. Exceptions to these rules may be
|
|||
|
granted under certain conditions; please contact the Linux HOWTO coordinator
|
|||
|
at this address <linux-howto@metalab.unc.edu>.
|
|||
|
|
|||
|
In short, the author wishes to promote dissemination of this information
|
|||
|
through as many channels as possible but wish to retain copyright on this
|
|||
|
HOWTO document, and would like to be notified of any plans to redistribute
|
|||
|
this HOWTO document.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. Disclaimer
|
|||
|
|
|||
|
No liability for the contents of this documents can be accepted. Use the
|
|||
|
concepts, examples and other content at your own risk. As this is a new
|
|||
|
edition of this document, there may be errors and inaccuracies, that may of
|
|||
|
course be damaging to your system. Proceed with caution, and although this is
|
|||
|
highly unlikely, the author does not take any responsibility for that.
|
|||
|
|
|||
|
All copyrights are held by their by their respective owners, unless
|
|||
|
specifically noted otherwise. Use of a term in this document should not be
|
|||
|
regarded as affecting the validity of any trademark or service mark.
|
|||
|
|
|||
|
Naming of particular products or brands should not be seen as endorsements.
|
|||
|
|
|||
|
You are strongly recommended to take a backup of your system before major
|
|||
|
installation and backups at regular intervals.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. New Versions
|
|||
|
|
|||
|
The newest version of this HOWTO will always be made available on my website
|
|||
|
[http://www.murty.net/ataraid/] http://www.murty.net/ataraid/, or you may
|
|||
|
contact me directly at <murty at solar . murty . net> to check if there is a
|
|||
|
newer version.
|
|||
|
|
|||
|
Currently, this document is available in the following formats:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.html] HTML.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.txt] plain text.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.pdf] Adobe PDF.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>gzipped postscript (US letter format).
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.sgml] SGML source.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.dvi.gz] gzipped DVI file.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ataraid.tex.gz] gzipped TeX (to be used with jadetex).
|
|||
|
|
|||
|
|
|||
|
Note that paper sizes vary in the world, A4 and US letter differ
|
|||
|
significantly. You might also wish to consider using the universal format
|
|||
|
(8.27x11in; 210x279mm).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.4. Credits
|
|||
|
|
|||
|
Your name here, if you contribute :)
|
|||
|
|
|||
|
Luc de Louw <luc at delouw.ch> corrected errors in my SGML source.
|
|||
|
|
|||
|
Joy Y Goodreau <joyg at us.ibm.com> corrected errors in my SGML source.
|
|||
|
|
|||
|
In this version I have the pleasure of acknowledging:
|
|||
|
|
|||
|
Alain Portal <alain.portal at free.fr>, Service Commun de Microscopie
|
|||
|
Electronique for proof-reading and correcting mistakes.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.5. Feedback
|
|||
|
|
|||
|
Feedback is most certainly welcome for this document. Without your
|
|||
|
submissions and input, this document wouldn't exist. Please send your
|
|||
|
additions, comments and criticisms to the following email address : <murty at
|
|||
|
solar. murty . net>.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.6. Translations
|
|||
|
|
|||
|
Please help International users who do not speak English. You are encouraged
|
|||
|
to translate this document to a foreign language. Please notify the author if
|
|||
|
you translated or would like to translate this document into a foreign
|
|||
|
language. The following translation efforts are already under way.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>French Translation is coming soon. Thanks go to Alain Portal.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
2. Requirements
|
|||
|
|
|||
|
This section lists what items are required before you start installing on
|
|||
|
your computer.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Two blank floppies, DOS formatted. On a working linux computer, you can
|
|||
|
type mkfs.msdos /dev/fd0
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Red Hat Linux 7.2 CDs 1 and 2 (3 and 4 contain SRPMS and are not
|
|||
|
required)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Internet connection available
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Your computer with working CD, floppy,10/100 ethernet card support
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Patience
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
3. Prepare Promise Driver Floppy
|
|||
|
|
|||
|
1. Download appropriate driver from one of the two sites below and save the
|
|||
|
driver on one of the blank floppies. You can do this on any computer
|
|||
|
connected to Internet.
|
|||
|
|
|||
|
<20><>+<2B>[http://www.promise.com.tw/support/file/rhup-ftb14.tgz] Driver for
|
|||
|
Single Processor Machine
|
|||
|
|
|||
|
<20><>+<2B>[http://www.promise.com.tw/support/file/rhsmp-ft12014.tgz] Driver for
|
|||
|
Multiple Processor Machine
|
|||
|
|
|||
|
|
|||
|
2. Insert the floppy with the driver tar ball into a working Linux computer
|
|||
|
and type:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|mount /dev/fd0 /mnt/floppy |
|
|||
|
|cd /mnt/floppy |
|
|||
|
|cp rhsmp-ft12014.tgz /tmp |
|
|||
|
|tar xvzf /tmp/rhsmp-ft12014.tgz |
|
|||
|
|cd / |
|
|||
|
|umount /mnt/floppy |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
3. Label the floppy <20>Promise FastTrack driver<65> and set it aside.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
4. Preparing RedHat 7.2 CDs
|
|||
|
|
|||
|
Note NOTE
|
|||
|
<EFBFBD> If you already have Red Hat Linux 7.2 CDs 1 and 2, skip this step.
|
|||
|
Otherwise, read this step to learn how you can get them for free.
|
|||
|
|
|||
|
1. Logon to a Windows computer that has a CD Writer drive installed and
|
|||
|
setup properly. Insert a blank CD-R into the CD Writer.
|
|||
|
|
|||
|
2. Point your browser to the Red Hat Web site: [ftp://ftp.redhat.com/pub/
|
|||
|
redhat/linux/7.2/en/iso/i386/] ftp://ftp.redhat.com/pub/redhat/linux/7.2/
|
|||
|
en/iso/i386/.
|
|||
|
|
|||
|
3. Browse and locate enigma-disc1.iso (the first disk of Red Hat 7.2), and
|
|||
|
save this file to your Windows desktop.
|
|||
|
|
|||
|
4. Right-click on the iso image created on your desktop and choose "Record
|
|||
|
to CD" It will then write the iso image onto your CD-R and create disk-1.
|
|||
|
|
|||
|
5. Repeat the procedure for the second iso file named enigma-disc2.iso on
|
|||
|
[ftp://ftp.redhat.com/pub] ftp.redhat.com/pub.
|
|||
|
|
|||
|
6. Test to make sure your CD-Rs are indeed readable. If you click on <20>My
|
|||
|
Computer<65> and click on the CD Writer Drive icon, you should be able to
|
|||
|
browse the contents of the CD-R.
|
|||
|
|
|||
|
7. Label the CD-Rs properly: RH 7.2 disk-1 and RH 7.2 disk-2
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
5. Installing Red Hat 7.2
|
|||
|
|
|||
|
Once you have created your CDs, you are ready to begin installing Red Hat 7.2
|
|||
|
on your Linux system.
|
|||
|
|
|||
|
1. Restart the computer and press Cntrl-F when you see FastTrack BIOS prompt
|
|||
|
on screen. This will take you into the Promise FastTrack BIOS.
|
|||
|
|
|||
|
2. Inside this BIOS, choose "delete array," "define array," and "choose
|
|||
|
Mirror."
|
|||
|
|
|||
|
3. Press Cntrl-Y to save.
|
|||
|
|
|||
|
4. Choose <20>Create Only<6C> and ESC to reboot. When it reboots, you should see
|
|||
|
that Promise FastTrack now has 1x2 RAID Mirror defined over your two hard
|
|||
|
disks connected to FastTrack controller.
|
|||
|
|
|||
|
5. Insert your Red Hat 7.2, disk-1 into your CD-ROM and reboot.
|
|||
|
|
|||
|
6. At the boot-prompt, type:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|linux noprobe |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
7. Now, installation will begin. Choose <20>Add device<63> and scroll through the
|
|||
|
list of available drivers to see if Promise FastTrack is listed. If it is
|
|||
|
not listed, press F2 to load external driver from a floppy. Insert your
|
|||
|
Promise FastTrack driver floppy and hit "OK."
|
|||
|
|
|||
|
8. Continue with installation. Choose only ext3 type partitions for now. You
|
|||
|
can make ext2 partions at the very end, if you really need them.
|
|||
|
|
|||
|
9. When the system you to create Boot Floppy, insert a blank floppy disk.
|
|||
|
The Red Hat installation program will create a Boot Floppy disk.
|
|||
|
|
|||
|
Note NOTE
|
|||
|
<20> Please do not click on <20>Skip boot disk creation<6F>. If you
|
|||
|
skip this step and do not create a Boot Floppy disk, you
|
|||
|
will be very sorry later.
|
|||
|
|
|||
|
10. When the install asks you to choose Boot loader configuration, please
|
|||
|
choose <20>LILO only<6C>. Do not choose <20>GRUB<55> as your boot loader.
|
|||
|
|
|||
|
When the installation is finished, you will see <20>Congratulations<6E> screen.
|
|||
|
|
|||
|
11. Press Cntrl-ALT-F2 to switch to tty2.
|
|||
|
|
|||
|
12. At the shell prompt, type:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|cd /mnt/sysimage/lib/modules/2.4.7-10/kernel/drivers/scsi |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
13. Type ls and make sure the file ft.o exists. If not, you are going to need
|
|||
|
to manually install the module ft.o as follows:
|
|||
|
|
|||
|
a. Make sure your Driver floppy is mounted. Go into the floppy and type
|
|||
|
|
|||
|
+------------------------------------------------------------+
|
|||
|
|mv module.cgz /tmp |
|
|||
|
|cd /tmp |
|
|||
|
|gzip -dc module.cgz | cpio -idumv |
|
|||
|
+------------------------------------------------------------+
|
|||
|
|
|||
|
b. Now, you will see a bunch of directories created under /tmp.
|
|||
|
|
|||
|
+----------------------------------------------------------------+
|
|||
|
|cd /tmp/`uname -r` |
|
|||
|
|cp ft.o /mnt/sysimage/lib/modules/`uname -r`/kernel/drivers/scsi|
|
|||
|
+----------------------------------------------------------------+
|
|||
|
|
|||
|
c. At the shell prompt, type:
|
|||
|
|
|||
|
+------------------------------------------------------------+
|
|||
|
|less /mnt/sysimage/etc/lilo.conf |
|
|||
|
+------------------------------------------------------------+
|
|||
|
|
|||
|
Check to see that the lilo.conf looks good. Especially, it should
|
|||
|
have the initrd= line and the corresponding initrd.img file must
|
|||
|
exist in /mnt/sysimage/boot. If not, you are going to create it
|
|||
|
manually as follows:
|
|||
|
|
|||
|
+-------------------------------------------------------------+
|
|||
|
|/mnt/sysimage/usr/sbin/chroot /mnt/sysimage /sbin/mkinitrd \ |
|
|||
|
|--preload jbd \ |
|
|||
|
|--preload ext3 \ |
|
|||
|
|--preload scsi_mod \ |
|
|||
|
|--with ft \ |
|
|||
|
|/boot/initrd.img 2.4.7-10 |
|
|||
|
+-------------------------------------------------------------+
|
|||
|
|
|||
|
|
|||
|
14. Now, remove the floppy and the CD, and reboot. At this point, pray that
|
|||
|
your computer will boot without any problems.
|
|||
|
|
|||
|
15. If it does not boot, insert your Boot Floppy and reboot and login; And
|
|||
|
then repair as follows:
|
|||
|
|
|||
|
a. Make sure /boot/initrd.img exists. Make sure /lib/modules/2.4.7-10/
|
|||
|
kernel/drivers/scsi/ft.o exists (If not you have to manually fix
|
|||
|
these issues as explained above)
|
|||
|
|
|||
|
b. Type: /sbin/lilo
|
|||
|
|
|||
|
c. Now, remove floppy and reboot. Your machine should boot into your new
|
|||
|
machine now using Promise Driver.
|
|||
|
|
|||
|
|
|||
|
16. Type df -k and you should see your hard disks as /dev/sdaX instead of /
|
|||
|
dev/hdaX. This is because the Promise Driver is actually a special type
|
|||
|
of Software Emulation RAID, not exactly Hardware RAID. (Promise RAID
|
|||
|
works through a BIOS Hack).
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
If your machine is SMP, you will have to manually create initrdsmp.img, when
|
|||
|
you boot into Uniprocessor Kernel as shown below, and edit /etc/lilo.conf and
|
|||
|
then test to see you can boot into SMP system.
|
|||
|
|
|||
|
1. When you boot your machine into 2.4.7-10 uniprocessor kernel, type the
|
|||
|
following to make initrdsmp.img to be used for 2.4.7-10smp kernel:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|/sbin/mkinitrd \ |
|
|||
|
|--preload jbd \ |
|
|||
|
|--preload ext3 \ |
|
|||
|
|--preload scsi_mod \ |
|
|||
|
|--with ft \ |
|
|||
|
|/boot/initrdsmp.img 2.4.7-10smp |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
Note NOTE
|
|||
|
<20> If you are tired of remembering the command to create initrd
|
|||
|
files, dowload my [files/geninitrd.txt] geninitrd script and
|
|||
|
keep it handy.
|
|||
|
|
|||
|
2. Adjust your /etc/lilo.conf accordingly for 2.4.7-10smp (the SMP kernel
|
|||
|
section), type /sbin/lilo and reboot into the SMP kernel. Here is how /
|
|||
|
etc/lilo.conf should look like.
|
|||
|
|
|||
|
|
|||
|
At this point, you have a working Red Hat 7.2 machine with SMP support, if
|
|||
|
applicable. If you are happy with the fact that you are running a fake
|
|||
|
Hardware RAID from Promise FastTrack using SCSI Emulation, then read no
|
|||
|
further.
|
|||
|
|
|||
|
Because Promise Driver is a SCSI emulation, it puts a lot of load on CPU(s).
|
|||
|
Read on if you want to enable true Linux native RAID and get rid of this
|
|||
|
Promise SCSI emulation.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6. Installing Native Linux RAID
|
|||
|
|
|||
|
The first step you want to take is to configure your networking and connect
|
|||
|
your computer to Internet, which is still running under Promise Driver SCSI
|
|||
|
emulation. Next you will install native Linux RAID.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1. Go to [http://www.kernel.org/] www.kernel.org and download latest kernel
|
|||
|
2.4.18.tar.gz.
|
|||
|
|
|||
|
2. Configure your kernel:
|
|||
|
|
|||
|
+-------------------------------------------------------------------------------+
|
|||
|
|cd /usr/src/ |
|
|||
|
|tar xvzf linux-2.4.18.tar.gz |
|
|||
|
|cd linux # cd to kernel source directory just created by tar |
|
|||
|
|cp config.txt .config #(See NOTE below to find out where to get config.txt) |
|
|||
|
|make menuconfig |
|
|||
|
+-------------------------------------------------------------------------------+
|
|||
|
|
|||
|
Note NOTE
|
|||
|
<20> You can download a working config.txt file [files/
|
|||
|
config.txt] HERE. You can, of course, modify this to suit
|
|||
|
your needs either directly in a text editor or by typing
|
|||
|
make menuconfig as explained above. It is easy to make
|
|||
|
mistakes if you are editing .config directly in vi or emacs.
|
|||
|
Therefore, it is recommended to use Menu Interface by typing
|
|||
|
make menuconfig.
|
|||
|
|
|||
|
3. Enable all the following in the kernel statically (NOT as modules):
|
|||
|
|
|||
|
+----------------------------------------------------------------------------+
|
|||
|
| ATA/IDE/MFM/RLL Support --> |
|
|||
|
| <*> ATA/IDE/MFM/RLL Support |
|
|||
|
| IDE/ATA/ATAPI Block Devices --> |
|
|||
|
| <*> Enhanced ATA/IDE/MFM/RLL disk/cdrom/tape/floppy support |
|
|||
|
| <*> Include IDE/ATA-2 Disk Support |
|
|||
|
| [*] Use multi-mode by default |
|
|||
|
| Include IDE/ATAPI CDROM support |
|
|||
|
| [*] Generic PCI IDE chipset support |
|
|||
|
| [*] Sharing PCI IDE interrupt support |
|
|||
|
| [*] Generic PCI Bus master DMA support |
|
|||
|
| [*] Use PCI DMA by default when available |
|
|||
|
| [*] Intel PIIXn chipset support |
|
|||
|
| [*] PIIXn tuning support |
|
|||
|
| [*] Promise PDC202{46|62|65|67|68} support |
|
|||
|
| [*] Special UDMA Feature |
|
|||
|
| [*] Special FastTrack Feature |
|
|||
|
| [*] VIA 82CXXX chipset support |
|
|||
|
| <*> Support for IDE RAID controllers |
|
|||
|
| <*> Support Promise Software RAID (fasttrack) |
|
|||
|
+----------------------------------------------------------------------------+
|
|||
|
|
|||
|
4. After you have enabled static features as shown above, make any more
|
|||
|
changes that you would like to make to suit your environment.
|
|||
|
|
|||
|
5. Save the kernel configuration. It is saved to .config in the current
|
|||
|
directory. Please back up this file. If you dont do so, you will regret
|
|||
|
it later. Copy .config file in a blank floppy or in /root
|
|||
|
|
|||
|
6. Build and install the kernel like you normally do, by typing:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|make dep ; make clean ; make && make install |
|
|||
|
|make modules && make modules_install |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
|
|||
|
Look at /etc/lilo.conf to make sure new lines are added to boot your new
|
|||
|
kernel 2.4.18. Note that there should not be an initrd= line for this new
|
|||
|
kernel in /etc/lilo.conf. That is, our new kernel will boot itself without
|
|||
|
depending on a initrd.img unlike your current 2.4.7-10 kernel.
|
|||
|
|
|||
|
Now adjust /etc/lilo.conf as follows:
|
|||
|
|
|||
|
1. Locate the root=/dev/sdaX line for the new kernel in /etc/lilo.conf.
|
|||
|
Change this to root=/dev/ataraid/d0pX where X is a number 1 through 16.
|
|||
|
Save your changes.
|
|||
|
|
|||
|
2. Type:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|/sbin/lilo |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
3. If you chose any ext2 partitions during installation, you should comment
|
|||
|
them out in /etc/fstab for now.(Best thing is: Forget ext2 in this whole
|
|||
|
process)
|
|||
|
|
|||
|
4. Remove all floppies and CDs, and reboot by typing:
|
|||
|
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|sync;sync;reboot |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|
|||
|
5. At the LILO prompt, type your new kernel lable corresponding to 2.4.18
|
|||
|
Your computer should then boot into your new kernel.
|
|||
|
|
|||
|
6. Login and type df -k to make sure you see /dev/ataraid/d0X entries
|
|||
|
instead of earlier /dev/sdaX entries.
|
|||
|
|
|||
|
Note NOTE
|
|||
|
<20> You may see some errors related to mounting swap device at
|
|||
|
the time of booting into new kernel. These are harmless. You
|
|||
|
should edit /etc/fstab to change any sdaX entries to ataraid
|
|||
|
/d0pX entries.
|
|||
|
|
|||
|
7. Now, connect your computer to Internet and download lilo-22.tar.gz (the
|
|||
|
latest version of lilo program) from the Internet.
|
|||
|
|
|||
|
8. Remove the existing lilo on your computer by typing: rpm -e --nodeps lilo
|
|||
|
|
|||
|
9. Install new version of lilo as follows:
|
|||
|
|
|||
|
+---------------------------------------------------------------------+
|
|||
|
|tar xvzf lilo-22.tar.gz |
|
|||
|
|cd lilo-22 # cd to lilo source directory just created by tar |
|
|||
|
|./QuickInst.sh |
|
|||
|
+---------------------------------------------------------------------+
|
|||
|
|
|||
|
10. Say "Yes" to questions the system will ask you.
|
|||
|
|
|||
|
11. Ignore any errors except if /sbin/lilo is not created.
|
|||
|
|
|||
|
12. Adjust /etc/lilo.conf as follows:
|
|||
|
|
|||
|
<20><>+<2B>Replace linear by lba32
|
|||
|
|
|||
|
<20><>+<2B>Delete line "compact"
|
|||
|
|
|||
|
<20><>+<2B>Change vga= line to vga=normal
|
|||
|
|
|||
|
<20><>+<2B>Change boot=/dev/sda line to boot=/dev/ataraid/dN (where N is the
|
|||
|
partition number on which your root file system exists. Type df -k /
|
|||
|
to find out your root partition number).
|
|||
|
|
|||
|
<20><>+<2B>Make sure that default=linux-2.4.18 (where linux-2.4.18 is the label
|
|||
|
given to boot your new kernel: 2.4.18)
|
|||
|
|
|||
|
|
|||
|
13. Save changes to the file and type: /sbin/lilo
|
|||
|
|
|||
|
14. Reboot the system and cross your fingers.
|
|||
|
|
|||
|
|
|||
|
Here is how the final /etc/lilo.conf should look like.
|
|||
|
|
|||
|
If everything comes up without any errors, time to celebrate!!
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
7. Installing on an existing Linux system
|
|||
|
|
|||
|
This section explains how to install Linux Native ATA RAID on non-OS disks
|
|||
|
you may have on a running Linux machine. Non-OS disks are those which do not
|
|||
|
contain any Linux OS partitions such as /, /usr, /var, /boot. In other words,
|
|||
|
we have a working Linux machine with two free disks and we want to setup ATA
|
|||
|
RAID mirror (raid 1) on those two disks. When we save important data on such
|
|||
|
a mirror device, our data is protected. Ofcourse, like any other RAID 1, we
|
|||
|
will experience improved read speeds while reading the data and slightly
|
|||
|
decreased write speeds while modifying or adding new data to the mirror
|
|||
|
device. Therefore, using RAID 1 for data disks is recommended if the data
|
|||
|
disk is more frequently read than written to. A web server hosting rarely
|
|||
|
changing web sites is a good example where web content is rarely modified but
|
|||
|
very frequently accessed by users.
|
|||
|
|
|||
|
Here are the steps to install non-OS ATA RAID if your RAID chip is from
|
|||
|
Promise Technology:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Find out IO address numbers and IRQ number(s) for your Promise RAID chip/
|
|||
|
card.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Edit /etc/lilo.conf and insert appropriate Append Line
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Enable ataraid support either by automatically loading ataraid module
|
|||
|
when your Linux machine starts up or by statically building ataraid
|
|||
|
support into your kernel
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
7.1. Append Line
|
|||
|
|
|||
|
For the purpose of understanding various tasks involving Promise FastTrack
|
|||
|
RAID such as upgrading or troubleshooting, we introduce a noun: Append Line
|
|||
|
|
|||
|
All the ide options you pass at the LILO boot: prompt at the time of booting,
|
|||
|
when put together as a string, make up the Append Line. All the ide options
|
|||
|
in double quotes after append= keyword in /etc/lilo.conf also make up the
|
|||
|
Append Line.
|
|||
|
|
|||
|
For example, if you type
|
|||
|
|
|||
|
linux-new ide2=0x0001,0x0009,9 ide3=0x2000,0x2009,10 ide4=none nousb expert
|
|||
|
root=/dev/hda3
|
|||
|
|
|||
|
at boot: prompt at the time of booting your Linux computer, then Append Line
|
|||
|
is the string
|
|||
|
|
|||
|
ide2=0x0001,0x0009,9 ide3=0x2000,0x2009,10 ide4=none.
|
|||
|
|
|||
|
Similarly, if your /etc/lilo.conf has the following section, your Append Line
|
|||
|
is
|
|||
|
|
|||
|
ide2=0x9400,0x9002 ide3=0x8800,0x8402.
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|image=/boot/vmlinuz-2.4.9-10 |
|
|||
|
| label=linuxold |
|
|||
|
| read-only |
|
|||
|
| root=/dev/hde9 |
|
|||
|
| append="nousb ide2=0x9400,0x9002 ide3=0x8800,0x8402" |
|
|||
|
| initrd="initrd.img" |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
When we experience problems booting a Linux machine with RAID, we may have to
|
|||
|
use an appropriate Append Line. Therefore, it is important to determine and
|
|||
|
write down the Append Line. This will help you fix your problems later or
|
|||
|
upgrade your kernel smoothly or add/remove additional hard disks.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
7.2. Determining the Append Line
|
|||
|
|
|||
|
To determine the correct Append Line, we should first know how all our ide
|
|||
|
devices are connected. IDE devices can be hard disks, ATAPI CDROM(s) etc.
|
|||
|
Once we determine the Append Line, we can append it to the boot: options (at
|
|||
|
the time of booting) or we can alternatively assign it as a string value to
|
|||
|
the append paramater in /etc/lilo.conf. Unless you love to remember
|
|||
|
complicated boot: options and type them at boot time every time, you should
|
|||
|
choose the second method, i.e., insert it into /etc/lilo.conf . You can do so
|
|||
|
by inserting append="Your Append Line Here", saving file and then activating
|
|||
|
new /etc/lilo.conf by running the command /sbin/lilo.
|
|||
|
|
|||
|
For the purpose of understanding better, lets say that your ide devices are
|
|||
|
as follows:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>ide0: hda , hdb (hard disks)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>ide1: hdc , hdd (hard disks or other ide devices like CDROM)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>ide2: hde (first free disk)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>ide3: hdg (second free disk)
|
|||
|
|
|||
|
|
|||
|
The two free disks above (hde and hdg) are the ones we would like to setup as
|
|||
|
RAID 1 to create /dev/ataraid/d0 raid device. Note that we do not have hdf or
|
|||
|
hdh because that is how we used the IDE/RAID ports on Promise chip. It is not
|
|||
|
a good idea to connect two hard disks to the same Promise controller IDE
|
|||
|
port. In the above example, we used Primary Master and Secondary Master
|
|||
|
connections on the Promise Technology card.
|
|||
|
|
|||
|
If you do not know how various ide devices are connected in your computer,
|
|||
|
take a look at /proc/devices and /proc/ide/*. You can also carefully go
|
|||
|
through boot log file, /var/log/bootlog (or type dmesg | more right after
|
|||
|
your Linux system boots) to find your ide devices. Now type less /proc/pci
|
|||
|
and locate appropriate information about Promise Technology. In the output of
|
|||
|
less /proc/pci, you can see somewhere information about your Promise chip,
|
|||
|
something like:
|
|||
|
|
|||
|
+--------------------------------------------------------------------------------+
|
|||
|
| Bus 0, device 17, function 0: |
|
|||
|
| Unknown mass storage controller: Promise Technology Unknown device (rev 2). |
|
|||
|
| Vendor id=105a. Device id=d30. |
|
|||
|
| Medium devsel. IRQ 10. Master Capable. Latency=32. |
|
|||
|
| I/O at 0x9400 [0x9401]. |
|
|||
|
| I/O at 0x9000 [0x9001]. |
|
|||
|
| I/O at 0x8800 [0x8801]. |
|
|||
|
| I/O at 0x8400 [0x8401]. |
|
|||
|
| I/O at 0x8000 [0x8001]. |
|
|||
|
| Non-prefetchable 32 bit memory at 0xd5800000 [0xd5800000]. |
|
|||
|
+--------------------------------------------------------------------------------+
|
|||
|
|
|||
|
From this output, we learn that our Promise Technology card uses IRQ 10 for
|
|||
|
both ide ports (ide2 and ide3). Using same IRQ is perfectly alright as long
|
|||
|
as your kernel supports PCI IRQ Sharing. By default, our Linux kernel is
|
|||
|
configured to support PCI IRQ sharing. From the above output, we also learn
|
|||
|
that our Promise Technology card uses various IO addresses. For the purpose
|
|||
|
of identifying Promise Technology disks properly at boot time, we only want
|
|||
|
the IRQ number(s) and the first four IO Address numbers outside [ ]. Write
|
|||
|
down on a piece of paper this information. In this case, from the above
|
|||
|
output:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|IRQ1 = 10 |
|
|||
|
|IRQ2 = 10 |
|
|||
|
|IO1 = 0x9400 |
|
|||
|
|IO2 = 0x9000 |
|
|||
|
|IO3 = 0x8800 |
|
|||
|
|IO4 = 0x8400 |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Now, we have to evaluate the following to obtain the correct Append Line.
|
|||
|
Then either specify this Append Line at boot time or specify it in lilo
|
|||
|
configuration file.
|
|||
|
|
|||
|
+-----------------------------------------------------------------------------------+
|
|||
|
|ideX=IO1,IO2+0x0002,IRQ1 ideY=IO3,IO4+0x0002,IRQ2 |
|
|||
|
|where ideX and ideY are the two IDE ports of Promise card our free disks are using.|
|
|||
|
+-----------------------------------------------------------------------------------+
|
|||
|
|
|||
|
In our example, the above Append Line will become:
|
|||
|
|
|||
|
ide2=0x9400,0x9002,10 ide3=0x8800,0x8402,10
|
|||
|
|
|||
|
If, for example, we want to boot kernel version 2.4.18, labelled linux
|
|||
|
according to /etc/lilo.conf, then we specify our Append Line in one of the
|
|||
|
following two methods:
|
|||
|
|
|||
|
1. At boot time
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|boot: linux ide2=0x9400,0x9002,10 ide3=0x8800,0x8402,10 |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
If you choose this method, you should manually type the Append Line after
|
|||
|
the kernel label linux everytime you boot your Linux machine.
|
|||
|
|
|||
|
2. In /etc/lilo.conf
|
|||
|
+---------------------------------------------------------------+
|
|||
|
|image=/boot/vmlinuz-2.2.18 |
|
|||
|
| label=linux |
|
|||
|
| read-only |
|
|||
|
| root=/dev/hda1 |
|
|||
|
| append="ide2=0x9400,0x9002,10 ide3=0x8800,0x8402,10" |
|
|||
|
+---------------------------------------------------------------+
|
|||
|
If you choose this method, you have to run lilo once to activate changes
|
|||
|
by typing /sbin/lilo. And you do not have to type anything extra at boot
|
|||
|
time.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
7.3. Setting Up RAID 1
|
|||
|
|
|||
|
If you want to setup RAID 1 using Promise Technology proprietary driver
|
|||
|
(ft.o), you can download Promise Driver (ft.o) into /lib/modules/
|
|||
|
kernel-version and load the module by typing modprobe -k ft. You should then
|
|||
|
be able to access your new raid device as /dev/sdc or something like that.
|
|||
|
But if it does not work, then determine your Append Line and add it to /etc/
|
|||
|
lilo.conf. If you are setting up RAID on an existing Linux system and are
|
|||
|
using either Promise Technology ft driver or Linux native ataraid driver,
|
|||
|
then use of Append Line in /etc/lilo.conf is strongly recommended. Once you
|
|||
|
reboot with your new /etc/lilo.conf that contains Append Line, you can load
|
|||
|
either driver (ft.o from Promise Technology or ataraid.o, the Linux Native
|
|||
|
RAID module) to enable RAID except when your kernel has built-in ataraid
|
|||
|
support in which case you do not have to load ataraid module.
|
|||
|
|
|||
|
As Linux Native RAID is recommended, let us discuss that in detail. To setup
|
|||
|
Linux Native RAID on an existing Linux machine, insert Append Line into /etc/
|
|||
|
lilo.conf as explained above. Now, activate changes by typing /sbin/lilo.
|
|||
|
Then reboot your computer. After your computers reboots, load ataraid module
|
|||
|
manually if your kernel does not have ataraid built-in support or ataraid.o
|
|||
|
module failed to load for some reason. If you compiled your kernel with
|
|||
|
static ataraid support (ataraid not as module), then you can start formatting
|
|||
|
and using your mirror disk /dev/ataraid/d0 right away.
|
|||
|
|
|||
|
But if you compile ataraid as a seperate module, then type lsmod and see
|
|||
|
ataraid is listed. If not, manually load it by typing modprobe -k ataraid. If
|
|||
|
you dont see any errors, then you can start using your mirror disk /dev/
|
|||
|
ataraid/d0 right away. Format it, mount it and use it just like you normally
|
|||
|
do.
|
|||
|
|
|||
|
The fact that you can use /dev/ataraid/d0 implies that you are successful in
|
|||
|
your mission. Please do not access /dev/hde, /dev/hdg or any of their
|
|||
|
partitions directly, although Linux will let you do that. Once you make a
|
|||
|
mirror device from two disks, you should always access the mirror device and
|
|||
|
not the disks directly.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
8. Upgrading Kernel
|
|||
|
|
|||
|
Read this section carefully before you plan to upgrade kernel on your Linux
|
|||
|
machine with Promise FastTrack RAID. Unless you are not using Promise
|
|||
|
FastTrack at all in any way, you need this information to avoid problems.
|
|||
|
|
|||
|
Always backup your data before kernel upgrade. Also backup /etc/fstab, /etc/
|
|||
|
lilo.conf, /boot/vmlinuz-currentversion and /boot/initrd.img (if you use
|
|||
|
initrd). When you upgrade your kernel, do not delete old kernel or its
|
|||
|
dependent files in /boot and do not delete the lines corresponding to it in /
|
|||
|
etc/lilo.conf. If you upgrade kernel to say 2.4.19, just create another
|
|||
|
kernel section in /etc/lilo.conf. For example, add the following lines to /
|
|||
|
etc/lilo.conf:
|
|||
|
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|# Begin Code for booting my brand new kernel: 2.4.19 |
|
|||
|
| |
|
|||
|
|image=/boot/vmlinuz-2.4.19 |
|
|||
|
| label=linux-new |
|
|||
|
| read-only |
|
|||
|
| root=/dev/ataraid/d0p12 |
|
|||
|
| |
|
|||
|
|# End Code for booting my brand new kernel: 2.4.19 |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Also, do not change default=linux line in /etc/lilo.conf unless and until you
|
|||
|
successfully can boot into your new kernel by typing linux-new at the boot:
|
|||
|
prompt (or highlighting linux-new in the menu, if you are using LILO in
|
|||
|
curses menu mode).
|
|||
|
|
|||
|
Now lets discuss the actual process of upgrading kernel in the following four
|
|||
|
cases:
|
|||
|
|
|||
|
1. Promise Technology (ft) Driver with OS on RAID mirror
|
|||
|
|
|||
|
2. Promise Technology (ft) Driver with non-OS data on RAID mirror
|
|||
|
|
|||
|
3. Linux Native (ataraid) Driver with OS on RAID mirror
|
|||
|
|
|||
|
4. Linux Native (ataraid) Driver with non-OS data on RAID mirror
|
|||
|
|
|||
|
|
|||
|
OS stands for "Operating System" or more specifically Red Hat Linux Operating
|
|||
|
System in our case. When you install Linux on mirrored partitions such as /
|
|||
|
dev/ataraid/d0p1 (or /dev/sda1 when using Promise Technology proprietary
|
|||
|
driver), you are said to have your OS on RAID mirror. If your Linux machine
|
|||
|
has only the main partitions such as / and /boot on RAID, it is also called
|
|||
|
(a case of) OS on RAID.
|
|||
|
|
|||
|
Partitions created by user to make use of available free partitions such as /
|
|||
|
mydata1, /imp, /scratch are not part of Linux OS because Linux does not
|
|||
|
install any files into them by default when you install Linux or upgrade any
|
|||
|
standard Linux software package. Any data in such user partitions becomes
|
|||
|
user data or alternatively, non-OS data. It is a good idea to use only ext3
|
|||
|
and swap file systems for OS partitions. For non-OS partitions, you can use
|
|||
|
other file systems such as ext2 and dos (if you have another operating system
|
|||
|
like Windows on the same Linux computer or if you just feel like you love dos
|
|||
|
so much). However, why do you want to use ext2 if you dont have to and you
|
|||
|
have a better choice of using ext3 for OS or non-OS partitions?
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
8.1. Promise Technology (ft) Driver with OS on RAID mirror
|
|||
|
|
|||
|
Currently, Promise Technology supports Red Hat 7.2 and earlier versions only.
|
|||
|
Red Hat 7.2 uses kernel 2.4.7-10 by default. Also note that, you have to use
|
|||
|
initrd.img (Initial RAM disk image) in /etc/lilo.conf, when you install Linux
|
|||
|
with Promise supplied driver. At the time of installation, Promise Driver
|
|||
|
scripts are supposed to automatically generate initrd file and configure /etc
|
|||
|
/lilo.conf for you. Unfortunately, this does not work properly and you may
|
|||
|
have to manually create initrd.img and configure /etc/lilo.conf yourself.
|
|||
|
|
|||
|
You are stuck with the default kernel 2.4.7-10 and you cannot and should not
|
|||
|
upgrade kernel either by compiling or by automatic update programs such as
|
|||
|
up2date or rpm utility. If you really really want to upgrade kernel then do
|
|||
|
so but do not use raid. You can add Append Line to the /etc/lilo.conf as
|
|||
|
explained in Section 7.2 and do not load ataraid module (or do not compile
|
|||
|
your new kernel with ataraid feature built-in). By doing this, you are
|
|||
|
upgrading kernel to new version and sacrificing RAID feature because you are
|
|||
|
using Promise Technology card as a simple IDE extension card.
|
|||
|
|
|||
|
If Promise Technology releases new version of their ft driver for 2.4.19 in
|
|||
|
future, you can then upgrade your kernel first to 2.4.19 (using up2date or
|
|||
|
rpm but not by manually compiling) and place their new version of ft.o file
|
|||
|
in /lib/modules/kernel-2.4.19. You will also have to put initrd-2.4.19 in /
|
|||
|
boot and append initrd= line to the new kernel section in /etc/lilo.conf. If
|
|||
|
your Linux machine uses Promise Technology driver, your OS is on RAID mirror
|
|||
|
and Promise Technology did not release any new versions for new kernel
|
|||
|
versions, please do not fool around with your current kernel. If you do fool
|
|||
|
around, remember that you can seriously damage your computer and not be able
|
|||
|
to boot or retrieve your data.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
8.2. Promise Technology (ft) Driver with non-OS data on RAID mirror
|
|||
|
|
|||
|
Almost all of explanation in previous case (Promise Technology (ft) Driver
|
|||
|
with OS on RAID mirror) applies in this also, ofcourse you are now risking
|
|||
|
non-OS data instead of OS. That means, if your upgrade fails, you will be
|
|||
|
able to boot but not be able to see data in your RAID partitions.
|
|||
|
Additionally, you have the flexibility of loading and unloading Promise
|
|||
|
Proprietary driver (ft.o). However, this is not guaranteed to work smoothly
|
|||
|
because Promise Technology driver has a lot of issues.
|
|||
|
|
|||
|
Unless Promise Technology releases appropriate drivers for new kernel
|
|||
|
version, please do not attempt kernel upgrade in any method. You are stuck
|
|||
|
with 2.4.7-10 kernel. You may be required to add Append Line as discussed in
|
|||
|
Section 7.2 to boot your computer in some cases.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
8.3. Linux Native (ataraid) Driver with OS on RAID mirror
|
|||
|
|
|||
|
You can upgrade kernel to any version above 2.4.18 by recompiling the kernel
|
|||
|
and not by any automatic upgrade method such as up2date or rpm utility. You
|
|||
|
need .config file from your previous kernel source directory (/usr/src/
|
|||
|
linux-2.4.18/.config). You did save your 2.4.18 .config file, did't you?
|
|||
|
|
|||
|
After you copy .config into /usr/src/linux-2.4.19 directory, you may make
|
|||
|
changes by typing make menuconfig but generally you do not need to make
|
|||
|
changes because you are upgrading only to 2.4.19 and your machine hardware
|
|||
|
did not change. But if you do make changes by typing make menuconfig,
|
|||
|
remember to save and also backup your modified .config file. Save the .config
|
|||
|
file safely in /root or on a floppy disk. Here are the steps:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Unzip new kernel in /usr/src and rename top directory to linux-2.4.19. So
|
|||
|
your new kernel source directory is /usr/src/linux-2.4.19.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>cp /root/config.txt .config
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>make menuconfig (Make any required changes)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>cp .config /root/config-2.4.19.txt (Back up config file in a safe place)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>make dep ; make clean ; make && make install (Install new kernel)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>make modules && make modules_install (Install new kernel modules)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Edit /etc/lilo.conf to add new lines to boot new kernel. Label the new
|
|||
|
kernel linux-new. Do not change default= line and do not delete lines
|
|||
|
corrosponding to current working kernel.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>/sbin/lilo (Activate changes in /etc/lilo.conf)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>/sbin/lilo -R linux-new (Tell LILO to treat linux-new as default boot
|
|||
|
kernel just for one time only)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>sync;sync;reboot (Reboot and hope that it works. If it does not boot,
|
|||
|
power off and power on again. Then login and investigate why your new
|
|||
|
kernel did not boot.)
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
8.4. Linux Native (ataraid) Driver with non-OS data on RAID mirror
|
|||
|
|
|||
|
To upgrade kernel in this case, follow same procedure as explained in
|
|||
|
previous section (Linux Native (ataraid) Driver with OS on RAID mirror). If
|
|||
|
you experience problems, you may be required to add an additional line,
|
|||
|
Append Line, to your /etc/lilo.conf. To find out what your Append Line is,
|
|||
|
see Section 7.2.
|
|||
|
|
|||
|
Similar to previous case, do not attempt to upgrade kernel by any automatic
|
|||
|
method (up2date or rpm utility). Manually compile and your install your new
|
|||
|
kernel as explained in the previous section.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
9. Disabling RAID feature on Promise FastTrack
|
|||
|
|
|||
|
If you are reading this section, then you may be sick and tired of the fake
|
|||
|
RAID feature (formally known as quasi-hardware RAID) provided by Promise
|
|||
|
Technology FastTrack card or onboard chip on your motherboard.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
9.1. Case 1: OS not using RAID
|
|||
|
|
|||
|
It is possible to disable the RAID feature and use the Promise FastTrack as a
|
|||
|
plain vanilla IDE card. It is very simple. Follow the below steps:
|
|||
|
|
|||
|
1. Determine your Append Line. See Section 7.2 for help with this
|
|||
|
|
|||
|
2. Modify /etc/lilo.conf to include append="Append Line" in your current
|
|||
|
kernel boot section. Again see Section 7.2 for details.
|
|||
|
|
|||
|
3. Type /sbin/lilo and reboot
|
|||
|
|
|||
|
|
|||
|
Now you should see your hard disks seperately and you can use them. If you
|
|||
|
previously had partitions on the RAID mirror, you will see partitions
|
|||
|
accordingly on each of the two member disks. You will also see the data that
|
|||
|
you previously stored on the RAID mirror.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
9.2. Case 2: OS is using RAID
|
|||
|
|
|||
|
If you want to disable RAID on a Linux computer that is using RAID mirror
|
|||
|
partitions for /, /boot, /usr etc., then first backup your data including /
|
|||
|
usr/src/linux/.config, /etc/fstab, /boot/vmlinux. Power off your computer.
|
|||
|
Then turn it on. At the boot: prompt, type linux followed by Append Line. If
|
|||
|
your system does not boot successfully, then insert your emergency rescue/
|
|||
|
boot floppy disk, boot off of that floppy disk and type at the boot: prompt
|
|||
|
linux followed by Append Line. If you still cannot boot, then you cannot
|
|||
|
disable RAID non-destructively, which means you have to boot off of the
|
|||
|
RedHat CDROM #1 and re-install Linux, again by typing linux followed by
|
|||
|
Append Line at the boot: prompt.
|
|||
|
|
|||
|
If your Linux machine boots successfully, then first make sure that all data
|
|||
|
is available and clean. Make sure that files in /boot are not corrupt. In
|
|||
|
some cases, the ASCII configuration files in /boot and LILO binary files may
|
|||
|
be corrupt. If that happens, you have to restore them from backup or
|
|||
|
reconfigure /etc/lilo.conf, run /sbin/lilo and recompile and reinstall the
|
|||
|
kernel (recompile with unmodified .config, i.e., without Promise RAID
|
|||
|
support).
|
|||
|
|
|||
|
If your Linux machine boots up and all files are safe, then add Append Line
|
|||
|
to /etc/lilo.conf, run /sbin/lilo and reboot.
|
|||
|
|
|||
|
If you disabled RAID on OS disks and then later changed your mind, then you
|
|||
|
have to back up data and reinstall Linux. If you change mind this way and
|
|||
|
want your RAID back on your Linux OS disks, you may have to sacrifice your
|
|||
|
current data.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
10. Tips and Important Notes
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Dont bother using KDE / GNOME or any other X window system to finish RAID
|
|||
|
installation as explained above. Use simple text terminal.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>You can press Cntrl-ALT-Fj to switch to ttyj where j=1,2,..6
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>If you do start KDE/GNOME or any other X window system, it will run on
|
|||
|
tty7, which you can access by pressing Cntrl-ALT-F7
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>If you decide to use Promise supplied SCSI emulation driver for FastTrack
|
|||
|
RAID, note that you are stuck at the default kernel version 2.4.7-10.
|
|||
|
Because, no source code for FastTrack is available.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>During RH 7.2 installation, choose ext3 and swap file types only.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>When you remove Promise SCSI emulation and setup Native Linux RAID, linux
|
|||
|
lets you access the hard disks either by mirror name: d0 or individual
|
|||
|
disks themselves: hde2, hdg3 etc. It is very important that: YOU NEVER
|
|||
|
access the hard disks directly by their name, instead access the
|
|||
|
corresponding mirror partition. Example: Use /dev/ataraid/d0p3 instead of
|
|||
|
/dev/hde3 or /dev/hdg3
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
11. For more information
|
|||
|
|
|||
|
For more information, please check the following resources
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Quasi-Mini-HowTo at [http://www.geocities.com/ender7007/] http://
|
|||
|
www.geocities.com/ender7007/
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>LhD Product Page at [http://lhd.datapower.com/db/dispproduct.cgi?DISP?
|
|||
|
2751] http://lhd.datapower.com/db/dispproduct.cgi?DISP?2751. You can also
|
|||
|
go to [http://lhd.datapower.com/] LhD Main Page and search for <20>Promise
|
|||
|
FastTrack<63>.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://people.redhat.com/arjanv/pdcraid/ataraidhowto.html] ATA RAID help
|
|||
|
document by RedHat, Inc. You can also join their [https://
|
|||
|
listman.redhat.com/mailman/listinfo/ataraid-list] ataraid mailing list,
|
|||
|
or atleast search [https://listman.redhat.com/pipermail/ataraid-list/]
|
|||
|
the mailing list archive.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Promise Technology's support web site at [http://support.promise.com/]
|
|||
|
http://support.promise.com. Also check out [http://www.promise.com/
|
|||
|
support/linux_eng.asp] this page.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Promise FastTrack help for Linux Mandrake is available at [http://
|
|||
|
www.magic-lamp.org/] http://www.magic-lamp.org.
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
A. How is this document generated
|
|||
|
|
|||
|
So you want to know how I generated this HOWTO? Or, did you download SGML
|
|||
|
version of this document, modified some portions in it and now want to know
|
|||
|
how you can create HOWTO?
|
|||
|
|
|||
|
I made sure there are no errors in my SGML by first typing the command nsgmls
|
|||
|
-s ataraid.sgml. I created a script called makehowto and ran the command ./
|
|||
|
makehowto ataraid.sgml. Here is the my makehowto script:
|
|||
|
|
|||
|
+--------------------------------------------------------------------------------+
|
|||
|
|#!/bin/bash |
|
|||
|
|# |
|
|||
|
|# makehowto by Murty Rompalli |
|
|||
|
|# (c) All Rights Reserved |
|
|||
|
|# Free for non commercial use. All other uses must be authorized explicitly |
|
|||
|
|# by the creator. Contact me for more info. murty@solar.m u r t y.net |
|
|||
|
|# |
|
|||
|
| |
|
|||
|
|function maketut() { |
|
|||
|
|echo;echo Creating Tutorial Files ... |
|
|||
|
|jade \ |
|
|||
|
| -t sgml \ |
|
|||
|
| -d /usr/lib/sgml/stylesheets/nwalsh-modular/html/ldp.dsl\#html \ |
|
|||
|
| $1.sgml |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function makehtml { |
|
|||
|
|echo;echo Creating html file: $1.html ... |
|
|||
|
|jade \ |
|
|||
|
| -t sgml \ |
|
|||
|
| -d /usr/lib/sgml/stylesheets/nwalsh-modular/html/docbook.dsl \ |
|
|||
|
| -V nochunks \ |
|
|||
|
| $1.sgml > $1.html |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function maketxt { |
|
|||
|
| if [ -f $1.html ] |
|
|||
|
| then |
|
|||
|
| echo;echo Creating text file: $1.txt ... |
|
|||
|
| lynx -dump $1.html > $1.txt |
|
|||
|
| else |
|
|||
|
| echo;echo $1.html not found, creating ... |
|
|||
|
| makehtml $1 |
|
|||
|
| maketxt $1 |
|
|||
|
| fi |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function makepdf { |
|
|||
|
| [ -f $1.ps ] && gzip $1.ps |
|
|||
|
| |
|
|||
|
| if [ -f $1.ps.gz ] |
|
|||
|
| then |
|
|||
|
| echo;echo Creating pdf file: $1.pdf ... |
|
|||
|
| gzip -dc $1.ps.gz | |
|
|||
|
| gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$1.pdf - |
|
|||
|
| else |
|
|||
|
| echo;echo $1.ps.gz not found creating ... |
|
|||
|
| makeps $1 |
|
|||
|
| makepdf $1 |
|
|||
|
| fi |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function maketex { |
|
|||
|
|echo;echo Creating TeX file $1.tex ... |
|
|||
|
|jade \ |
|
|||
|
| -t tex \ |
|
|||
|
| -d /usr/lib/sgml/stylesheets/cygnus-both.dsl\#print \ |
|
|||
|
| $1.sgml |
|
|||
|
|gzip $1.tex |
|
|||
|
|echo $1.tex gzipped to $1.tex.gz |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function makedvi { |
|
|||
|
|echo;echo Creating DVI file $1.dvi ... |
|
|||
|
|db2dvi $1.sgml >/dev/null 2>&1 |
|
|||
|
|echo See $1.log for errors |
|
|||
|
|gzip $1.dvi |
|
|||
|
|echo $1.dvi gzipped to $1.dvi.gz |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|function makeps { |
|
|||
|
|echo;echo Creating PS file $1.ps ... |
|
|||
|
|db2ps $1.sgml >/dev/null 2>&1 |
|
|||
|
|echo See $1.log for errors |
|
|||
|
|gzip $1.ps |
|
|||
|
|echo $1.ps gzipped to $1.ps.gz |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|#### Begin Main Program |
|
|||
|
| |
|
|||
|
|echo " |
|
|||
|
|makehowto utility for generating HOWTO from SGML file. |
|
|||
|
|(c) Murty Rompalli |
|
|||
|
|" |
|
|||
|
| |
|
|||
|
|[ x$1 = x ] && |
|
|||
|
|echo "Error. Usage: $0 abc.sgml '{tut|html|pdf|tex|dvi|ps|all}' |
|
|||
|
| |
|
|||
|
|Option 'all' is default if sgml file is the only option supplied. |
|
|||
|
| |
|
|||
|
|Options: |
|
|||
|
|------- |
|
|||
|
|tut Make complete tutorial, i.e., generate necessary html files |
|
|||
|
|html Make a printable single HTML file |
|
|||
|
|pdf Make a PDF file |
|
|||
|
|tex Make a TeX source file, gzipped |
|
|||
|
|dvi Make a DVI file, gzipped |
|
|||
|
|ps Make a PostScript file, gzipped |
|
|||
|
|all Generate all possible formats. |
|
|||
|
| |
|
|||
|
|" && exit |
|
|||
|
| |
|
|||
|
|file="`echo $1|sed 's/\.sgml$//'`" |
|
|||
|
| |
|
|||
|
|[ x$file = x ] && |
|
|||
|
|echo Error. Usage: $0 abc.sgml '{tut|html|tex|dvi|ps|all}' && exit |
|
|||
|
| |
|
|||
|
|[ -f $file.sgml ] || { |
|
|||
|
|echo Error. $file.sgml does not exist |
|
|||
|
|exit |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
|[ -r $file.sgml ] || { |
|
|||
|
|echo Error. $file.sgml not readable |
|
|||
|
|exit |
|
|||
|
|} |
|
|||
|
| |
|
|||
|
| |
|
|||
|
|if [ x$2 = x ] |
|
|||
|
|then |
|
|||
|
| action=all |
|
|||
|
|else |
|
|||
|
| action=$2 |
|
|||
|
|fi |
|
|||
|
| |
|
|||
|
| |
|
|||
|
|case $action in |
|
|||
|
|tut|tutorial) maketut $file |
|
|||
|
| ;; |
|
|||
|
|html|htm) makehtml $file |
|
|||
|
| ;; |
|
|||
|
|tex|latex) maketex $file |
|
|||
|
| ;; |
|
|||
|
|dvi) makedvi $file |
|
|||
|
| ;; |
|
|||
|
|ps) makeps $file |
|
|||
|
| ;; |
|
|||
|
|text|txt) maketxt $file |
|
|||
|
| ;; |
|
|||
|
|pdf) makepdf $file |
|
|||
|
| ;; |
|
|||
|
|all) maketut $file |
|
|||
|
| makehtml $file |
|
|||
|
| maketex $file |
|
|||
|
| makedvi $file |
|
|||
|
| makeps $file |
|
|||
|
| maketxt $file |
|
|||
|
| makepdf $file |
|
|||
|
| ;; |
|
|||
|
|*) echo error |
|
|||
|
| ;; |
|
|||
|
|esac |
|
|||
|
| |
|
|||
|
|\rm -f $file.aux |
|
|||
|
|\rm -f $file.tex |
|
|||
|
|\rm -f $file.dvi |
|
|||
|
| |
|
|||
|
|echo;echo makehowto: Finished |
|
|||
|
|echo You can review $file.log and delete it. |
|
|||
|
|echo Thank you for using makehowto. |
|
|||
|
|echo |
|
|||
|
+--------------------------------------------------------------------------------+
|
|||
|
|
|||
|
You can also just type ./makehowto ataraid.sgml pdf, for example, if you just
|
|||
|
want create PDF version. Just type ./makehowto to get more help on using the
|
|||
|
script. [files/makehowto] Click here to download this makehowto script.
|