GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
19. Januar 2011

Slackware 13.1 mit Software Raid und LVM

Inhalt

  1. Einleitung
  2. Voraussetzungen
  3. Booten von der Installations-CD
  4. Anlegen der Partitionen
  5. Partitionen zum Raid-1 zusammenfassen
  6. Volume Groups und Logical Volumes anlegen
  7. Slackware installieren
  8. System bootfähig machen
  1. Beispiel-Dateien
  2. Array-Status

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

7. Slackware installieren

Nun können wir die eigentliche Installation starten:

slackware# setup

Wir wählen folgende Partitionen aus:

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>