• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

raid

mdadm Test RAID mit loop Devices

5. Februar 2016 by Sebastian 5 Comments

Ich brauchte heute mal schnell eine mdadm Testumgebung und da ich kein physisches Testgerät da hatte und ich auf keinem Produktivssystem rumspielen wollte, dachte ich mir, das muss doch auch anders gehen, z.B. mit loop Devices:

Je nachdem mit welchem RAID Level man rumspielen will, legt man sich eine entsprechende Anzahl an Files an:

dd bs=1M count=200 if=/dev/zero of=dev1
dd bs=1M count=200 if=/dev/zero of=dev2
dd bs=1M count=200 if=/dev/zero of=dev3

Ich lege mir hier also 3 Files á 200MB an. Nun verknüpft man diese Files mit einem loop Device:

losetup /dev/loop1 dev1
losetup /dev/loop2 dev2
losetup /dev/loop3 dev3

Zu guter letzte noch das RAID Device erstellen, in meinem Fall ein Raid5:

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
Posted in: IT, Linux, Opensource Tagged: linux, mdadm, raid

Move LV’s von einem Device auf ein anderes

6. August 2015 by Sebastian Leave a Comment

Ich habe auf Arbeit ein Storage worin 3 RAID’s sind. Ein RAID1, welches für diesen Artikel irrelevant ist, ein RAID6 (md1) worauf iSCSI Volumes in Form von LV’s liegen und ein RAID5 (md2) welches zum Testen da ist. Das RAID6 besteht dabei aus 8 relativ alten Platten, welches nun zu bröckeln anfing und zu allem Übel fing ein Platteneinschub auch noch an CRC Error zu produzieren, wodurch ein Plattentausch verhindert wurde, da jede sofort wieder aus dem RAID geworfen wurde. Es wurde von mir also kurzer Hand das RAID5 Volume gekapert, da mir die Tests in dem Moment relativ egal waren, und fügte es meiner VG hinzu:

vgextend vg /dev/md2

Diese sollte mit einer Erfolgsmeldung quittiert werden. Man kann aber mit pvdisplay nochmal kontrollieren. Um zu sehen auf welchem Volume welches LV liegt benutzt man

lvs -o +devices

Moven der LV’s geht dann wie folgt, entweder man tut es mit jeder einzeln:

pvmove -n test /dev/md1 /dev/md2

was ich, wie man schon an dem Namen der LV sieht, erstmal nur zum testen tat, oder man verschiebt einmal den gesamten Pool:

pvmove /dev/md1 /dev/md2

Das ganze funktionierte während des Betriebs, ohne das die VM’s, zu welchen die LV’s gehören, irgendwas davon merkten. Das ganze dauert natürlich, abhängig von der Größe eine ganze Weile, da die Daten blockweise kopiert werden.
Sind die Daten dann alle verschoben kann man das kaputte RAID aus der VG entfernen:

vgreduce vg /dev/md1
Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, lvm, raid

mdadm mit zabbix überwachen

26. Februar 2013 by Sebastian Leave a Comment

New Version

Ich habe heute für die Arbeit ein Script geschrieben um unsere mdadm RAID’s mit Zabbix zu überwachen. Ich freue mich natürlich über Tipps, da ich noch das Script schreiben übe. Ich hab also noch nicht so viel Erfahrung, aber ich entdecke langsam die praktische Seite daran. :-D

Jedenfalls ist das das Script:

#!/bin/bash

export PATH=/usr/bin:/bin:/usr/sbin/:/sbin/

disk=$1

case $2 in
        state)
               state=$(sudo mdadm --detail /dev/$disk | grep -i "State :" | cut -d ":" -f 2 | awk -F ' ' '{print $1 $2 $3}')

               if [ "$(echo $state | grep clean | wc -l)" -eq "1" ]; then
                      s1=1
               else
                      s1=0
               fi
               if [ "$(echo $state | grep degrade | wc -l)" -eq "1" ]; then
                      s2=2
               else
                      s2=0
               fi
               if [ "$(echo $state | grep recovering | wc -l)" -eq "1" ]; then
                      s3=4
               else
                      s3=0
               fi

               s4=$(echo $(($s1 + $s2 + $s3)))

               case $s4 in
                       "0" | "1")
                               echo clean
                       ;;
                       "2" | "3")
                                echo degrade
                       ;;
                       "4" | "5" | "6" | "7")
                                echo recovery
                       ;;
                       esac
        ;;
        mdstat)
                grep -A1 $disk /proc/mdstat | grep -o _ | wc -w
        ;;
esac

Kurze Erklärung zu state: Ich greppe mir da aus der Ausgabe von mdadm die Zeile State heraus wo der Status des RAID’s ausgegeben wird. Dies können drei Stadien sein – clean, degrade, recovering (auch alle gleichzeitig). Aus diesem Grund habe ich noch die Addition hinzugefügt um einen Status auszugeben. Ich gebe aber immer nur einen Status aus: Wenn nur clean, dann logischer Weise clean – wenn clean,degrade dann degrade, da ja die Information wichtig ist das etwas mit dem RAID nicht in Ordnung ist – wenn recovering enthalten ist, dann wird recovery ausgegeben.

Kurze Erkläung zu mdstat: Ist relativ simpel. Platten die OK sind werden in /proc/mdstat mit U angeben und fehlende mit _ , da ich wissen will wie viele ausgefallen sind greppe ich hier nach _ .

Im Anschluss muss das Script noch ausführbar gemacht und in /etc/zabbix/zabbix-agentd.conf folgende Zeile hinzufügen werden:

UserParameter=mdadm[*], sh /pfad/zu/mdadm_chk.sh $1 $2

Da man für mdadm root-Rechte benötigt muss man noch folgende Zeile in /etc/sudoers:

zabbix ALL=NOPASSWD:/pfad/zu/mdadm_chk.sh,/sbin/mdadm

Jetzt einmal den Agent neu starten und schon müsste es funktionieren. Items und Trigger hab ich wie folgt angelegt:

mdadm_item_zbx

mdadm_trigger_zbx

Posted in: Arbeit, IT, Linux, Netzwerk, Opensource Tagged: bash, linux, mdadm, precise, raid, ubuntu, zabbix

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • chr.istoph's Blog
  • World of Edolas
  • 5222.de
  • Lainblog

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall