SCSI V1.5 (c) Stor IT Back 2026
SCSI (Small Computer System Interface) ist veraltet, es ist vor über 20 Jahre entwickelt worden
und war lange Zeit das wichtigste Bussystem bzw. Schnittstelle für Massenspeicher im Server-Bereich.
Der Nachfolger, das serielle SCSI (SAS) löste jedoch das veraltete SCSI als Anschlussmedium für Storage komplett ab.
Aber das SCSI Protokoll wird immer noch verwendet, es steckt in Fibre Channel, iSCSI, SAS und vielen anderen Protokollen.
Aber warum neue Hardware, wenn das Protokoll doch noch immer in Verwendung ist? Die SCSI-Hardware war ausgereizt. Es waren Übertragungsraten von bis zu 320 MB/s
möglich. Mit dem Einsatz der LVD (Low Voltage Differential) Technik war der
Anschluss von bis zu 15 Geräten mit einer Gesamtlänge des Busses von 16 Metern
möglich.
Eine Weiterentwicklung des parallelen SCSI-Bus ist das serielle
Fibre Channel.
In diesem Fall wird das SCSI-Protokoll über Fibre Channel übertragen. Hierbei
sind Entfernungen von mehr als 10 km möglich mit Übertragungsraten bis zu 1600
MB/s.
Der SCSI-Bus ist unabhängig vom Betriebssystem, sowie der verwendeten
Hardware. In der Laufzeit von SCSI haben sich immer neue Varianten
entwickelt. Begonnen wurde mit SCSI 1, einer 8 bit breiten Übertragung mit 5
MB/s. Es folgten Wide-SCSI mit 16 bzw. 32 bit Busbreite. Die Übertragungsrate
wurde mit SCSI 3 auf bis zu 320 MB/s gesteigert. Bei 320 MB/s ist aber eine
technische Grenze erreicht, die nur mit serieller Übertragung durchbrochen
werden kann.
Das serielle Medium ist seit 2006 im weltweiten Einsatz in Server und
RAID-Systemen und übernimmt immer mehr die Rolle von SCSI. Die Weiterentwicklung
wurde passend "Serial Attached SCSI" oder kurz
SAS genannt.
Auch eine weitere Technologie basiert auf dem SCSI Protokoll: Dies ist iSCSI, das SCSI Protokoll
wird über Ethernet (TCP/IP) transportiert.
SCSI ist ein paralleler Bus, an dem die Teilnehmer per Kabel angeschlossen werden. Die beiden Enden dieses Busses müssen mit geeigneten Terminatoren abgeschlossen werden. Am SCSI-Bus werden zwei verschiedene Gerätearten angeschlossen. Dies ist einmal der "Initiator", ein Gerät, welches mit einer Kommunikation beginnen möchte. Einen Transfer initiieren kann nur ein Server. Er spricht ein Target an. Dieses Gerät kann von sich aus keine Kommunikation beginnen, es empfängt und sendet nur Daten wenn es aufgefordert wird. Dies sind Festplatten oder Bandlaufwerke. Ein Target in einem SCSI-Bus besitzt eine weitere Unterteilung, die LUN (logical unit number). Eine LUN kann eine Unterteilung der physikalischen Platte sein, so dass der Server die physikalische Platte als mehrere logische Platten ansieht. Ein Initiator kann zeitweise auch zu einem Target werden. Hiermit wird auch ein Datenaustausch zwischen Servern möglich.

