Differences between version 3 and predecessor to the previous major change of HowToBootRootRaidLILO.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:15:23 pm | by AristotlePagaltzis | Revert |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:06:18 am | by perry | Revert |
@@ -1,1319 +1 @@
-
-
-
-Boot + Root + Raid + Lilo : Software Raid mini-HOWTO
-
-
-
-----
-
-!!!Boot + Root + Raid + Lilo : Software Raid mini-HOWTO
-
-!!Michael Robinton,
-Michael@!BizSystems.comv1.04, July 20, 2000
-
-
-----
-''This document provides a cookbook for setting up root raid using the
-.90 raidtools for bootable raid mounted on root using standard LILO.
-Also covered is the conversion of a conventional disk to a raid1 or raid5
-mirror set without the loss of data on the original disk.''
-----
-
-
-
-
-!!1. Introduction
-
-
-*1.1 Acknowledgements
-
-*1.2 Bugs
-
-*1.3 Copyright Notice
-
-
-
-
-
-!!2. What you need BEFORE YOU START
-
-
-*2.1 Required Packages
-
-*2.2 Where to get Up-to-date copies of this document.
-
-*2.3 Documentation -- Recommended Reading
-
-*2.4 RAID resources
-
-
-
-
-
-!!3. Bootable Raid
-
-
-*3.1 Booting RAID 1 with standard LILO
-
-*3.2 Detailed explaination of lilo.conf for raid boot
-
-
-
-
-
-!!4. Upgrading from non-raid to RAID1/4/5
-
-
-*4.1 Step 1 - prepare a new kernel
-
-*4.2 Step 2 - set up raidtab for your new raid.
-
-*4.3 Create, format, and configure RAID
-
-*4.4 Copy the current OS to the new raid device
-
-*4.5 Test your new RAID
-
-*4.6 Integrate old disk into raid array
-
-
-
-
-
-!!5. Appendix A. - example raidtab
-
-
-
-
-!!6. Appendix B. - SCSI reference implementation RAID5
-
-
-
-
-!!7. Appendix C. - ide RAID10 with initrd
-
-
-
-
-!!8. Appendix D. - ide RAID1-10 with initrd
-----
-
-!!1. Introduction
-
-
-
-
-!!1.1 Acknowledgements
-
-
-
-The essence of the information I've put together
here was originally provided by
-Harald Nordgård-Hansen <
-hnh@bukharin.hiof.no> and posted to the raid
-mail list in a lilo.conf file with commentary by Martin Bene <
-mb@sime.com>. Many thanks for your contribution. I've tried to
-put this information and the helpful work of many others who contribute to
-the raid mail list and linux raid project into a __COOKBOOK__ form,
-including many examples from real systems so that bootable
-root raid is easy to set up and understand. One section is devoted to the
-conversion of a standard single drive system to RAID. The key to the
-conversion, in my humble opinion, is the understanding of bootable root
-raid.
-
-
-
-
-!!1.2 Bugs
-
-
-
-Yes, I'm sure there are some. If you'd be good enough to report them, I will
-correct the document. ;-)
-
-
-
-
-!!1.3 Copyright Notice
-
-
-
-This document is GNU copyleft by Michael Robinton
-Michael@!BizSystems.com.
-
-
-Permission to use, copy, distribute this document for any
-purpose is hereby granted, provided that the author's / editor's
-name and this notice appear in all copies and/or supporting
-documents; and that an unmodified version of this document is
-made freely available. This document is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY, either
-expressed or implied. While every effort has been taken to
-ensure the accuracy of the information documented herein, the
-author / editor / maintainer assumes NO RESPONSIBILITY for any
-errors, or for any damages, direct or consequential, as a result
-of the use of the information documented herein.
-
-
-
-
-
-
-----
-
-!!2. What you need BEFORE YOU START
-
-
-The packages you need and the documentation that answers the most common
-questions about setting up and running raid are listed below. Please review
-them throughly.
-
-
-
-
-!!2.1 Required Packages
-
-
-
-You need to obtain the most recent versions of these packages.
-
-
-*a linux kernel that supports raid, initrd
-
-I used
-linux-2.2.14
-from kernel.org
-
-
-*
-
-*
-ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/
-the most recent tools and patch that adds support for modern raid1/4/5
-
-I used
-http://people.redhat.com/mingo/raid-patches/
-
-*
-
-
-
-
-
-!!2.2 Where to get Up-to-date copies of this document.
-
-
-
-Click here to browse the
-author's latest version of
-this document. Corrections and suggestions welcome!
-
-
-Boot Root Raid + LILO HOWTO
-
-
-Available in LaTeX (for DVI and !PostScript), plain text, and HTML.
-
- http://www.linuxdoc.org/HOWTO/Boot+Root+Raid+LILO.html
-Available in SGML and HTML.
-
-ftp.bizsystems.net/pub/raid/
-
-
-
-
-!!2.3 Documentation -- Recommended Reading
-
-
-
-__If you plan on using raid1/5 over raid0, please read:__
-
-__/usr/src/linux/Documentation/initrd.txt__
-
-
-
-
-
-
-as well as the documentation and man pages that accompany
-the raidtools set.
-
-
-
-
-
-and.....
-Software-RAID-HOWTO.html
-
-
-
-!!2.4 RAID resources
-
-
-
-Mailing lists can be joined at:
-
-
-*This one seems quiet:
-majordomo@nuclecu.unam.mx'' send a message to''
-__subscribe raiddev__
-
-send mail to:
-raiddev@nuclecu.unam.mx
-
-
-
-*
-
-*Raid development:
-majordomo@vger.rutgers.edu'' send a message to''
-__subscribe linux-raid__
-
-send mail to:
-linux-raid@vger.rutgers.edu
-''(this seems to be the most active list)''
-
-*
-
-
-
-
-
-
-
-----
-
-!!3. Bootable Raid
-
-
-I'm not going to cover the fundamentals of setting up raid0/1/5 on
-Linux, that is covered in detail elsewhere. The problem I will address is
-setting up raid on root and making it bootable with __standard__ LILO. The
-documentation that comes with the LILO sources (not the man pages) and with
-the raidtools-.90, covers the details of booting and boot parameters as
-well as general raid setup - respectively.
-
-
-
-
-
-There are two scenarios which are covered here. Set up of bootable root raid
-and the conversion of an existing non-raid system to bootable root raid
-without data loss.
-
-
-
-
-!!3.1 Booting RAID 1 with standard LILO
-
-
-
-To make the boot information redundant and easy to maintain, set up a small
-RAID1 and mount it on the __/boot__ directory of your
-system disk. LILO does not know about device 0x9?? and can not find the
-information at boot time because the raid sub system is not active
-then. As a simple work around, you can pass LILO the geometry information of
-the drive(s) and from that, LILO can determine the position of the information
-needed to load the kernel even though it is on the RAID1 partition. This is
-because the RAID1 partition is the same as a standard partition but with a
-raid super-block written at the end. The boot raid set should fall with
-the first 1024
-mbytes of the disk drive. In theory the start of the raid partition could
-fall anywhere in the 1024 megs, but in practice I was unable to get it to
-work unless the boot-raid started at the first block of the set. This is
-probably because of something dumb that I did, but it was not worth
-following up at the time. Since then I've simply set up all my systems with
-the boot-raid set as the first partition. I have root raid system configurations
-with bootable RAID1 mounted on __/boot__ with root raid sets as
-follows: RAID1, RAID5, RAID10 & RAID1-10 ( 1 mirror + 1 raid0 set).
-The last has a very peculiar lilo file pair since none of the disk geometries
-are the same, however, the principals are the same for the initial boot
-process. The RAID10 and RAID1-10 root mounts require the use of
-''initrd'' to mount root after the boot process has taken place.
-See the appendices for the configuration files for all of these example
-systems.
-
-
-
-
-
-A conventional LILO config file stripped down looks like this:
-
-
-
-
-# lilo.conf - assumes drive less than 1024
-boot = /dev/hda
-delay = 40 # extra, but nice
-vga = normal # not normally needed
-image = /bzImage
-root = /dev/hda1
-read-only
-label = Linux
-
-
-
-
-
-
-A raid LILO config file pair would look like this:
-
-
-
-
-# lilo.conf.hda - primary ide master
-disk=/dev/md0
-bios=0x80
-sectors=63
-heads=16
-cylinders=39770
-partition=/dev/md1
-start=63
-boot=/dev/hda
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-read-only
-label=!LinuxRaid
-# ---------------------
-# lilo.conf.hdc - secondary ide master
-disk=/dev/md0
-bios=0x80 # see note below
-sectors=63
-heads=16
-cylinders=39770
-partition=/dev/md1
-start=63
-boot=/dev/hdc # this is the other disk
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-read-only
-label=!LinuxRaid
-
-
-
-# BIOS=line -- if your bios is smart enough (most are not) to detect that
-that the first disk is missing or failed and will automatically boot from the second disk,
-then __bios=81__ would be the appropriate entry here. This is more
-common with SCSI bios than IDE bios. I simply plan on relocating the drive
-so it will replace the dead drive C: in the event of failure of the primary
-boot drive.
-
-
-
-
-
-The geometry information for the drive can be obtained from fdisk with the
-command:
-
-
-
-
-fdisk -ul (little L)
-fdisk -ul /dev/hda
-Disk /dev/hda: 16 heads, 63 sectors, 39770 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hda1 63 33263 16600+ fd Linux raid autodetect
-/dev/hda2 33264 443519 205128 82 Linux swap
-/dev/hda3 443520 40088159 19822320 fd Linux raid autodetect
-* note the listing of the START of each partition
-
-
-
-
-
-!!3.2 Detailed explaination of lilo.conf for raid boot
-
-
-
-The raid lilo.conf file above, commented in detail for each entry.
-
-
-
-
-# lilo.conf.hda - primary ide master
-# the location of the /boot directory that will be
-# designated below as containing the kernel, map, etc...
-# note that this is NOT the actual partition containing
-# the boot image and info, but rather the device
-# that logically contains this directory.
-# in this example, /dev/md1 is mounted on /dev/md0/boot
-disk=/dev/md0
-# tell LILO which bios device to use for boot, i.e. C: drive
-bios=0x80
-# tell LILO the geometry of the device
-# this is usually but not always the "logical"
-# geometry. Check the /proc file system or watch
-# the boot messages when the kernel probes for the drive
-#
-sectors=63
-heads=16
-cylinders=39770
-# this is a dummy entry to make LILO happy so it
-# will recognize the raid set 0x9?? and then find
-# the START of the boot sector. To really see
-# what this was for, read the documentation
-# that comes with the LILO source distribution.
-# This parameter "must" be different than the
-# disk= entry above. It can be any other mdx
-# device, used or unused and need not be the one
-# that contains the /boot information
-#
-partition=/dev/md1
-# the first sector of the partition containing /boot information
-start=63
-# the real device that LILO will write the boot information to
-boot=/dev/hda
-# logically where LILO will put the boot information
-map=/boot/map
-install=/boot/boot.b
-# logically where lilo will find the kernel image
-image=/boot/bzImage
-# standard stuff after this
-# root may be a raid1/4/5 device
-root=/dev/md0
-read-only
-label=!LinuxRaid
-
-
-
-
-----
-
-!!4. Upgrading from non-raid to RAID1/4/5
-
-
-Upgrading a non-raid system to raid is fairly easy and consists
-of several discrete steps described below. The description is for a system
-with a boot partition, root partition and swap partition.
-
-OLD disk in the existing system:
-/dev/hda1 boot, may be dos+lodlin or lilo
-/dev/hda2 root
-/dev/hda3 swap
-
-We will add an additional disk and convert the entire system to RAID1. You
-could easily add several disks and make a RAID5 set instead using the same
-procedure.
-
-
-
-
-!!4.1 Step 1 - prepare a new kernel
-
-
-
-Download a clean kernel, raidtools-.90 (or the most recent version), and
-the kernel patch to upgrade the kernel to .90 raid.
-
-
-Compile and install the raidtools and READ the documentation.
-
-
-Compile and install the
-kernel to support all the flavors (/1/4/5 ?) of raid that you will be using.
-Make sure to specify autostart of raid devices in the kernel configuration.
-Test that the kernel boots properly and examine /proc/mdstat to see
-that the raid flavors you will use are supported by the new kernel.
-
-
-
-
-!!4.2 Step 2 - set up raidtab for your new raid.
-
-
-
-The new disk will be added to an additional IDE controller as the master
-device, thus becomming /dev/hdc
-
-
-
-
-/dev/hdc1 16megs -- more than enough for several kernel images
-/dev/hdc2 most of the disk
-/dev/hdc3 some more swap space, if needed. otherwise add to hdc2
-
-
-
-Change the partition types for /dev/hdc1 and /dev/hdc2 to "fd" for
-raid-autostart.
-
-
-Using the __failed-disk__ parameter, create a raidtab for
-the desired RAID1 configuration. The failed disk must be the last
-entry in the table.
-
-
-
-
-# example raidtab
-# md0 is the root array
-raiddev /dev/md0
-raid-level 1
-nr-raid-disks 2
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-persistent-superblock 1
-device /dev/hdc2
-raid-disk
-# this is our old disk, mark as failed for now
-device /dev/hda2
-failed-disk 1
-# md1 is the /boot array
-raiddev /dev/md1
-raid-level 1
-nr-raid-disks 2
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-persistent-superblock 1
-device /dev/hdc1
-raid-disk
-# boot is marked failed as well
-device /dev/hda1
-failed-disk 1
-
-
-
-
-
-!!4.3 Create, format, and configure RAID
-
-
-
-Create the md devices with the commands:
-
-mkraid /dev/md0
-mkraid /dev/md1
-
-
-
-The raid devices should be created and start. Examination of /proc/mdstat
-should show the raid personalities in the kernel and the raid devices
-running.
-
-
-Format the boot and root devices with:
-
-mke2fs /dev/md0
-mke2fs /dev/md1
-
-Mount the new root device somewhere handy and create the /boot directory and
-mount the boot partition.
-
-mount /dev/md0 /mnt
-mkdir /mnt/boot
-mount /dev/md1 /mnt/boot
-
-
-
-
-
-!!4.4 Copy the current OS to the new raid device
-
-
-
-This is pretty straightforward.
-
-cd /
-# set up a batch file to do this
-cp -a /bin /mnt
-cp -a /dev /mnt
-cp -a /etc /mnt
-cp -a (all directories except /mnt, /proc, and nsf mounts) /mnt
-
-This operation can be tricky if you have mounted or linked other disks to
-your root file system. The example above assumes a very simple system, you
-may have to modify the procedure somewhat.
-
-
-
-
-!!4.5 Test your new RAID
-
-
-
-Make a boot floppy and rdev the kernel.
-
-
-
-
-dd if=kernal.image of=/dev/fd0 bs=2k
-rdev /dev/fd0 /dev/md0
-rdev -r /dev/fd0
-rdev -R /dev/fd0 1
-
-
-
-Modify the fstab on the RAID device to reflect the new mount points as
-follows:
-
-/dev/md0 / ext2 defaults 1 1
-/dev/md1 /boot ext2 defaults 1 1
-
-
-
-Dismount the raid devices and boot the new file system to see that all works
-correctly.
-
-
-
-
-umount /mnt/boot
-umount /mnt
-raidstop /dev/md0
-raidstop /dev/md1
-shutdown -r now
-
-
-
-Your RAID system should now be up and running in degraded mode with a floppy
-boot disk. Carefully check that you transferred everything to the new raid
-system. If you mess up here without a backup, YOU ARE DEAD!
-
-
-If something did not work, reboot your old system and go back and fix things
-up until you successfully complete this step.
-
-
-
-
-!!4.6 Integrate old disk into raid array
-
-
-
-Success in the previous step means that the raid array is now operational,
-but without redundancy. We must now re-partition the old drive(s) to fit
-into the new raid array. Remember that if the geometries are not the same,
-the the partition size on the old drive must be the same or larger than the
-raid partitions or they can not be added to the raid set.
-
-
-Re-partition the old drive as required. Example:
-
-/dev/hda1 same or larger than /dev/hdc1
-/dev/hda2 same or larger than /dev/hdc2
-/dev/hda3 anything left over for swap or whatever...
-
-
-
-Change the __failed-disk__ parameter in the raidtab to __raid-disk__ and
-hot add the new (old) disk partitions to the raid array.
-
-raidhotadd /dev/md1 /dev/hda1
-raidhotadd /dev/md0 /dev/hda2
-
-Examining /proc/mdstat should show one or more of the raid devices
-reconstructing the data for the new partitions. After a minute or two...
-or so, the raid arrays should be fully synchronized
-(this could take a while for a large
-partition).
-
-
-
-
-
-Using the procedure described in the first sections of this document, set up
-bootable raid on the new raid pair. Hang on to that boot floppy while
-setting up and testing this last step.
-
-
-
-----
-
-!!5. Appendix A. - example raidtab
-
-
-RAID1 example described in the first sections of this document
-
-
-
-
-df
-Filesystem 1k-blocks Used Available Use% Mounted on
-/dev/md0 19510780 1763188 16756484 10% /
-/dev/md1 15860 984 14051 7% /boot
-# --------------------------
-fdisk -ul /dev/hda
-Disk /dev/hda: 16 heads, 63 sectors, 39770 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hda1 63 33263 16600+ fd Linux raid autodetect
-/dev/hda2 33264 443519 205128 83 Linux native
-/dev/hda3 443520 40088159 19822320 fd Linux raid autodetect
-# --------------------------
-fdisk -ul /dev/hdc
-Disk /dev/hdc: 16 heads, 63 sectors, 39770 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdc1 63 33263 16600+ fd Linux raid autodetect
-/dev/hdc2 33264 443519 205128 82 Linux swap
-/dev/hdc3 443520 40088159 19822320 fd Linux raid autodetect
-# --------------------------
-# md0 is the root array, about 20 gigs
-raiddev /dev/md0
-raid-level 1
-nr-raid-disks 2
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-persistent-superblock 1
-device /dev/hda3
-raid-disk
-device /dev/hdc3
-raid-disk 1
-# md1 is the /boot array, about 16 megs
-raiddev /dev/md1
-raid-level 1
-nr-raid-disks 2
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-persistent-superblock 1
-device /dev/hda1
-raid-disk
-device /dev/hdc1
-raid-disk 1
-# --------------------------
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md0
-# geometry
-bios=0x80
-sectors=63
-heads=16
-cylinders=39770
-# dummy
-partition=/dev/md1
-# start of device "disk" above
-start=63
-boot=/dev/hda
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-label=!LinuxRaid
-read-only
-# -------------------------
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md0
-# geometry
-bios=0x80
-sectors=63
-heads=16
-cylinders=39770
-# dummy
-partition=/dev/md1
-# start of device "disk" above
-start=63
-boot=/dev/hdc
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-label=!LinuxRaid
-read-only
-
-
-
-
-----
-
-!!6. Appendix B. - SCSI reference implementation RAID5
-
-
-4 disk SCSI RAID5
-
-df
-Filesystem 1k-blocks Used Available Use% Mounted on
-/dev/md0 11753770 2146076 9000678 19% /
-/dev/md1 15739 885 14042 6% /boot
-# --------------------------
-fdisk -ul /dev/sda
-Disk /dev/sda: 64 heads, 32 sectors, 4095 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/sda1 32 32767 16368 fd Linux raid autodetect
-/dev/sda2 32768 292863 130048 5 Extended
-/dev/sda3 292864 8386559 4046848 fd Linux raid autodetect
-/dev/sda5 32800 260095 113648 82 Linux swap
-/dev/sda6 260128 292863 16368 83 Linux native - test
-# ------------------------
-fdisk -ul /dev/sdb
-Disk /dev/sdb: 64 heads, 32 sectors, 4095 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/sdb1 32 32767 16368 fd Linux raid autodetect
-/dev/sdb2 32768 292863 130048 5 Extended
-/dev/sdb3 292864 8386559 4046848 fd Linux raid autodetect
-/dev/sdb5 32800 260095 113648 82 Linux swap
-/dev/sdb6 260128 292863 16368 83 Linux native - test
-# ------------------------
-# fdisk -ul /dev/sdc
-Disk /dev/sdc: 64 heads, 32 sectors, 4095 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/sdc2 32 292863 146416 5 Extended
-/dev/sdc3 292864 8386559 4046848 fd Linux raid autodetect
-/dev/sdc5 64 260095 130016 83 Linux native - development
-/dev/sdc6 260128 292863 16368 83 Linux native - test
-# ------------------------
-fdisk -ul /dev/sdd
-Disk /dev/sdd: 64 heads, 32 sectors, 4095 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/sdd2 32 292863 146416 5 Extended
-/dev/sdd3 292864 8386559 4046848 fd Linux raid autodetect
-/dev/sdd5 64 260095 130016 83 Linux native - development
-/dev/sdd6 260128 292863 16368 83 Linux native - test
-# --------------------------
-# raidtab
-#
-raiddev /dev/md0
-raid-level 5
-nr-raid-disks 4
-persistent-superblock 1
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-device /dev/sda3
-raid-disk
-device /dev/sdb3
-raid-disk 1
-device /dev/sdc3
-raid-disk 2
-device /dev/sdd3
-raid-disk 3
-# boot partition
-#
-raiddev /dev/md1
-raid-level 1
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 32
-# Spare disks for hot reconstruction
-nr-spare-disks
-device /dev/sda1
-raid-disk
-device /dev/sdb1
-raid-disk 1
-# --------------------------
-# cat lilo.conf.sda
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md0
-# geometry
-bios=0x80
-sectors=32
-heads=64
-cylinders=4095
-# dummy
-partition=/dev/md1
-# start of device "disk" above
-start=32
-boot=/dev/sda
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-label=!LinuxRaid
-read-only
-# ------------------------
-# cat lilo.conf.sdb
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md0
-# geometry
-bios=0x80
-sectors=32
-heads=64
-cylinders=4095
-# dummy
-partition=/dev/md1
-# start of device "disk" above
-start=32
-boot=/dev/sdb
-map=/boot/map
-install=/boot/boot.b
-image=/boot/bzImage
-root=/dev/md0
-label=!LinuxRaid
-read-only
-
-
-
-
-----
-
-!!7. Appendix C. - ide RAID10 with initrd
-
-
-RAID1 over striped RAID0 pair.... the disks in the RAID0 sets are not
-quite the same size, but close enough.
-
-
-
-
-/dev/md0 is the /boot partition and is autostarted by the kernel
-/dev/md1 and /dev/md3 are the two RAID0 sets autostarted by the kernel
-/dev/md2 is the root partition and is started by initrd
-df
-Filesystem 1k-blocks Used Available Use% Mounted on
-/dev/md2 118531 76485 35925 68% /
-/dev/md0 1917 1361 457 75% /boot
-# ----------------------------
-fdisk -ul /dev/hda
-Disk /dev/hda: 4 heads, 46 sectors, 903 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hda1 46 4231 2093 fd Linux raid autodetect
-/dev/hda2 4232 166151 80960 fd Linux raid autodetect
-# ----------------------------
-fdisk -ul /dev/hdb
-Disk /dev/hdb: 5 heads, 17 sectors, 981 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdb1 17 83384 41684 fd Linux raid autodetect
-# ----------------------------
-fdisk -ul /dev/hdc
-Disk /dev/hdc: 7 heads, 17 sectors, 1024 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdc1 17 84013 41998+ fd Linux raid autodetect
-/dev/hdc2 84014 121855 18921 82 Linux swap
-# ----------------------------
-fdisk -ul /dev/hdd
-Disk /dev/hdd: 4 heads, 46 sectors, 903 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdd1 46 4231 2093 fd Linux raid autodetect
-/dev/hdd2 4232 166151 80960 fd Linux raid autodetect
-# ----------------------------
-# raidtab
-#
-raiddev /dev/md0
-raid-level 1
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/hda1
-raid-disk
-device /dev/hdd1
-raid-disk 1
-raiddev /dev/md1
-raid-level
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/hdd2
-raid-disk
-device /dev/hdb1
-raid-disk 1
-raiddev /dev/md2
-raid-level 1
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/md1
-raid-disk
-device /dev/md3
-raid-disk 1
-raiddev /dev/md3
-raid-level
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/hda2
-raid-disk
-device /dev/hdc1
-raid-disk 1
-# ----------------------------
-contents of linuxrc
-cat linuxrc
-#!/bin/sh
-# ver 1.02 2-22-00
-#
-############# really BEGIN 'linuxrc' ###############
-#
-# mount the proc file system
-/bin/mount /proc
-# start raid 1 made of raid 's
-/bin/raidstart /dev/md2
-# tell the console what's happening
-/bin/cat /proc/mdstat
-# Everything is fine, let the kernel mount /dev/md2
-# tell the kernel to switch to /dev/md2 as the /root device
-# The 0x900 value is the device number calculated by:
-# 256*major_device_number + minor_device number
-echo "/dev/md2 mounted on root"
-echo 0x902>/proc/sys/kernel/real-root-dev
-# umount /proc to deallocate initrd device ram space
-/bin/umount /proc
-exit
-# ----------------------------
-contents of initrd
-./bin/ash
-./bin/echo
-./bin/raidstart
-./bin/mount
-./bin/umount
-./bin/cat
-./bin/sh
-./dev/tty1
-./dev/md0
-./dev/md1
-./dev/md2
-./dev/md3
-./dev/md4
-./dev/console
-./dev/hda
-./dev/hda1
-./dev/hda2
-./dev/hda3
-./dev/hdb
-./dev/hdb1
-./dev/hdb2
-./dev/hdb3
-./dev/hdc
-./dev/hdc1
-./dev/hdc2
-./dev/hdc3
-./dev/hdd
-./dev/hdd1
-./dev/hdd2
-./dev/hdd3
-./dev/initrd
-./dev/ram0
-./dev/ram1
-./dev/ram2
-./dev/ram3
-./dev/ram4
-./dev/ram5
-./dev/ram6
-./dev/ram7
-./etc/raidtab
-./etc/fstab
-./lib/ld-2.1.2.so
-./lib/ld-linux.so.1
-./lib/ld-linux.so.1.9.9
-./lib/ld-linux.so.2
-./lib/ld.so
-./lib/libc-2.1.2.so
-./lib/libc.so.6
-./linuxrc
-./proc
-
-----
-
-!!8. Appendix D. - ide RAID1-10 with initrd
-
-
-This is a system made up of an assortment of odds and ends. The root mounted
-raid device is comprised of a RAID1 made up of one RAID0 array from odd
-sized disks and a larger regular disk partition.
-Examination of the lilo.conf files may give you better insight
-into the reasoning behind the various parameters.
-
-
-
-
-/dev/md0 is the /boot partition and is autostarted by the kernel
-/dev/md1 is one half of the mirror set for md2, autostarted by kernel
-/dev/hda3 is the other half of the mirror set for md2
-/dev/md2 is the RAID1 /dev/md1 + /dev/hda3, started by initrd
-df
-Filesystem 1k-blocks Used Available Use% Mounted on
-/dev/md2 138381 74421 56815 57% /
-/dev/md0 2011 1360 549 71% /boot
-# ----------------------------
-fdisk -ul /dev/hda
-Disk /dev/hda: 8 heads, 46 sectors, 903 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hda1 46 4415 2185 fd Linux raid autodetect
-/dev/hda2 4416 43423 19504 82 Linux swap
-/dev/hda3 43424 332303 144440 83 Linux native
-# ----------------------------
-fdisk -ul /dev/hdc
-Disk /dev/hdc: 8 heads, 39 sectors, 762 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdc1 39 4367 2164+ fd Linux raid autodetect
-/dev/hdc2 4368 70199 32916 82 Linux swap
-/dev/hdc3 70200 237743 83772 fd Linux raid autodetect
-# ----------------------------
-fdisk -ul /dev/hdd
-Disk /dev/hdd: 4 heads, 39 sectors, 762 cylinders
-Units = sectors of 1 * 512 bytes
-Device Boot Start End Blocks Id System
-/dev/hdd1 39 118871 59416+ fd Linux raid autodetect
-# ----------------------------
-# raidtab
-#
-raiddev /dev/md0
-raid-level 1
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/hdc1
-raid-disk 1
-device /dev/hda1
-raid-disk
-raiddev /dev/md1
-raid-level
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/hdc3
-raid-disk
-device /dev/hdd1
-raid-disk 1
-raiddev /dev/md2
-raid-level 1
-nr-raid-disks 2
-persistent-superblock 1
-chunk-size 8
-device /dev/md1
-raid-disk 1
-device /dev/hda3
-raid-disk
-# ----------------------------
-cat linuxrc
-#!/bin/sh
-# ver 1.02 2-22-00
-#
-############# really BEGIN 'linuxrc' ###############
-#
-# mount the proc file system
-/bin/mount /proc
-# autostart /boot partition and raid0
-/bin/raidstart /dev/md2
-# tell the console what's happening
-/bin/cat /proc/mdstat
-# Everything is fine, let the kernel mount /dev/md2
-# tell the kernel to switch to /dev/md2 as the /root device
-# The 0x900 value is the device number calculated by:
-# 256*major_device_number + minor_device number
-echo "/dev/md2 mounted on root"
-echo 0x902>/proc/sys/kernel/real-root-dev
-# umount /proc to deallocate initrd device ram space
-/bin/umount /proc
-exit
-# ----------------------------
-contents of initrd.gz
-./bin
-./bin/ash
-./bin/echo
-./bin/raidstart
-./bin/mount
-./bin/umount
-./bin/cat
-./bin/sh
-./dev/tty1
-./dev/md0
-./dev/md1
-./dev/md2
-./dev/md3
-./dev/console
-./dev/hda
-./dev/hda1
-./dev/hda2
-./dev/hda3
-./dev/hdc
-./dev/hdc1
-./dev/hdc2
-./dev/hdc3
-./dev/hdd
-./dev/hdd1
-./dev/hdd2
-./dev/hdd3
-./dev/initrd
-./dev/ram0
-./dev/ram1
-./dev/ram2
-./dev/ram3
-./dev/ram4
-./dev/ram5
-./dev/ram6
-./dev/ram7
-./etc/raidtab
-./etc/fstab
-./lib/ld-2.1.2.so
-./lib/ld-linux.so.1
-./lib/ld-linux.so.1.9.9
-./lib/ld-linux.so.2
-./lib/ld.so
-./lib/libc-2.1.2.so
-./lib/libc.so.6
-./linuxrc
-./proc
-# ----------------------------
-cat lilo.conf.hda
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md2
-# geometry
-bios=0x80
-cylinders=903
-heads=8
-sectors=46
-# geometry for 2nd disk
-# bios will be the same because it will have to be moved to hda
-# cylinders=762
-# heads=8
-# sectors=39
-# dummy
-partition=/dev/md0
-# start of device "disk" above
-start=46
-# second device
-# start=39
-# seem to have some trouble with 2.2.14 recognizing the right IRQ
-append = "ide1=0x170,0x376,12 ether=10,0x300,eth0 ether=5,0x320,eth1"
-boot=/dev/hda
-map=/boot/map
-install=/boot/boot.b
-initrd=/boot/initrd.gz
-image=/boot/zImage
-root=/dev/md2
-label=!LinuxRaid
-read-only
-# ----------------------------
-cat lilo.conf.hdc
-# GLOBAL SECTION
-# device containing /boot directory
-disk=/dev/md2
-# geometry
-bios=0x80
-# cylinders=903
-# heads=8
-# sectors=46
-# geometry for 2nd disk
-# bios will be the same because it will have to be moved to hda
-cylinders=762
-heads=8
-sectors=39
-# dummy
-partition=/dev/md0
-# start of device "disk" above
-# start=46
-# second device
-start=39
-# seem to have some trouble with 2.2.14 recognizing the right IRQ
-append = "ide1=0x170,0x376,12 ether=10,0x300,eth0 ether=5,0x320,eth1"
-boot=/dev/hdc
-map=/boot/map
-install=/boot/boot.b
-initrd=/boot/initrd
.gz
-image=/boot/zImage
-root=/dev/md2
-label=!LinuxRaid
-read-only
-
-----
+Describe [HowToBootRootRaidLILO]
here.