Stor IT Back - Ihr Speicherspezialist
SCSI V1.4 (c) Stor IT Back 2008
SCSI (Small Computer System Interface) 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.
Die SCSI-Technik ist ausgereift. Es sind Übertragungsraten von bis zu 320 MB/s
möglich. Mit dem Einsatz der LVD> (Low Voltage Differential) Technik ist der
Anschluss von bis zu 15 Geräten mit einer Gesamtlänge des Busses von 16 Metern
möglich. Eine andere 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 800
MB/s. Der SCSI-Bus ist unabhängig vom Betriebssystem, sowie der verwendeten
Hardware. Mit der Weiterentwicklung 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. Dieses 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.