microserver:festplatten

Festplatten

Betriebsüberwachung mit SMART

Konfiguration der Überwachung mit smartd

Der Dämon dient lediglich ein Monitoring der Festplatten. Tests werden von Hand oder per Cron/nvjob angestoßen. Da ich aus- schließen will, dass der Server während eines Tests herunterfahrt.

Der Dämon loggt das Monitoring ausschließlich. Die Benachrichtigung obliegt dann rsyslog.

/etc/smartd.conf:

/dev/sda -d sat -a 
/dev/sdb -d sat -a -R 194
/dev/sdc -d sat -a -R 194

Partitionierung und Rechnerstart

Lediglich die erste kleinere Festplatte ist Partitioniert so, dass der Rechner davon Linux starten kann. Die anderen beiden Festplatten werden ohne Partitionierung direkt verwendet. Eine Partitionierung wäre sowieso sinnlos, da das Rechnerbios eine GUID_Partition_Table nicht unterstützt.

Software-Raid

Einrichten

Zusammenfassung der Festplatten /dev/sdb und /dev/sdc zum RAID1:

# mdadm --create /dev/md0 --level=1 --size=2929687500 --raid-devices=2 /dev/sdb /dev/sdc

Festplatten sind meist etwas größer als angegeben, allerdings je nach Hersteller und Modell unterschiedlich. Deshalb sollte man darauf achten diesen Platz nicht zu verwenden, sonst steht man eines Tages vor größeren Problemen, wenn man Platten austauschen will. Deshalb wird hier mittels –size die Größe auf die angegebenen 3*1012 Bytes beschränkt.

Betrieb

Um das Raid verwenden zu können, muss es erst assembliert werden. Nach dem Systemstart notwendig, um das Raid verwenden zu können. Bei den meisten Distributionen geschieht dies automatisch nach dem Systemstart. Manuell kann man dies mit folgenden Befehl veranlassen:

# mdadm --assemble /dev/md0 /dev/sdb /dev/sdc

Die Live-Distribution grml (Version „Ponyhof“) assembliert das Raid/lvm nicht automatisch. Man veranlasst dies durch den Befehl

# Start mdadm-raid
# Start lvm2

Ausgefallene Festplatte austauschen

Festplatte /dev/sdb als ausgefallen markieren:

# mdadm --manage /dev/md0 --fail /dev/sdb

Festplatte aus dem Raid-Array entfernen:

# mdadm --manage /dev/md0 --remove /dev/sdb

Nach dem Austausch die neue Festplatte dem Raid-Array zufügen:

# mdadm --manage /dev/md0 --add /dev/sdb

Das Array wird dann neu synchronisiert. Dies wird einige Zeit dauern.

Links

LVM

LVM auf dem Raid1 einrichten

Der folgende Befehl macht das assemblierte Raid /dev/md0 zum Physical Volume des LVM:

# pvcreate /dev/md0

Auflisten der Physical Volumes:

# pvscan
  PV /dev/sda5   VG volgr1   lvm2 [206,80 GiB / 6,80 GiB free]
  PV /dev/md0    VG raid1    lvm2 [2,73 TiB / 2,71 TiB free]
  Total: 2 [2,93 TiB] / in use: 2 [2,93 TiB] / in no VG: 0 [0   ]

Dieser Befehl erstellt eine neue Volume Group und weist dieser das Physical Volume zu:

# vgcreate raid1 /dev/md0

Auflisten der Volume Groups:

# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "volgr1" using metadata type lvm2
  Found volume group "raid1" using metadata type lvm2

Logical Volume einrichten

Erstellt ein 20 GByte großes Logical Volume mit dem Namen root in der Volume Group raid1.

# lvcreate -n root -L 20G raid1

Auflisten der Logical Volumes:

# lvscan
  ACTIVE            '/dev/volgr1/home' [50,00 GiB] inherit
  ACTIVE            '/dev/volgr1/record' [70,00 GiB] inherit
  ACTIVE            '/dev/volgr1/files' [80,00 GiB] inherit
  ACTIVE            '/dev/raid1/root' [20,00 GiB] inherit
  ACTIVE            '/dev/raid1/boot' [200,00 MiB] inherit

