Raspberrypi.md: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 50: Zeile 50:
* eine "Revolution"-Situation ersetzt den Master, alle Nodes müssen zustimmen
* eine "Revolution"-Situation ersetzt den Master, alle Nodes müssen zustimmen
* alle Nodes müssen in einem tadellosen Zustand sein
* alle Nodes müssen in einem tadellosen Zustand sein
* dabei muss auf dem Master ein Prozess installiert sein, der es Nodes ermöglicht ihn abzuschalten


== Hardware ==
== Hardware ==

Version vom 7. November 2019, 17:42 Uhr

  • Dies beschreibt das Konzept eines RAID-6-Systems bei dem ...
    • ... ein Raspberry Pi 4 den Master bereitstellt
      • er betreibt ein ext4-Dateisystem mit dem er Freigaben durchführt
      • er hat selbst kein Speichermedium,
      • er ist an einen internen Switch angeschlossen, an den auch alle Nodes gekoppelt sind
      • er berechnet niemals P oder Q
    • ... viele Raspberry Pi 4s als Nodes arbeiten
      • sie haben eine feste Rolle inerhalb des RAID-Verbundes
      • die haben nur eine Platte mit einer Partition angeschlossen
      • sie berechnen P und Q immer selbst anhand ihrer Rolle und der Sektornummer
      • sie nutzen für "xor" ihren Video Core
    • ... weitere Rapsberry Pi 4s als Spares oder Tranies arbeiten

write(Sector,Data):boolean

  • Der Master sendet ein Datagram mit
    • WRITE
    • Sector#
    • Data
  • auf den Switch. Das Datagram ist nicht an einen gewissen Node gerichtet, es ist für alle
  • Ein Node kann anhand seiner "Rolle" erkennen, ob er
  • raw oder P oder Q and der Stelle "Sector" speichern muss.
  • Nur die 3 Betroffenen Nodes senden das Ack, der Master weiss wer das sein sollte

read(Sector):Data

  • Der Master führt eine Statistik "wer" einen read beantworten muss
    • Ich bin mir jetzt unsicher wie das im raid-6 Code gemacht wird
    • wird immer raw,P und Q gelesen, also 3 Platten?
    • oder nur raw,P wegen der Kosten?
  • es ist wiederum klar "wer" für einen gewissen Sektor verantwortlich ist
    • Node "raw" schickt die Daten ins Netz
    • Node "P" und Node "Q" lesen die Daten und prüfen ob diese stimmen, senden ihr ACK an den Master
    • wenn beide zustimmen (nur ein kurzes OK) sind die Daten auch für den Master valide

Spares

  • Spares lauschen nur auf den Master und haben ihre Platte wirklich deaktiviert, vorzugsweise stromlos
  • zumindest ein Spare sollte eingesetzt werden

Trainee

  • Trainees arbeiten im Idle immer daran die Rolle eines Nodes übernehmen zu können
  • Dabei versuchen sie, die Anzahl der ungleichen Sektoren zwischen Node und Trainee auf "0" zu bringen
  • In der Phase imitieren Trainees die Schreibzugriffe ihrers Nodes
  • Dann ersetzen sie diesen und sind ab dem Moment Node

Revolution

  • eine "Revolution"-Situation ersetzt den Master, alle Nodes müssen zustimmen
  • alle Nodes müssen in einem tadellosen Zustand sein
  • dabei muss auf dem Master ein Prozess installiert sein, der es Nodes ermöglicht ihn abzuschalten

Hardware

Infrastruktur

  • Es wird ein POE-Switch verwendet der per VLAN-ID ein privates Netz betreibt
  • Der Switch hat einen "external" Port ohne VLAN-ID, das ist der eigentliche Anschluss des NAS
  • Bei einem 8-Port POE Switch gibt es z.B. (Best Practise)
    • Einen externen Port
    • Einen Master
    • Einen Spare
    • Einen "Free Port for alive Replacements"
    • 4 Nodes

Worker

  • Alle Worker sind identisch aufgebaut
  • Es gibt 5 Status LED
    • read-Aktivity
    • write-Aktivity
    • "I am Master" + good/fail
    • "I am Node" + good/fail
    • "I am Trainee" + good/fail
    • Replace me
  • Booten über die Festplatte, es gehen 16 GB fürs Betriebssystem verloren
  • USV mit Super CAPs

Historie

  • erstes Konzept am Donnerstag 07.11.2019

Links

http://www.aholme.co.uk/GPU_FFT/Main.htm