Slackware 13.1 mit Software Raid und LVM
Inhalt
- Einleitung
- Voraussetzungen
- Booten von der Installations-CD
- Anlegen der Partitionen
- Partitionen zum Raid-1 zusammenfassen
- Volume Groups und Logical Volumes anlegen
- Slackware installieren
- System bootfähig machen
1. Einleitung
Bereits 2003 erschien bei unixwerk
ein Artikel zu diesem Thema Installation von Slackware 9.1 auf gespiegelte Platten (Raid1/LVM). Seitdem hat sich allerdings vieles weiterentwickelt. Der LVM liegt in der Version 2 vor,
mit dem Software-Raid-Tool mdadm ist viel mehr als nur Spiegelung möglich und nicht zuletzt unterstützt der Slackware-Installer
längst die Installation auf Raid-Devices oder eine root-Partition im LVM.
2. Voraussetzungen
Voraussetzung für ein Raid 1 sind natürlich mindestens zwei Platten. Diese werden als /dev/sda und /dev/sdb erkannt.
3. Booten von der Installations-CD
CD einlegen und den Rechner neu starten, so dass von CD gebootet wird. Einmal enter drücken, deutschen Tastaturtreiber auswählen und sich dann am login-Prompt als root (oder was auch immer) anmelden. Wir finden uns am Shell-Prompt wieder:
slackware# _
An dieser Stelle wird normalerweise die Installationsprozedur aufgerufen - damit warten
wir aber noch ein bisschen (=> 7. Slackware installieren)...
4. Anlegen der Partitionen
Wir gehen davon aus, dass die Platten fabrikneu sind und noch keine Partitionstabelle aufweisen; andernfalls muss diese zunächst gelöscht werden. Wir starten das Partitionierungstool zunächst für die erste Platte:
slackware# cfdisk /dev/sda
Im Beispiel werden zwei primäre Partitionen angelegt; die erste für /boot, die zweite für den Systembereich. In der erweiterten Partiton werden zwei logische Partitionen angelegt. Als Partitionstyp wird für alle Bereiche fd gewählt. Dieser Typ ist für Linux-Software-Raid reserviert.
cfdisk (util-linux-ng 2.17.2) Disk Drive: /dev/sda Size: 1500301910016 bytes, 1500.3 GB Heads: 255 Sectors per Track: 63 Cylinders: 182401 Name Flags Part Type FS Type [Label] Size (MB) --------------------------------------------------------------------------------- sda1 Boot Primary Linux raid autodetect 320.79 sda2 Primary Linux raid autodetect 322134.84 sda5 Logical Linux raid autodetect 859015.35 sda6 Logical Linux raid autodetect 318828.31 [ Bootable ] [ Delete ] [ Help ] [ Maximize ] [ Print ] [ Quit ] [ Type ] [ Units ] [ Write ] Quit program without writing partition table
Exakt dieselben Partitionen werden auf der zweiten Platte angelegt. Dazu wird wieder cfdisk gestartet:
slackware# cfdisk /dev/sdb
5. Partitionen zum Raid-1 zusammenfassen
slackware# mdadm --create /dev/md1 --level=1 --metadata=0.90 --raid-devices=2 /dev/sda1 /dev/sdb1 slackware# mdadm --create /dev/md2 --level=1 --metadata=0.90 --raid-devices=2 /dev/sda2 /dev/sdb2 slackware# mdadm --create /dev/md5 --level=1 --metadata=0.90 --raid-devices=2 /dev/sda5 /dev/sdb5 slackware# mdadm --create /dev/md6 --level=1 --metadata=0.90 --raid-devices=2 /dev/sda6 /dev/sdb6
6. Volume Groups und Logical Volumes und Dateisysteme anlegen
Auf den soeben angelegten md-Devices können wir nun unsere Logical Volumes anlegen. md1 lassen wir aus, es ist für /boot reserviert.
Physical Volumes
slackware# pvcreate /dev/md2 slackware# pvcreate /dev/md5 slackware# pvcreate /dev/md6
Volumes Groups
slackware# vgcreate sysvg /dev/md2 slackware# vgcreate datavg /dev/md5 slackware# vgcreate somevg /dev/md6
Logical Volumes
slackware# # lvcreate -L 1G -n root sysvg Logical volume "root" created slackware# # lvcreate -L 1G -n tmp sysvg Logical volume "tmp" created slackware# # lvcreate -L 2G -n opt sysvg Logical volume "opt" created slackware# # lvcreate -L 10G -n usr sysvg Logical volume "usr" created slackware# # lvcreate -L 1G -n var sysvg Logical volume "var" created slackware# # lvcreate -L 512M -n home sysvg Logical volume "home" created slackware# # lvcreate -L 6G -n swp sysvg Logical volume "swp" created
Weitere LVs werden für die Installation nicht benötigt. Alles weitere kann auch nach der Installation erfolgen.
Dateisysteme
Dateisysteme müssen an dieser Stelle eigentlich nicht angelegt werden, da sie durch die setup-Routine angelegt werden. Exemplarisch wollen wir mindestens ein Dateisystem anlegen:
slackware# mkfs.ext4 -m 0 -O resize_inode /dev/rootvg/root
Nun können wir die eigentliche Installation starten:
slackware# setup
Wir wählen folgende Partitionen aus:
- /dev/sysvg/root als /
- /dev/md1 als /boot
- /dev/sysvg/tmp als /tmp
- /dev/sysvg/usr als /usr
- /dev/sysvg/var als /var
- /dev/sysvg/opt als /opt
- /dev/sysvg/home als /home
Als swap-Bereich wird /dev/sysvg/swp ausgewählt.
8. System bootfähig machen
slackware# chroot /mnt slackware# mkinitrd -c -f ext4 -k 2.6.33.4 -m ext3:ext4 -o /boot/initrd-2.6.33.4.gz -L -R
Danach ist die Datei /etc/lilo.conf zu überprüfen. Es muss eine Sektion
# Linux bootable partition config begins
image = /boot/vmlinuz initrd = /boot/initrd-2.6.33.4.gz root = /dev/sysvg/root label = Slackware read-only# Linux bootable partition config ends
enthalten sein. Der Linux Loader wird auf beide Platten geschrieben:
slackware# lilo -b /dev/sda slackware# lilo -b /dev/sdb slackware# exit slackware# reboot
Anhang
A. Beispiel-Dateien
etc/mdadm.conf
MAILADDR root AUTO +imsm +0.90 -all DEVICE /dev/sd[a-b][0-9] ARRAY /dev/md1 UUID=39675cbe:0bf0488b:b1684961:9a8811c4 ARRAY /dev/md2 UUID=bf43a8c7:f0bbc539:70eeb908:27ef7583 ARRAY /dev/md5 UUID=6b62042b:cdb6ff86:ec229c55:8ff36d21 ARRAY /dev/md6 UUID=32dbab77:d508ea0d:70eeb908:27ef7583
Die mit 'ARRAY' beginnenden Zeilen kann man wie folgt erzeugen:
# mdadm --detail --scan ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=39675cbe:0bf0488b:b1684961:9a8811c4 ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=bf43a8c7:f0bbc539:70eeb908:27ef7583 ARRAY /dev/md5 level=raid1 num-devices=2 metadata=0.90 UUID=6b62042b:cdb6ff86:ec229c55:8ff36d21 ARRAY /dev/md6 level=raid1 num-devices=2 metadata=0.90 UUID=32dbab77:d508ea0d:70eeb908:27ef7583
B. Array-Status
# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] md1 : active raid1 sda2[0] sdb2[1] 52436096 blocks [2/2] [UU] md2 : active raid1 sda3[0] sdb3[1] 262148544 blocks [2/2] [UU] md5 : active raid1 sda8[0] sdb8[1] 206483328 blocks [2/2] [UU] md6 : active raid1 sda6[0] sdb6[1] 52436032 blocks [2/2] [UU] unused devices: <none>