Detta dokument beskriver installation av OpenBSD 3.6 (instruktionerna skrev jag ursprungligen för OpenBSD 3.5, men är senast testade och verifierade med OpenBSD 3.6) på den mjukvaru-RAID som OpenBSD stöder (RAIDframe). Filerna som finns att ladda ner är omanpassade för OpenBSD 3.6, och kräver en smärre modifiering för att fungera med 3.5 igen.
Installationen och anvisningarna är skrivna för i386 plattformen och IDE diskar, men är enkel att anpassa för andra plattformar och disksystem, förutsatt att GENERIC kerneln (dist) har stöd för den hårdvara som systemet ska installeras på.
Instruktionerna förutsätter att du åtminstone installerat OpenBSD 3.x någon gång tidigare på någon plattform, och de flesta stegen måste du vara 'root' för att utföra.
Gör en swap partition 'b' på lämplig storlek (2*RAM, eller minst 128Mb), och sedan en enda stor 'p' (partitionstyp 'RAID') av resten av disken. Den sista partitionen kommer att ingå i RAID arrayen, och delas in i fler partitioner senare.
Använder du diskar av mindre storlek (upp till 4GB) är det lämpligast att inte dela upp RAID-området på disken alls.
Vad ryms ? | utrymme |
---|---|
Det nödvändiga för att kunna lägga över kontrollen på root-RAID partitionen (base,etc,generic kernel och RAIDframe kernel). | 115Mb |
+ 'man pages' | 140Mb |
Full installation utan 'X' (i detta ingår utvecklingsverktyg m.m.) | 220Mb |
Utrymme för att få plats med kernelkällkoden och kompilering av denna. | 350Mb |
Lite marginal för program (packages) du kanske vill ha tillgängligt även när RAIDen inte tagit över. | 500Mb |
Det går att frigöra ca 6Mb till för att få plats med ex. fler kernel filer om man tar bort Apache 1.3 från bootpartitionen då installationen är klar (/var/www, /usr/sbin/httpd, /usr/sbin/apachectl, /usr/bin/htpasswd och säkert några fler inte allt för stora filer).
Ladda ner 'Generic+RAID' för OpenBSD 3.6 eller
för OpenBSD 3.5
# mv /bsd /bsd.old # gunzip bsd_36_raid.gz # mv bsd_36_raid /bsd
Väljer du att kompilera ditt eget kernel med RAIDframe support så kan du utgå ifrån GENERIC konfigurationen, och sedan aktivera en av de utkommenterade raderna och lägga dit en extra:
# cd /usr/src/sys/arch/i386/conf # cp GENERIC GENERIC_RAID option RAID_AUTOCONFIG pseudo_device raid 4 # config GENERIC_RAID # cd ../compile/GENERIC_RAID # make depend && make # mv /bsd /bsd.old (eller /bsd.raid om mitt GENERIC+RAIDframe använts) # cp bsd /
Raden 'pseudo_device raid 4' finns redan, men är bortkommenterad, och 'option RAID_AUTOCONFIG' gör att man kan (om man vill) se till att RAIDen initieras automatiskt när man startar upp systemet.
# fdisk -i wd1 # sync; reboot
# disklabel wd0 > /root/disklabel.wd0 # disklabel wd0 | disklabel -R wd1 /dev/fd/0 # newfs /dev/rwd1a
# mount /dev/wd1a /mnt # cd / # pax -r -w -p e -v .cshrc .profile altroot bin boot bsd* dev etc home root sbin \ stand tmp usr var /mnt/ # mkdir /mnt/mnt # /usr/mdec/installboot -v /mnt/boot /usr/mdec/biosboot wd1 # touch /mnt/spareboot
> boot hd1a:/bsd
## /root/raid0.conf.new START array 1 2 0 START disks /dev/wd0p /dev/wd1p START layout 128 1 1 1 START queue fifo 100 ## end config
# raidctl -C /root/raid0.conf.new raid0 # raidctl -I 112230 raid0 # raidctl -iv raid0
raidctl -s raid0
)
# raidctl -s raid0 raid0 Components: /dev/wd0p: optimal /dev/wd1p: optimal No spares. Parity status: clean Reconstruction is 100% complete. Parity Re-write is 100% complete. Copyback is 100% complete. #
# fdisk -i raid0 # disklabel -E raid0
Beroende på storleken på diskarna, så ska helst flera partitioner skapas. Jag brukar som "standard" skapa partitionerna a + d-h, där a är 'root' och h är 'home'. Skippa swap partitionen, eftersom det redan finns två på diskarna sen installation av det bootbara systemet.
Nedanstående tabell visar rätt så vettiga storlekar på partitionerna. Vill du
ha mer plats för installerade program och kompilationer, så är det i första hand
/usr och /usr/local som kan behöva göras större.
Är diskarna du använder av mindre storlek (upp till 4GB) är det lämpligast att
inte dela upp RAID-området på disken alls.
partition | storlek | mountpoint |
---|---|---|
raid0a | 250Mb | / |
raid0d | 1Gb | /usr |
raid0e | 2Gb | / |
raid0f | 250Mb | /var |
raid0g | 250Mb | /tmp |
raid0h | resten | /home |
# newfs /dev/rraid0a # newfs /dev/rraid0d # newfs /dev/rraid0e # newfs /dev/rraid0f # newfs /dev/rraid0g # newfs /dev/rraid0h
# mount /dev/raid0a /mnt # mkdir /mnt/usr /mnt/var/ /mnt/tmp /mnt/home # mount /dev/raid0d /mnt/usr # mkdir /mnt/usr/local # mount /dev/raid0e /mnt/usr/local # mount /dev/raid0f /mnt/var # mount /dev/raid0g /mnt/tmp
# mkdir /mnt2 # mount /dev/cd0a /mnt2 # cd /mnt # tar xvzfp /mnt2/3.6/i386/etc36.tgz # tar xvzfp /mnt2/3.6/i386/base36.tgz # tar xvzfp /mnt2/3.6/i386/comp36.tgz # tar xvzfp /mnt2/3.6/i386/man36.tgz # tar xvzfp /mnt2/3.6/i386/game36.tgz # tar xvzfp /mnt2/3.6/i386/misc36.tgz
# cd / # pax -r -w -p e -v dev boot bsd* /mnt/ # cd /etc # cp -p fstab kbdtype my* hostname.* hosts resolv* dhc* /mnt/etc/
## /etc/fstab /dev/raid0a / ffs rw 1 1 /dev/raid0d /usr ffs rw 1 2 /dev/raid0e /usr/local ffs rw 1 2 /dev/raid0f /var ffs rw 1 2 /dev/raid0g /tmp ffs rw 1 2 /dev/raid0h /home ffs rw 1 2 /dev/wd0b none swap sw 0 0 /dev/wd1b none swap sw 0 0
/dev/raid0a / ffs rw 1 1 /dev/raid0d /usr ffs rw,nodev 1 2 /dev/raid0e /usr/local ffs rw,nodev 1 2 /dev/raid0f /var ffs rw,nodev,nosuid 1 2 /dev/raid0g /tmp ffs rw,nodev,nosuid 1 2 /dev/raid0h /home ffs rw,nodev,nosuid 1 2 /dev/wd0b none swap sw 0 0 /dev/wd1b none swap sw 0 0
# /mnt/usr/sbin/chroot /mnt # passwd Changing local password for root. New password: Retype new password: # exit
# raidctl -A root raid0 # reboot
component0: failed
el liknande vid raidctl -s raid0
kommando:
# raidctl -s raid0 Components: component0: failed /dev/wd1p: optimal
# raidctl -s raid0 Components: /dev/wd0p: failed /dev/wd1p: optimal
# raidctl -R /dev/wd0p raid0 # raidctl -s raid0
raidctl -s raid0
tills resultatet blir:
# raidctl -s raid0 raid0 Components: /dev/wd0p: optimal /dev/wd1p: optimal No spares. Parity status: clean Reconstruction is 100% complete. Parity Re-write is 100% complete. Copyback is 100% complete. #