ISCSI

Internet SCSI (iSCSI) er en officiel standard, der blev ratificeret den 11. februar 2003 af Internet Engineering Task Force, som muliggør anvendelse af SCSI protokollen over IP datanet. iSCSI er en transportlags protokol i SCSI-3 specifikations frameworket. Andre protokoller i transportlag inkluderer SCSI Parallel Interface og Fibre Channel.

Accepteringen af iSCSI i produktionsmiljøer har eskaleret nu, da Gigabit Ethernet er almindelig. Det at bygge iSCSI-baseret Storage Area Networks (SAN) er blevet mindre dyrt og er et værdigt alternativ til at skabe Fibre Channel-baseret SANs.

Funktionalitet 
iSCSI protokollen anvender almindelig TCP til sine dataoverførsler.

Kritikere af iSCSI forventer lavere ydelse end Fibre Channel pga. af protokol overheaden som TCP tilføjer til kommunikationen mellem klient og lager. Men nye teknikker som f.eks. TCP Offload Engine (TOE) hjælper til at reducere dette overhead. Tests har vist udmærket ydelse af iSCSI SANs, hvad enten TOEs eller almindelige Gigabit Ethernet NICs blev anvendt. Faktisk kan højydelsesservere med almindelige netkort men optimerede kortdrivere yde mere end TOE kort, fordi færre interrupts og DMA overførsler er nødvendige.

Lagerenheder 
I datalager sammenhænge, muliggør iSCSI en server eller maskine til at anvende en iSCSI initiator til at forbinde til fjerntliggende target, som f.eks. diske og båndstationer på et IP datanet til block level I/O. Set fra applikationsprogammerne ser det ud som om at lagerenhederne sad lokalt. Mere komplekse miljøer består af mange værter og/eller lagerenheder kaldes Storage Area Networks (SAN).

iSCSI enheder skal ikke forveksles med Network-Attached Storage (NAS) enheder som også indeholder server software til at håndtere samtidig tilgang til f.eks. samme filer fra flere værter. SCSI enheder er ikke designet til at kunne tillade samtidig tilgang til de samme lagerblokke fra flere værter. Hvis dette forsøges uden de nødvendige check fører det til grim datakorrumpering og hvor læsning kan gå i deadlock. Der findes software der netop er designet til dette og det er klyngesoftware løser disse problemer. Se f.eks. OpenGFS eller RHEL GFS.

Industri support

Initiators

OS Support oversigt

Initiator Implementeringer

Software Initiators 
 Cisco iSCSI Driver – en af de tidligste software iSCSI initiator implementationer. Drivere blev tilgængelige for HP-UX, AIX, Linux, Solaris og Windows NT4/2000. Dets anvendelse frarådes nu grundet nyere initiators. ekstern henvisning 
 IBM iSCSI Software Initiator til AIX – tilgængelig siden version 5.2 (oktober 2002)
 FreeBSD understøttelse er under udvikling.
 HP HP-UX iSCSI Software Initiator – ekstern henvisning 
 Linux Initiators
 Core-iSCSI – Baseret på GPLed dele af den kommerciele PyX initiator. Dette projekt er genoplivet for Linux Kernel 2.6 til at lukke gabet efterladt da vedligeholdelse af Linux-iSCSI stoppede med henblik på Open-iSCSI. ekstern henvisning
 Intel-iSCSI (Intel) – Et proof-of-concept iSCSI intiator og target for Intel til Linux. ekstern henvisning
 Linux-iSCSI – baseret på Cisco Linux iSCSI driveren. Fra april 2005, har Linux-iSCSI og Open-iSCSI udviklerne forenet der kræfter på at arbejde på Open-iSCSI. ekstern henvisning
 3.xx serien understøtter Linux Kernel 2.4
 4.xx serien understøtter Linux Kernel 2.6 op til 2.6.9
 Open-iSCSI – Nyeste initiator implementering til kerne 2.6.11 og videre. Udvikling af Linux-iSCSI er blevet stoppet for at støtte dette projekt. ekstern henvisning 
 UNH-iSCSI – Initiator og target implementering fra University of New Hampshire. ekstern henvisning
 NetBSD har understøttelse i seneste udviklingsversion.
 Windows Initiators:
 Microsoft iSCSI Software Initiator til Windows – Tilgængelig til Windows 2000, Windows XP Professional og Windows Server 2003
 Rocket Division Software StarPort Storage Controller (iSCSI og AoE Software Initiator)
 Novell iSCSI Initiator til NetWare – Tilgængelig til Netware 6.5.
 Sun Solaris iSCSI Initiator – Tilgængelig fra Solaris 10 1/06 opdateringen.

iSCSI Host Bus Adapters 
iSCSI host bus adapters (HBAs) implementerer selv iSCSI protokollen på adapteren. De viser sig til OSet som en SCSI HBA. Nogle af disse iSCSI HBAs har TOE NIC og nogle har også offload iSCSI processering. Nogle adapterer anvender NVRAM til boot-konfigurering af iSCSI targets.

Følgende firmaer har udviklet iSCSI HBAs:
 Adaptec
 Alacritech
 Intel
 Qlogic
 Emulex
 Cisco

Targets 
Det meste af industrien har fokuseret på at lave iSCSI disk targets, selvom iSCSI båndstationer og medieskiftere også er populære. Indtil videre, har de fysiske enheder ikke indlejrede iSCSI grænseflader. I stedet får disse enheder SCSI Parallel Interface eller Fibre Channel grænseflader bridged ved anvendelse af iSCSI target software, eksterne bridges eller controller i enhedskassen.

Alternativt kan diske og tape targets blive virtueliseret. I stedet for at repræsentere den fysiske enhed, bliver er virtuel enhed præsenteret. Den underliggende implementation kan afvige drastisk fra den præsenterede target som bliver gjort med et Virtual Tape Library (VTL) løsninger. VTLs anvender disklager til at gemme data der bliver send til virtuelle bånd. Som med de fysiske enheder bliver de virtuelle targets presenteret ved anvendelse af iSCSI target software, eksterne bridges eller controller i enhedskassen.

Se også 
 Fibre Channel over IP (FCIP)
 ATA-over-Ethernet (AoE)
 HyperSCSI (SCSI-over-Ethernet) (sammenligning med iSCSI som er SCSI-over-IP)

RFC'er 
  – Internet Small Computer Systems Interface (iSCSI).
  – Small Computer Systems Interface (SCSI) Command Ordering Considerations with iSCSI.

Datanet
Datatransmission