summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Agnoletti <klaus@xenux.dk>2002-08-14 14:00:44 +0000
committerKlaus Agnoletti <klaus@xenux.dk>2002-08-14 14:00:44 +0000
commitc53cabc164561b51e581ba1fe5a37b2f139109a4 (patch)
tree49da60c6cfd43de94739855e70d9cc8545342383
parenta8bfdb4c465dc56e363e4be62fdf1c79669d4ee7 (diff)
* Files added for fully automated creation of RAID system. These files should be copied to /etc (except maybe mkraid.sh) to a Debian system with RAID kernel support and raidtools2 package installed. The source harddrive MUST be /dev/hdb and the two RAID-1 drives MUST be /dev/hda and /dev/hdc. The two RAID harddrives MUST be partitioned like this : /dev/hda1 and /dev/hdc1 MUST be swap (type 82). /dev/hda2 and /dev/hdc2 MUST both de raid-autodetect (type fd).
After this is done, just run mkraidfs.sh and sit back and play a game or two on you PDA if you have one :-). Mail me for questions.
-rw-r--r--fstab.raid16
-rw-r--r--lilo.conf.raid127
-rwxr-xr-xmkraid.sh33
-rw-r--r--raidtab19
4 files changed, 195 insertions, 0 deletions
diff --git a/fstab.raid b/fstab.raid
new file mode 100644
index 0000000..c785053
--- /dev/null
+++ b/fstab.raid
@@ -0,0 +1,16 @@
+# This goes with mkraid.sh and should be placed in /etc of the harddisc used to create the RAID system.
+#
+# The two harddrives used for the RAID should be partitioned as follows : first partition should be a primary swap partition.
+# The second partition should also be primary and take up the rest of the harddrive. Partitiontype must be fd (RAID autodetect)
+#
+# Questions goes out to Klaus Agnoletti - klaus@xenux.dk
+#
+# /etc/fstab: static file system information.
+#
+# <file system> <mount point> <type> <options> <dump> <pass>
+/dev/md0 / ext3 defaults,errors=remount-ro 0 0
+/dev/hda1 none swap sw 0 0
+/dev/hdc1 none swap sw 0 0
+proc /proc proc defaults 0 0
+/dev/fd0 /floppy auto defaults,user,noauto 0 0
+/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto 0 0
diff --git a/lilo.conf.raid b/lilo.conf.raid
new file mode 100644
index 0000000..463cd15
--- /dev/null
+++ b/lilo.conf.raid
@@ -0,0 +1,127 @@
+# This goes with mkraid.sh and should be placed in /etc of the harddisc used to create the RAID system.
+#
+# The two harddrives used for the RAID should be partitioned as follows : first partition should be a primary swap partition.
+# The second partition should also be primary and take up the rest of the harddrive. Partitiontype must be fd (RAID autodetect)
+# Questions goes out to Klaus Agnoletti - klaus@xenux.dk
+
+# /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)',
+# --------------- `install-mbr(8)', `/usr/share/doc/lilo/',
+# and `/usr/share/doc/mbr/'.
+
+# +---------------------------------------------------------------+
+# | !! Reminder !! |
+# | |
+# | Don't forget to run `lilo' after you make changes to this |
+# | conffile, `/boot/bootmess.txt', or install a new kernel. The |
+# | computer will most likely fail to boot if a kernel-image |
+# | post-install script or you don't remember to run `lilo'. |
+# | |
+# +---------------------------------------------------------------+
+
+# Support LBA for large hard disks.
+#
+lba32
+
+# Specifies the boot device. This is where Lilo installs its boot
+# block. It can be either a partition, or the raw device, in which
+# case it installs in the MBR, and will overwrite the current MBR.
+#
+boot=/dev/md0
+
+# Specifies the device that should be mounted as root. (`/')
+#
+root=/dev/md0
+raid-extra-boot=auto
+
+# Enable map compaction:
+# Tries to merge read requests for adjacent sectors into a single
+# read request. This drastically reduces load time and keeps the
+# map smaller. Using `compact' is especially recommended when
+# booting from a floppy disk. It is disabled here by default
+# because it doesn't always work.
+#
+# compact
+
+# Installs the specified file as the new boot sector
+#
+install=/boot/boot.b
+
+# Specifies the location of the map file
+#
+map=/boot/map
+
+# You can set a password here, and uncomment the `restricted' lines
+# in the image definitions below to make it so that a password must
+# be typed to boot anything but a default configuration. If a
+# command line is given, other than one specified by an `append'
+# statement in `lilo.conf', the password will be required, but a
+# standard default boot will not require one.
+#
+# This will, for instance, prevent anyone with access to the
+# console from booting with something like `Linux init=/bin/sh',
+# and thus becoming `root' without proper authorization.
+#
+# Note that if you really need this type of security, you will
+# likely also want to use `install-mbr' to reconfigure the MBR
+# program, as well as set up your BIOS to disallow booting from
+# removable disk or CD-ROM, then put a password on getting into the
+# BIOS configuration as well. Please RTFM `install-mbr(8)'.
+#
+# password=tatercounter2000
+
+# Specifies the number of deciseconds (0.1 seconds) LILO should
+# wait before booting the first image.
+#
+delay=20
+
+# You can put a customized boot message up if you like. If you use
+# `prompt', and this computer may need to reboot unattended, you
+# must specify a `timeout', or it will sit there forever waiting
+# for a keypress. `single-key' goes with the `alias' lines in the
+# `image' configurations below. eg: You can press `1' to boot
+# `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'.
+#
+# message=/boot/bootmess.txt
+# prompt
+# single-key
+# delay=100
+# timeout=100
+
+# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
+#
+# vga=ask
+# vga=9
+#
+vga=normal
+
+# Kernel command line options that apply to all installed images go
+# here. See: The `boot-prompt-HOWO' and `kernel-parameters.txt' in
+# the Linux kernel `Documentation' directory.
+#
+# append=""
+
+# Boot up Linux by default.
+#
+default=Linux
+
+image=/vmlinuz
+ label=Linux
+ read-only
+# restricted
+# alias=1
+
+image=/vmlinuz.old
+ label=LinuxOLD
+ read-only
+ optional
+# restricted
+# alias=2
+
+# If you have another OS on this machine to boot, you can uncomment the
+# following lines, changing the device name on the `other' line to
+# where your other OS' partition is.
+#
+# other=/dev/hda4
+# label=HURD
+# restricted
+# alias=3
diff --git a/mkraid.sh b/mkraid.sh
new file mode 100755
index 0000000..9531e17
--- /dev/null
+++ b/mkraid.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# This script creates the RAID, copies everything to the RAID and copies a new fstab, raidtab and lilo.conf to the RAID, and updates mbr on both harddrives in the RAID.
+#
+# The two harddrives used for the RAID should be partitioned as follows : first partition should be a primary swap partition.
+# The second partition should also be primary and take up the rest of the harddrive. Partitiontype must be fd (RAID autodetect)
+#
+#
+# Questions goes out to Klaus Agnoletti - klaus@xenux.dk
+#
+echo "making swapfs on partitions ..."
+mkswap /dev/hda1
+mkswap /dev/hdc1
+
+echo "starting RAID device .."
+mkraid --really-force /dev/md0
+
+echo "making ext3 fs on RAID device.."
+mkfs.ext3 /dev/md0
+
+echo "mounting RAID device on /mnt/newroot.."
+mount /dev/md0 /mnt/newroot
+
+echo "copying everything to RAID.."
+cd /
+find . -xdev | cpio -pm /mnt/newroot
+
+echo "copying new RAID enabled lilo.conf and fstab to RAID.."
+mv /mnt/newroot/etc/lilo.conf.raid /mnt/newroot/etc/lilo.conf
+mv /mnt/newroot/etc/fstab.raid /mnt/newroot/etc/fstab
+
+echo "running lilo with chroot option.."
+lilo -r /mnt/newroot
diff --git a/raidtab b/raidtab
new file mode 100644
index 0000000..30f01b6
--- /dev/null
+++ b/raidtab
@@ -0,0 +1,19 @@
+# This goes with mkraid.sh and should be placed in /etc of the harddisc used to create the RAID system.
+#
+# The two harddrives used for the RAID should be partitioned as follows : first partition should be a primary swap partition.
+# The second partition should also be primary and take up the rest of the harddrive. Partitiontype must be fd (RAID autodetect)
+#
+# Questions goes out to Klaus Agnoletti - klaus@xenux.dk
+#
+
+raiddev /dev/md0
+ raid-level 1
+ nr-raid-disks 2
+ nr-spare-disks 0
+ chunk-size 4
+ persistent-superblock 1
+ device /dev/hda2
+ raid-disk 0
+ device /dev/hdc2
+ raid-disk 1
+