Dateisystem ext4 mit dem Volume-Label store im Logical Volume /dev/raid1/store anlegen:

# mkfs -t ext4 -L store /dev/raid1/store

Logical Volume löschen

# lvremove /dev/volgr1/home /dev/volgr1/files
Do you really want to remove active logical volume home? [y/n]: y
  Logical volume "home" successfully removed
Do you really want to remove active logical volume files? [y/n]: y
  Logical volume "files" successfully removed

Logical Volume umbenennen

# lvrename raid1 files archive
  Renamed "files" to "archive" in volume group "raid1"

File System Label bei einem ext2/3/4-Dateisystem im Logical Volume /dev/raid1/archive auf archive setzen/umbenennen:

# e2label /dev/raid1/archive archive

Logical Volume vergrößern

Hier werden einfach die restlichen 70 GiByte belegt:

# vgdisplay /dev/volgr1
  --- Volume group ---
  VG Name               volgr1
  [...]
  VG Size               206,80 GiB
  PE Size               4,00 MiB
  Total PE              52942
  Alloc PE / Size       35022 / 136,80 GiB
  Free  PE / Size       17920 / 70,00 GiB
  [...]
   
# lvextend -l +17920 /dev/volgr1/record
# resize2fs /dev/volgr1/record

Snapshot erstellen

Erstellt einen Snapshot des logigal Volumes /dev/vg00/lvol1 mit dem Namen /dev/vg00/lvol1/snap mit einer Größe von 100 MByte. Wird diese Größe überschritten wird der Snapshot ungültig.

lvcreate --size 100m --snapshot --name snap /dev/vg00/lvol1

Thinly-provisioned Logical-Volumes und Snapshots

Der folgende Befehl verwendet die Option -T des Befehls lvcreate, um einen thinly-provisioned Pool mit dem Namen mythinpool in der Datenträgergruppe vg001 mit einer Größe von 100 MByte anzulegen:

# lvcreate -L 100M -T vg001/mythinpool
  Rounding up size to full physical extent 4.00 MiB
  Logical volume "mythinpool" created
# lvs
  LV            VG     Attr     LSize   Pool Origin Data%  Move Log Copy% Convert
  my mythinpool vg001  twi-a-tz 100.00m             0.00

Der folgende Befehl verwendet die Option -T des Befehls lvcreate, um ein Volume im thinly-provisioned Pool vg001/mythinpool zu erstellen. Es ist zu beachten, dass in diesem Fall die virtuelle Größe angegeben wird. Und dass Sie diese virtuelle Größe größer ist als der Pool, die das Volume enthält.

# lvcreate -V1G -T vg001/mythinpool -n thinvolume
  Logical volume "thinvolume" created
# lvs
  LV          VG       Attr     LSize   Pool       Origin Data%  Move Log Copy%  Convert
  mythinpool  vg001    twi-a-tz 100.00m                   0.00
  thinvolume  vg001    Vwi-a-tz   1.00g mythinpool        0.00

Der folgende Befehl erstellt ein thinly-provisioned Snapshot-Volume des thinly-provisioned Logical-Volume im dazugehörigen thinly-provisioned Pool.

# lvcreate -s --name mysnapshot1 vg001/thinvolume
  Logical volume "mysnapshot1" created
# lvs
  LV          VG       Attr     LSize   Pool       Origin     Data%  Move Log Copy%  Convert
  mysnapshot1 vg001    Vwi-a-tz   1.00g mythinpool thinvolume 0.00                        
  mythinpool  vg001    twi-a-tz 100.00m                       0.00                        
  thinvolume  vg001    Vwi-a-tz   1.00g mythinpool            0.00

Links

microserver/festplatten.txt · Zuletzt geändert: 2015/07/19 22:42 von michael

Seiten-Werkzeuge