22.5. Vinum-Objekte

Um die in den vorigen Abschnitte besprochenen Probleme zu lösen, verwendet Vinum eine vierstufige Objekthierarchie:

Der folgende Abschnitt beschreibt, wie diese Objekte die von Vinum benötigten Funktionen zur Verfügung stellen.

22.5.1. Überlegungungen zur Größe eines Volumes

Plexus können mehrere Subdisks beinhalten, die über alle Platten der Vinum-Konfiguration verteilt sind. Daraus folgt, dass die Größe einer Platte nicht die Größe eines Plexus (und damit eines Volumes) limitiert.

22.5.2. Redundante Datenspeicherung

Vinum implementiert die Datenspiegelung, indem es ein Volume auf mehrere Plexus verteilt. Jeder Plexus ist dabei die Repräsentation der Daten eines Volumes. Ein Volume kann aus bis zu acht Plexus bestehen.

Obwohl ein Plexus die gesamten Daten eines Volumes repräsentiert, ist es möglich, dass Teile der Repräsentation physisch fehlen, entweder aufgrund des Designs (etwa durch nicht definierte Subdisks für Teile des Plexus) oder durch Zufall (als ein Ergebnis eines Plattenfehlers). Solange wenigstens ein Plexus die gesamten Daten für den kompletten Adressbereich des Volumes zur Verfügung stellen kann, ist das Volume voll funktionsfähig.

22.5.3. Überlegungen zur Leistung

Sowohl Konkatenation als auch Striping werden von Vinum auf der Plexus-Ebene realisiert:

  • Ein konkatenierter Plexus benutzt abwechselnd den Adressraum jeder Subdisk.

  • Ein gestripter Plexus striped die Daten über jede Subdisk. Die Subdisks müssen alle die gleiche Größe haben, und es muss mindestens zwei Subdisks in Reihenfolge geben, um ihn von einem konkatenierten Plexus unterscheiden zu können.

22.5.4. Wie ist ein Plexus aufgebaut?

Die Version von Vinum, welche von FreeBSD-10.0 bereitgestellt wird, implementiert zwei Arten von Plexus:

  • Konkatenierte Plexus sind die flexibelsten: Sie können aus einer beliebigen Anzahl von Subdisks unterschiedlicher Größe bestehen. Der Plexus kann erweitert werden, indem man zusätzliche Subdisks hinzufügt. Sie brauchen weniger CPU-Zeit als gestripte Plexus, obwohl der Unterschied des CPU-Overheads nicht messbar ist. Auf der anderen Seite sind sie aber sehr anfällig für das Entstehen von "hot spots", wobei eine Platte sehr aktiv ist, andere hingegen nahezu ungenutzt sind.

  • Der größte Vorteil eines gestripten Plexus (RAID-0) ist die Verringerung von "hot spots". Dies wird durch die Auswahl eines Stripes optimaler Größe (etwa 256 kB) erreicht, wodurch die Last gleichmäßig auf die Platten verteilt werden kann. Nachteile dieser Vorgehensweise sind ein (geringfügig) komplexerer Code sowie einige Restriktionen für die Subdisks: Diese müssen alle die gleiche Größe haben, und das Erweitern eines Plexus durch das Hinzufügen neuer Subdisks ist so kompliziert, dass es von Vinum derzeit nicht unterstützt wird. Vinum fordert noch eine weitere triviale Beschränkung: Ein gestripter Plexus muss aus mindestens zwei Subdisks bestehen, da er ansonsten nicht von einem konkatenierten Plexus unterscheidbar ist.

Tabelle 22.1, „Vinum-Plexus - Aufbau“ fasst die Vor- und Nachteile jedes Plexus-Aufbaus zusammen.

Tabelle 22.1. Vinum-Plexus - Aufbau
Plexus-TypMinimum an Subdisks?Kann Subdisks hinzufügen?Müssen die gleiche Größe habenApplikation
konkateniert1janeinGroßer Datenspeicher mit maximaler Platzierungsflexibilität und moderater Leistung
gestriped2neinjaHohe Leistung in Kombination mit gleichzeitigem Zugriff

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.