Fortsetzung der Tabelle:10-Byte-Befehle 24h Set Window Fensterbereich festlegen 25h Read Capacity Kapazität ermitteln Festplatten 25h Read CD-ROM CD-ROM-Kapazität lesen Capacity 28h Read
Trang 1Fortsetzung der Tabelle:
6-Byte-Befehle
0Bh Slew and Print Vorschub und drucken
10h Synchronize Buffer Datenzwischenspeicher synchronisieren 10h Write Filemarks Dateikennung schreiben
11h Read Usage Counter Nutzungszähler lesen
14h Recover Buffered Data Zwischengespeicherte Daten zurückholen
16h Reserve Unit LUN für andere Initiatoren sperren 17h Release Unit LUN für andere Initiatoren freigeben
1Ah Mode Sense Geräteparameter zum Initiator senden
1Bh Start/Stop Unit Gerät für weitere Kommandos sperren oder
freigeben
1Ch Receive Diagnostic Selbsttest-Ergebnisse empfangen
Results
1Dh Send Diagnostics Selbsttest durchführen
1Eh Prevent/ Wechsel des Datenträgers verhindern oder
Allow Medium Removal erlauben
Trang 2Fortsetzung der Tabelle:
10-Byte-Befehle
24h Set Window Fensterbereich festlegen
25h Read Capacity Kapazität ermitteln (Festplatten)
25h Read CD-ROM CD-ROM-Kapazität lesen
Capacity
28h Read Extended Daten lesen (erweiterte Adresse)
29h Read Generation Maximale Adresse abfragen
2Ah Write Extended Daten schreiben (erweiterte Adresse)
2Bh Position to Element Auf Element positionieren
2Bh Seek Extended Suchen eines logischen Blocks (erweiterte
Adresse)
2Dh Read Updated Block Aktualisierten Block schreiben
2Eh Write and Verify Daten schreiben und prüfen
30h Search Data High Nach höheren Daten suchen
31h Object Position Objekt positionieren
31h Search Data Equal Nach gleichen Daten suchen
32h Search Data Low Nach niedrigen Daten suchen
34h Get Data Buffer Zustand des Datenzwischenspeichers lesen
Status
34h Read Position Position lesen
35h Synchronize Cache Datenzwischenspeicher mit Daten überprüfen
Trang 3Fortsetzung der Tabelle:
10-Byte-Befehle
36h Lock/Unlock Cache Datenzwischenspeicher sperren/freigeben 37h Read Defect Data Defekt-Liste lesen
38h Medium Scan Datenträger abtasten
3Ah Copy and Verify Daten kopieren und überprüfen
3Bh Write Buffer Überprüfen des Datenzwischenspeichers, Daten
schreiben 3Ch Read Buffer Überprüfen des Datenzwischenspeichers, Daten
lesen 3Dh Update Block Block aktualisieren
40h Change Definition Definition ändern
42h Read Sub Channel Unterkanal lesen
47h Play Audio MSF Audio wiedergeben (MSF)
48h Play Audio Audio wiedergeben nach Spurindex
Track Index
49h Play Audio Relative Audio relativ zum Start wiedergeben
55h Mode Select Betriebsparameter einstellen
5Ah Mode Sense Betriebsparameter ermitteln
Trang 4Fortsetzung der Tabelle:
12-Byte-Befehle
A6h Exchange Medium Datenträger wechseln
A9h Play Track Relative Wiedergeben relativ zum Start
AEh Write and Verify Daten schreiben und überprüfen
B0h Search Data High Nach höheren Daten suchen
B1h Search Data Equal Nach gleichen Daten suchen
B2h Search Data Low Nach niedrigen Daten suchen
B5h Send Volume Tag Datenträgerkennung senden
B7h Read Defect Data Fehlerdaten lesen
B8h Read Element Status Zustand lesen
Tabelle 5.16: Die SCSI-Befehlscodes im Überblick
5.11 RAID-Systeme
Nicht für den heimischen PC, sondern für die professionelle Anwendung in Fileservern, wie sie in Netzwerkumgebungen zum Einsatz kommen, sind
RAID-Systeme vorgesehen Die Bezeichnung RAID steht für den Begriff Redundant Array
of Independent Disks Oftmals wird auch die Kurzbezeichnung Disk Array
verwen-det, was bereits signalisiert, dass es sich dabei um ein System handelt, welches sich aus mehreren Festplatten zusammensetzt Von der Gesamtkapazität eines RAID-Systems wird ein Teil für die Speicherung redundanter Daten verwendet, wodurch erreicht werden kann, dass die Daten beim Ausfall einer Festplatte wieder her zu stellen sind RAID-Systeme kommen insbesondere bei Datenbanken zum Einsatz oder allgemein Anwendungen, bei denen eine hohe Verfügbarkeit des Datenbestan-des gewährleistet sein muss
Trang 5RAID-Systeme werden üblicherweise mit SCSI-Geräten aufgebaut, wobei seit eini-ger Zeit auch SSA- und Fibre-Channel-Devices (ab Kapitel 5.13) zum Einsatz kom-men, die man jedoch auch zu den SCSI-Geräten rechnen kann, da sie ebenfalls in der SCSI-Spezifikation (SAM, siehe Bild 5.4) definiert sind Daneben gibt es auch
RAID-Lösungen, die auf EIDE basieren, wie etwa Fasttrack der Firma Promise, wobei
diese Realisierungen jedoch nicht die bei SCSI übliche Funktionalität aufweisen (können) und nur die RAID-Level 0 und 1 unterstützen, welche im folgenden noch genau erläutert werden
Wenn eine der Festplatten im RAID-System ausfällt, meldet das System diesen Umstand zunächst mit einem optischen und/oder akustischen Signal, wobei übli-cherweise auch eine Meldung für das Netzwerk generiert wird Ab diesem Zeit-punkt ist Gefahr im Verzug, denn das System läuft nunmehr ohne Fehlertoleranz Gleichwohl arbeitet das System weiter, und es können Daten gelesen und geschrie-ben werden, doch eine zweite Festplatte darf nun nicht mehr ausfallen Man wird
es sicher nicht zu diesem Fall kommen lassen und schleunigst die defekte
Festplat-te austauschen, was gegebenenfalls auch im laufenden Betrieb erfolgen kann Ob dies möglich ist, hängt vom elektrischen Aufbau des RAID-Systems ab
Bild 5.35: Oben der übliche 50-polige SCSI-Anschluss und darunter ein SCA-Connector
Demnach kommen für ein RAID-System üblicherweise nicht Standard-SCSI-Host-adapter zum Einsatz, sondern es erfordert einiges mehr an Eigenintelligenz
(Multi-Host-Fähigkeit) eines RAID-Systems, und falls es das Hot Plugging oder Hot Swapping
unterstützt, wovon man bei einer explizit als RAID-System bezeichneten Anlage ausgehen kann, können die Festplatten auch während des laufenden Betriebs aus-getauscht werden
Die Festplatten, bei denen es sich vorwiegend um SCA-Festplatten handelt (siehe auch Wide-SCSI), werden hierfür in speziellen Einbaurahmen untergebracht und sie müssen desselben Typs sein, was in der Praxis bedeutet, dass man sich eine oder auch gleich mehrere »Notfallfestplatten« auf Vorrat besorgen sollte, denn im Fall der Fälle ist die benötigte Festplatte mit ziemlicher Sicherheit nicht mehr erhältlich
Die verschiedenen Realisierungen von RAID-Systemen (siehe folgende Kapitel) ba-sieren auf Untersuchungen, die bereits im Jahre 1987 an der University of California
in Berkeley durchgeführt wurden Allgemein gilt für RAID-Systeme, dass die Mean Time Between Failure (MTBF) der gleichen Zeitspanne wie für ein
Festplattenlauf-werk entspricht, allerdings dann dividiert durch die Anzahl der im Disk Array vorhandenen Festplatten
Trang 6Bild 5.36: Ein RAID-Controller, wie hier ein Typ der Firma DTP, verwendet einen
Intel-960-RISC-Prozessor und übliche SIMMs (rechts) als Cache-Speicher
Entsprechende RAID-Controller (ab ca 1.000 DM bis typisch 3.000 DM) werden von Firmen wie Distributed Processing Technology (DTP), Mylex, Symbios Logic, Adaptec und GDT (firmiert auch unter Intelligent Computer Peripherals, ICP) angeboten Diese Controller arbeiten üblicherweise mit einem eigenen RISC-Prozessor (z.B Intel 960) und besitzen einen On-Board-Speicher, der – je nach Modell – eine un-terschiedliche Kapazität aufweisen kann und mitunter auf bis zu 64 Mbyte aufzu-rüsten ist Dieser Speicher übernimmt die wichtige Aufgabe eines Cache-Speichers, was für eine adäquate RAID-Leistung von immanenter Bedeutung ist, denn die Daten für die einzelnen Festplatten müssen entsprechend aufbereitet und zwischen-gespeichert werden Der On-Board-Prozessor benötigt außerdem eine ganz beträcht-liche Rechenleistung, wobei die Parity-Berechnung hier den größten Anteil der Leistung beansprucht
Bild 5.37: Die Boot-Anzeige mit einem RAID-System der Firma GDT
Trang 7Es existieren unterschiedliche logische Aufbauten von RAID-Systemen, die so
ge-nannten RAID-Level, anhand derer ein RAID-System üblicherweise qualifiziert wird Gleichwohl können bestimmte RAID-Level-Konfigurationen mit handelsüblichen Hostadaptern und mehreren Festplatten realisiert werden Netzwerkbetriebssysteme wie etwa Novell ab der Version 3.x oder auch Windows NT unterstützen einige der RAID-Level (per Software), ohne dabei natürlich die Features (Ausfallsicherheit,
Hot Plugging, interne Cache-Speicher) aufzuweisen, die ein Hardware-RAID-System
beherrscht
Unabhängig davon, welcher der RAID-Level zum Einsatz kommt, erscheint das Disk-Array-System üblicherweise als ein einziges logisches Laufwerk, was bedeutet, dass weder die Programme noch der Anwender etwas von der speziellen Funktionalität des Systems bemerken wird
Bild 5.38: RAID-Systeme, die die Level 0, 3 und 5 beherrschen, in verschiedenen Ausführungen
Trang 85.11.1 RAID Level 0
Der RAID Level 0 – Disk Striping – ist im eigentlichen Sinne gar kein RAID-Verfah-ren, denn die Daten werden ohne Redundanz über die vorhandenen Festplatten
verteilt Diese Aufzeichnung in »Datenstreifen« wird als Disk Striping bezeichnet.
Die Fehlertoleranz wird dabei nicht erhöht, es ist lediglich ein schnellerer Datenzu-griff möglich, da auf alle Festplatten gleichzeitig zugeDatenzu-griffen werden kann Die Daten werden hierfür in Segmentgröße sequentiell über die Festplatten ver-teilt, wodurch die Gefahr von Datenverlusten gegenüber der Verwendung einer einzigen Festplatte erhöht wird, denn die Wahrscheinlichkeit, dass beispielsweise eine von vier Festplatten ausfällt, ist größer als der Ausfall einer einzigen Festplat-te
Generell bietet RAID 0 im Vergleich mit allen anderen RAID-Levels die höchste Performance und Effizienz bei der Datenspeicherung
Bild 5.39: RAID-Level 0 arbeitet ohne Redundanz, dafür aber sehr schnell
5.11.2 RAID Level 1
Beim RAID-Level 1 werden Spiegelplatten (mirror = Spiegel) verwendet, und aus
diesem Grund ist RAID-1 auch unter der Bezeichnung Disk Mirroring bekannt Die
einfachste Ausführung besteht aus einem Adapter und zwei Festplatten
Die Daten werden immer gleichzeitig auf diesen beiden Platten gespeichert Fällt eine aus, läuft das System weiter, da die Daten noch auf der zweiten vorhanden sind Beim Ausfall des Adapters versagen natürlich beide Festplatten, und aus die-sem Grund wird RAID-1 in einigen Fällen auch mit zwei Adaptern verwendet, was
dann als Duplexing bezeichnet wird.
Die gesamte Scheibleistung bei RAID-1 ist nicht wesentlich schlechter als bei der Verwendung einer einzigen Festplatte, allerdings kann die Leseleistung demgegen-über verbessert werden, weil die Daten derjenigen Festplatte verwendet werden, auf der sie zuerst gefunden wurden
Trang 9Außerdem kann das System möglicherweise für den Multitaskingbetrieb konfigu-riert werden, so dass quasi zwei Lesevorgänge gleichzeitig stattfinden können RAID-Level-1 ist relativ einfach ohne speziellere Geräte zu konfigurieren, und ein
Netzwerkbetriebssystem wie etwa Novell 3.12 unterstützt das Mirroring bereits
stan-dardmäßig
1 bietet in einer Multitasking-Konfiguration die beste Performance aller RAID-Systeme Der Nachteil ist höchstens in den höheren Kosten für die Verdoppelung der Festplattenkapazität zu sehen, da die Daten exakt dupliziert werden müssen
Bild 5.40: Der RAID-Level 1 benötigt zur Datenspiegelung die doppelte Anzahl von Festplatten
5.11.3 RAID Level 2
Beim RAID Level 2 – Disk Striping mit ECC – werden mehrere Festplatten des Disk
Arrays zur Verarbeitung von ECC-Daten (Error Correction Codes) eingesetzt Eine
typische Konfiguration sind dabei fünf Festplatten für die Daten und drei für die Fehlerkorrekturinformationen
Die Daten werden während des Schreibens auf die Platten verteilt (Disk Striping, prinzipiell wie beim RAID-Level 0), was hier allerdings nicht sektorweise, sondern Bit für Bit (Interleaving) erfolgt Für jedes Datenbyte wird gleichzeitig der Fehler-korrektur-Code (Hamming-Code) auf alle drei Prüffestplatten geschrieben Die Datenübertragungsrate ist dabei sehr hoch, weil die Daten parallel verarbeitet wer-den können
Trang 10Beim RAID-Level-2 dürfen sogar maximal zwei Festplatten ausfallen, ohne dass es
zu einem Datenverlust kommt Auf Grund seiner Komplexität hat sich dieser Level allerdings nicht in der Praxis durchgesetzt Außerdem verwenden moderne Fest-platten eigene Fehlerkorrektur-Codes, und durch die zusätzlichen Hamming-Codes, für die schließlich typischerweise drei eigene Festplatten benötigt werden, er-scheint RAID-Level 2 auch als überdimensioniert
Bild 5.41: Der RAID-Level 2 stellt sich als zu komplex und auch als überdimensioniert dar
5.11.4 RAID-Level 3
RAID-3 – Parallele Disk Arrays mit Parität – verwendet statt der Fehlerkorrektur-Codes (des Level-2) Paritätsbits, für die explizit nur eine Festplatte nötig ist Es gibt mindestens zwei Datenlaufwerke, und die Daten werden über die vorhandenen Festplatten Byte für Byte geschrieben
Bild 5.42: Eine Festplatte enthält beim RAID-Level 3 die Paritätsinsformation
Trang 11Die Datenübertragungsrate entspricht dabei derjenigen, wie sie auch mit RAID-2 erreicht wird Bei jedem Schreib-/Lesevorgang sind immer alle Festplatten betei-ligt, so dass immer nur eine einzige und keine parallele Datenübertragung stattfin-den kann RAID-3 eignet sich am besten für Daten großer Kapazität, etwa für die Bildverarbeitung (CAD, DTP), und weniger für kleinere Datensätze wie bei Daten-banken, denn dann kommt die Such- oder Positioniergeschwindigkeit der Festplat-ten maßgeblich ins Spiel und die prinzipiell recht hohe DaFestplat-tenübertragungsrate kann nicht ausgenutzt werden
5.11.5 RAID-Level 4
Auch die RAID-Level-4–Implementierung – Sektor Striping – verwendet wie der RAID-Level-3 ein eigenes Laufwerk für die Verarbeitung der Paritätsinformation
Im Gegensatz dazu wird hier aber Sektor-Striping eingesetzt, was bedeutet, dass
hier nicht Bit für Bit (RAID-2) oder Byte für Byte (RAID-3) verarbeitet wird, sondern Sektor für Sektor Der erste Datenblock befindet sich auf der ersten Datenfestplatte, der zweite Datenblock auf der zweiten usw
Bild 5.43: Da der RAID-Level 4 sektorweise arbeitet, stellt sich die Parity-Festplatte als »Bremse«
des Systems dar
Ein Lesevorgang betrifft unter optimalen Bedingungen daher immer nur ein einzi-ges Laufwerk, und in einem Multitasking-System (Novell, Windows NT) können daher mehrere Read-Kommandos gleichzeitig ausgeführt werden Es kann aber im-mer nur ein einziger Schreibvorgang stattfinden, auch wenn er sich auf eine
einzi-ge Datenfestplatte bezieht, denn es ist stets notwendig, die Paritätsinformation auf die ausgewählte Festplatte zu schreiben
Diese erweist sich in der Praxis dann als Flaschenhals, wenn das Verhältnis von Lese- zu Schreibzugriffen nicht sehr hoch ist Da in vielen Anwendungen eine nicht vorhersehbare Anzahl von Lese- und Schreibzugriffen erfolgt, trifft man auf RAID-4 in der Praxis eher selten
Trang 125.11.6 RAID-Level 5
Im Gegensatz zu den vorigen Stufen werden hier keine speziellen Paritätsfestplatten verwendet, sondern die Paritätsinformation wird immer zwischen die Datenblöcke
geschrieben, was auch als Sektor-Striping mit verteilter Parität bezeichnet wird Wie
beim RAID-Level-4 kommt aber auch hier das Sektor-Striping (Ablage der Daten-blöcke der Reihe nach auf jeder Festplatte) zum Einsatz
Jede Festplatte des Disk Arrays kann beim Ausfall einer beliebigen Festplatte die Daten wiederherstellen, da die Paritätsinformation gleichmäßig über alle Platten verteilt liegt
Besteht das System beispielsweise aus vier Festplatten, wird der Fehlerkorrektur-block jeweils nach jedem dritten Schreibvorgang auf die folgende Festplatte ge-schrieben, was sich in dieser Art und Weise fortsetzt und somit zur Verteilung der Paritätsinformation führt Auf Grund des Fehlens einer dedizierten Paritätsfestplatte ist es möglich, zeitgleich mehrere Lese- und Schreibzugriffe auszuführen
Bild 5.44: Die Paritätsinformation befindet sich beim RAID-Level 5 zwischen den Datenblöcken
5.11.7 RAID-Level 6 und 10
Die RAID-Level 6 und 10 sind in Umgebungen zu finden, die ein Höchstmaß an Ausfallsicherheit benötigen RAID-Level 6 verwendet Mehrfach-Parity, wodurch die Daten auch nach Ausfall zweier Festplatten wiederhergestellt werden können Ge-genüber dem verwandten Level-5 wird jedoch die Schreibleistung verringert RAID-10 stellt sich prinzipiell als eine Kombination aus RAID 0 und RAID 5 dar Hierfür werden zwei 5er-Arrays zusammengeschaltet und über die Daten aller Fest-platten wird das Disk-Striping angewendet Dies entspricht einer Kombination von zwei 5er-Plattensystemen und wird daher eben als RAID-10 bezeichnet