SCSI besteht einmal aus den physikalischen Verbindungen, den Steckern und Kabeln
und zum anderen aus dem Protokoll. Die elektrischen Signale unterscheiden sich
je nach Art des SCSI-Bus. Beim "single ended" SCSI besitzt der logische Wert
"wahr" eine elektrische 1, der Wert "falsch" eine elektrische 0. Bei "differential"
SCSI, entweder LVD (low voltage differential) oder HVD (high voltage differential),
ist der logische Wert "wahr" dann erfüllt, wenn das + Signal positiver als das
- Signal ist.
Neuere Devices basieren auf dem LVD Standard und ermöglichen meist eine automatische
Anpassung zwischen "single-ended" oder "differential". So wie ein "single
ended" Gerät in einem Bus erkannt wird, dann werden immer alle Teilnehmer
im "single-ended" Modus betrieben. Das kann aber auch zur Störung eines
vorher störungsfrei laufenden Busses führen, da bei SE (single ended)
andere Längenbegrenzungen gelten.
Für eine sichere und störungsfreie Signalübertragung ist die Terminierung des
Buses auf beiden Seiten unerlässlich. Für schnellere Übertragungsgeschwindigkeiten
ist nur die aktive Terminierung erlaubt. Die aktive Terminierung ist in ihren
Werten so definiert, so dass die Signalverläufe der Datenleitungen in allen
Betriebsbereichen eine ausreichend gute Signalgüte aufweisen.
Anders als bei anderen Systemen, gibt es keine festgelegt Taktrate. Die Signalzeiten
sind mit einer gewissen Toleranz definiert. Sie folgen aufeinander als logische
Reihenfolge. Daher sind die Übertragungsraten (z.B. 320 MB/s) auch nur Richtwerte,
bei optimal aufeinander abgestimmten Systemen in einem Bus.
SCSI 1: max. 8 Geräte, max. 5 MB/s, kein WideSCSI, keine serielle Übertragung, passive Terminierung
SCSI 2: max. 8 Geräte, max. 8 LUNs, max. 20 MB/s, WideSCSI, serielle Übertragung (SSA) wird nicht weiter entwickelt, aktive Terminierung
SCSI 3: max. 32 Geräte, max. 32 LUNs, max. 320 MB/s parallel, 400 MB/s seriell, serielle Übertragung, aktive Terminierung
Anmerkung: SCSI 1, 2 und 3 sind eigentlich nur Entwicklungsstufen der SCSI-Norm und nicht direkt mit Übertragungsgeschwindigkeiten verknüpft. Es gibt also beispielsweise keinen SCSI-2 Stecker und ein SCSI-3 Kabel.
In der SCSI-Verkabelung gibt es unterschiedliche Stecker. Alles begann mit
50 poligen Steckverbindern oder gar Centronics Steckern (bekannt von Druckern)
und endet heute mit 68-poligen Steckern, als HD68 oder VHDCI (VHD68). Eine Besonderheit
nehmen die SCA-Stecker an Festplatten ein. Sie dienen in Wechselrahmen als Verbindung
zwischen der Festplatte und der Backplane des Einschubrahmens. Für die Umsetzung
zwischen den einzelnen Steckverbindern gibt es Adapter, so zum Beispiel auch,
um eine SCA-Festplatte an ein 68 poliges Kabel anzuschließen. Da über den SCA-Stecker
auch die SCSI-ID eingestellt wird, enthalten die Adapter auch Schalter für die
SCSI-ID.
Sollen gemischte SCSI und Wide-SCSI Geräte miteinander verbunden werden,
dann müssen jeweils alle Leitungen terminiert werden. Sitzt am Ende des
Busses nur ein SCSI-Gerät, dann muss das letzte Wide-SCSI-Gerät die
restlichen Leitungen terminieren.
Die wichtigste Funktion ist die Verbindung von Servern mit ihren Festplatten (siehe DAS-Systemen), Bandgeräten (siehe Backup) und anderen Speichermedien. Dies wird unabhängig vom Betriebssystem und den jeweiligen Geräten aufgebaut. Um dies zu erreichen wurden in SCSI 2 verschiedene Geräteklassen definiert, die einen einheitlichen Befehlssatz verarbeiten können. Es wurden unter anderem "direct access devices" (Festplatten), "sequential access devices" (Bandlaufwerke) und "medium changer devices" (Bandwechsel-Roboter) definiert. Dies soll in einem gewissen Maße den Austausch der Geräte ermöglichen. Im Bereich Festplatten ist dies möglich, jedoch bestehen gerade bei Bandlaufwerken und Robotern gewisse Unterschiede. Beispiel-Anwendungen für SCSI-Geräte finden sich auch unter den Angeboten der Stor IT Back. Dies sind zum Beispiel DAS-Systeme oder Tape-Libraries.
Im SCSI-Protokoll stößt der Initiator eine Übertragung an. Das Zielsystem, das Traget übernimmt dann die weitere Kontrolle der Verbindung. Dies ist anders als bei anderen Verbindungstypen. Daher sind die Begriffe Master und Slave beim SCSI-Protokoll nicht verwendet worden. Die eindeutige Identifizierung eines Gerätes im Bus wird über die SCSI-ID festgelegt. Jede ID kann in einem Bus nur einmal vorkommen. Eine Unterteilung der SCSI-ID ist die LUN (logical unit number). Es wird also streng genommen zwischen den LUNs der einzelnen SCSI-IDs kommuniziert. Wird keine LUN angegeben, so wird die LUN 0 verwendet. Mit der SCSI-ID wird auch eine Priorität verknüpft. Die höchste Priorität besitzt die ID 7 und fällt bis zur 0 ab, danach folgen die IDs 15 bis 8, dann 23 bis 16 und zum Schluss die 31 bis 24. Sollten zwei Initiatoren zur gleichen Zeit eine Anfrage an den Bus stellen, so gewinnt die ID mit der höheren Priorität.
Was ist SCSI – als Protokoll betrachtet?
SCSI ist ein Satz von Regeln, wie ein System Speichergeräte anspricht: welche Befehle es gibt, wie Antworten aussehen und wie Fehler gemeldet werden. Wichtig: SCSI ist nicht nur alte Kabeltechnik, sondern die Logik hinter sehr vielen Storage-Zugriffen, lokal wie über das Netzwerk. Wenn ein Host ein Volume als Blockgerät sieht, stecken dahinter oft SCSI-Kommandos (oder ein modernes Äquivalent). In Unternehmensumgebungen begegnet dir SCSI besonders über iSCSI, Fibre Channel oder SAS,also als Protokoll, das über verschiedene Transporte läuft.
Was bedeutet Block Storage im Zusammenhang mit SCSI?
Block Storage heißt: Der Host sieht den Speicher wie eine Festplatte mit Blöcken/Segmenten und verwaltet darauf selbst Partitionen und Dateisysteme. SCSI ist genau für diese Art Zugriff gebaut: lesen/schreiben in festen Blöcken, plus Verwaltungsbefehle (z.B. Kapazität abfragen). Das ist anders als bei einem Dateiprotokoll wie SMB/NFS, bei dem Dateien und Ordner direkt über das Netzwerk angeboten werden. Beispiel: Eine Datenbank auf einem SAN-LUN nutzt typischerweise Block Storage und damit SCSI-Logik.
Welche Rollen gibt es in SCSI (Initiator/Target/LUN) und was bedeuten sie?
Der Initiator ist der Anfrager (meist der Host/Server), der SCSI-Befehle sendet. Das Target ist das Ziel (Storage-System oder Controller), das diese Befehle annimmt und beantwortet. Eine LUN (Logical Unit Number) ist eine logische Einheit innerhalb des Targets, ein bestimmtes Volume/Device, das der Host anspricht. Tipp: Viele Fehlkonfigurationen passieren, wenn ein Host mehr LUNs sieht als geplant (z.B. durch falsches Zoning/Mapping), sauberer Zugriff beginnt mit sauberer Zuordnung.
Welche Arten von SCSI-Befehlen sind im Alltag relevant?
Am häufigsten sind READ/WRITE (Daten lesen/schreiben) sowie Kommandos wie INQUIRY (Geräteinformationen abfragen) und REPORT LUNS (welche LUNs gibt es?). Dazu kommen Verwaltungsbefehle wie Kapazität abfragen oder Cache-/Flush-Operationen, die für Datenkonsistenz wichtig sind. Admins merken das z.B. bei Rescans“ Der Host nutzt solche Befehle, um neue oder geänderte LUNs zu erkennen. Praxis-Tipp: Wenn ein neues Volume nicht auftaucht, ist oft nicht die Platte kaputt, sondern INQUIRY/REPORT LUNS erreicht das Target nicht oder wird gefiltert.
Wie meldet SCSI Fehler – und warum sind Sense Codes wichtig?
SCSI trennt Befehl fehlgeschlagen von warum fehlgeschlagen: Der Host bekommt einen Status und zusätzliche Fehlerdetails, häufig über sogenannte Sense-Daten (Fehlerkategorie + genauer Grund). Das hilft zu unterscheiden, ob es ein temporäres Problem (z.B. Device busy) oder ein ernstes Problem (z. B. Medienfehler) ist. In Logs tauchen dann oft Kürzel auf, die auf diese Sense-Informationen zurückgehen. Tipp: Für Troubleshooting ist die genaue Sense-Meldung oft wertvoller als die generische Aussage I/O error.
Was ist der Unterschied zwischen Check Condition, Busy und Task Aborted?
Check Condition bedeutet: Der Befehl war nicht erfolgreich, und das Gerät liefert Details, warum (z.B. ungültiger Parameter, Medium-Fehler). Busy heißt meist: Das Target ist gerade ausgelastet oder kann den Befehl momentan nicht annehmen, das kann bei Spitzenlast oder internen Vorgängen auftreten. Task Aborted deutet darauf hin, dass ein laufender Auftrag abgebrochen wurde, z. B. wegen Timeout, Reset oder Pfadproblemen. Praxis-Tipp: Wenn Sie viele Busy-Meldungen sehen, ist das eher ein Kapazitäts-/Performance-Thema; bei Aborted eher Pfad-/Stabilität.
Wie kommt SCSI über das Netzwerk – iSCSI und Fibre Channel in einem Satz erklärt?
SCSI ist die Sprache, iSCSI und Fibre Channel sind zwei Wege, diese Sprache zu transportieren. iSCSI kapselt SCSI in IP-Netzwerkverkehr, Fibre Channel transportiert SCSI in einem dedizierten Storage-Netz. Für Admins ist wichtig: Obwohl das Medium anders ist, sind viele Konzepte gleich (LUNs, Initiator/Target, Multipathing). Tipp: Bei iSCSI sind Netzwerkdesign und Latenz/Jitter besonders kritisch; bei FC sind Zoning und Fabric-Redundanz oft die Haupthebel.
Was bedeutet SCSI over SAS und warum wirkt es für das OS oft identisch?
SAS ist ein Transport, der SCSI-Kommandos sehr direkt für lokale/nahe Storage-Anbindungen nutzt. Für das Betriebssystem sieht ein SAS-angebundenes Volume oft ähnlich aus wie ein SAN-LUN: Es ist ein Blockgerät, das SCSI-Operationen versteht. Das erklärt, warum viele Diagnose- und Multipath-Konzepte sich ähneln, obwohl die physische Anbindung anders ist. Praxisbeispiel: Auch bei lokalem Storage können SCSI-Timeouts und Resets auftreten und sehen im Log ähnlich aus wie im SAN.
Was sind SCSI Reservations und wofür braucht man Persistent Reservations?
Reservations sind Mechanismen, mit denen ein Host exklusiven oder koordinierten Zugriff auf ein Volume steuern kann. Persistent Reservations sind dafür gedacht, in Cluster-Setups (z.B. Failover-Cluster) sauberes Ownership und Failover zu ermöglichen, ohne dass ein hängen gebliebenes Lock alles blockiert. Das ist wichtig, wenn mehrere Hosts prinzipiell Zugriff haben, aber nicht gleichzeitig schreiben dürfen. Praxis-Tipp: Bei Cluster-Problemen lohnt ein Blick auf Reservations/PR-Status, weil falsche oder stale Reservations sich wie Storage ist kaputt anfühlen können.




