From c53cabc164561b51e581ba1fe5a37b2f139109a4 Mon Sep 17 00:00:00 2001 From: Klaus Agnoletti Date: Wed, 14 Aug 2002 14:00:44 +0000 Subject: * 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. --- fstab.raid | 16 ++++++++ lilo.conf.raid | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mkraid.sh | 33 +++++++++++++++ raidtab | 19 +++++++++ 4 files changed, 195 insertions(+) create mode 100644 fstab.raid create mode 100644 lilo.conf.raid create mode 100755 mkraid.sh create mode 100644 raidtab 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. +# +# +/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, ) +# +# 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 + -- cgit v1.2.3