Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Linux Software RAID status auslesen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    839

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.4k

Linux Software RAID status auslesen

Geplant Angeheftet Gesperrt Verschoben Ungelöst Skripten / Logik
javascriptblocklymonitoring
2 Beiträge 2 Kommentatoren 356 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    parabelflug1
    schrieb am zuletzt editiert von
    #1

    Hi zusammen,

    hat einer von euch zufällig schon mal den mdadm Status-Output geparst?
    Würde mir gern ne Telegram Nachricht schicken lassen, wenn eine HDD ein Problem hat..

    Gruß

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      ceram
      schrieb am zuletzt editiert von
      #2

      Folgendes Skript sollte helfen:

      createState('javascript.0.Eigene_Datenpunkte.mDBraid.RefNormalState', '', {type: "string"});
      createState('javascript.0.Eigene_Datenpunkte.mDBraid.State', '', {type: "string"});
      createState('javascript.0.Eigene_Datenpunkte.mDBraid.isNormal', false, {type: "boolean"});
      
      /* UNCOMMENT NEXT LINE ON INIT WITH WORKING RAID-ARRAY */
      //exec('cat /sys/block/md*/md/dev-*/state', function (error, stdout, stderr) {setState('javascript.0.Eigene_Datenpunkte.mDBraid.RefNormalState'/*mDBraid RefNormalState*/,stdout);});
      
      function checkRaidState(){
          exec('cat /sys/block/md*/md/dev-*/state', function (error, stdout, stderr) {
              setState('javascript.0.Eigene_Datenpunkte.mDBraid.State'/*mDBraid State*/,stdout);
              if (stdout == getState('javascript.0.Eigene_Datenpunkte.mDBraid.RefNormalState'/*mDBraid RefNormalState*/).val){
                  setState('javascript.0.Eigene_Datenpunkte.mDBraid.isNormal',true);
                  log('Raid-State: normal')
              }else{
                  setState('javascript.0.Eigene_Datenpunkte.mDBraid.isNormal',false);
                  log('Raid-State: possibly broken')
              }
          });
      }
      
      schedule('*/60 * * * *', checkRaidState);
      

      Das Skript schreibt den normalen Status des MD-Raids als Referenz in einen String-Datenpunkt (Hinweise beachten) und vergleicht jede Stunde den aktuellen Status mit der Referenz. Das Ergebnis wird als Datenpunkt javascript.0.Eigene_Datenpunkte.mDBraid.isNormal gespeichert, auf dessen Änderung man andere Skripte subscriben kann. Steht der Datenpunkt auf true ist alles normal, bei false sollte man nach seinem RAID schauen.

      Hinweise:

      • exec-Erlaubnis muss in den Einstellung der Javascript-Instanz aktiviert sein
      • Vor dem ersten Start sicherstellen, dass das Array in vollständig normalem Zustand ist. Dann Zeile 6 aktivieren, Skript starten, danach unbedingt wieder Zeile 6 auskommentieren und Skript neu starten.
      • Der Ausdruck cat /sys/block/md*/md/dev-*/state sollte universell einsetzbar sein, unabhängig vom RAID-Typ und auch wenn man mehrere RAIDs hat. Das Skript würde dann immer prüfen, ob alle ok sind.
      • Die Datenpunktnamen kann man natürlich beliebig ändern, dann aber überall im Skript :)

      Viele Grüße

      ceram

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      370

      Online

      32.5k

      Benutzer

      81.6k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe