iSCSI - iSCSI
I beräkning, iSCSI ( / aɪ s k ʌ z i / ( lyssna )
EYE -skuz-ee ) är en akronym för Internet Small Computer Systems Interface , en Internet Protocol (IP) -baserad nätverksstandard för att länka datalagringsmöjligheter. Det ger åtkomst till blocknivå till lagringsenheter genom att bära SCSI- kommandon över ett TCP/IP- nätverk. iSCSI används för att underlätta dataöverföringar över intranät och för att hantera lagring över långa avstånd. Den kan användas för att överföra data över lokala nätverk (LAN), breda nätverk (WAN) eller Internet och kan möjliggöra platsoberoende datalagring och hämtning.
Det protokoll tillåter kunder (kallade initiatorer ) för att skicka SCSI-kommandon ( cdbs ) och lagringsanordningar ( mål ) på fjärrservrar. Det är ett SAN -protokoll ( storage area network ) som gör det möjligt för organisationer att konsolidera lagring i lagringsarrayer samtidigt som klienter (t.ex. databas och webbserver) får illusionen av lokalt anslutna SCSI -diskar. Det konkurrerar främst med Fiber Channel , men till skillnad från traditionell Fiber Channel som vanligtvis kräver dedikerad kabeldragning kan iSCSI köras över långa avstånd med hjälp av befintlig nätverksinfrastruktur. iSCSI var banbrytande av IBM och Cisco 1998 och lämnades som ett utkast till standard i mars 2000.
Begrepp
I huvudsak tillåter iSCSI två värdar att förhandla och sedan utbyta SCSI -kommandon med hjälp av Internet Protocol (IP) nätverk. Genom att göra detta tar iSCSI en populär högpresterande lokal lagringsbuss och emulerar den över ett stort antal nätverk, vilket skapar ett lagringsområde nätverk (SAN). Till skillnad från vissa SAN -protokoll kräver iSCSI ingen särskild kabeldragning; den kan köras över befintlig IP -infrastruktur. Som ett resultat ses iSCSI ofta som ett billigt alternativ till Fibre Channel , som kräver dedikerad infrastruktur utom i formen FCoE (Fiber Channel over Ethernet). Prestandan för en iSCSI SAN -distribution kan dock försämras kraftigt om den inte används på ett dedikerat nätverk eller delnät (LAN eller VLAN ), på grund av konkurrens om en fast mängd bandbredd.
Även om iSCSI kan kommunicera med godtyckliga typer av SCSI -enheter, använder systemadministratörer det nästan alltid för att tillåta servrar (t.ex. databasservrar) att komma åt hårddiskvolymer på lagringsarrayer. iSCSI SAN har ofta ett av två mål:
- Lagringskonsolidering
- Organisationer flyttar olika lagringsresurser från servrar runt sitt nätverk till centrala platser, ofta i datacenter; Detta möjliggör mer effektiv fördelning av lagring, eftersom lagringen i sig inte längre är knuten till en viss server. I en SAN -miljö kan en server tilldelas en ny diskvolym utan några ändringar av hårdvara eller kablar.
- Katastrofåterställning
- Organisationer speglar lagringsresurser från ett datacenter till ett fjärrdatacenter, vilket kan fungera som ett hot / standby -läge vid ett längre avbrott. I synnerhet tillåter iSCSI SAN: er hela diskenheter att migreras över ett WAN med minimala konfigurationsändringar, vilket i själva verket gör lagring "routbar" på samma sätt som nätverkstrafik.
Initiativtagare
En initiator fungerar som en iSCSI -klient. En initiator tjänar vanligtvis samma syfte för en dator som en SCSI -bussadapter skulle, förutom att i stället för att fysiskt koppla SCSI -enheter (som hårddiskar och bandväxlare) skickar en iSCSI -initiator SCSI -kommandon över ett IP -nätverk. En initiativtagare faller in i två stora typer:
En programvaruinitierare använder kod för att implementera iSCSI. Vanligtvis händer detta i en drivrutin som är baserad på en kärna som använder det befintliga nätverkskortet (NIC) och nätverksstacken för att emulera SCSI-enheter för en dator genom att tala iSCSI-protokollet. Programvaruinitierare är tillgängliga för de mest populära operativsystemen och är den vanligaste metoden för att distribuera iSCSI.
En maskinvaruinitierare använder dedikerad hårdvara, vanligtvis i kombination med firmware som körs på den maskinvaran, för att implementera iSCSI. En maskinvaruinitierare minskar omkostnaderna för iSCSI- och TCP -bearbetning och Ethernet -avbrott och kan därför förbättra prestanda för servrar som använder iSCSI. En iSCSI -värdbussadapter (vanligare, HBA) implementerar en maskinvaruinitierare. En typisk HBA är förpackad som en kombination av en Gigabit (eller 10 Gigabit) Ethernet -nätverksgränssnittskontroller , någon form av TCP/IP -avlastningsmotor (TOE) -teknologi och en SCSI -bussadapter, vilket är hur det ser ut för operativsystemet. En iSCSI HBA kan innehålla PCI option ROM för att tillåta uppstart från en iSCSI SAN.
En iSCSI -avlastningsmotor , eller iSOE -kort , erbjuder ett alternativ till en fullständig iSCSI HBA. En iSOE "avlastar" iSCSI -initieringsoperationerna för detta specifika nätverksgränssnitt från värdprocessorn, vilket frigör CPU -cykler för huvudvärdprogrammen. iSCSI HBA eller iSOE används när den extra prestandaförbättringen motiverar den extra kostnaden för att använda en HBA för iSCSI, snarare än att använda en mjukvarubaserad iSCSI-klient (initiator). iSOE kan implementeras med ytterligare tjänster som TCP -avlastningsmotor (TOE) för att ytterligare minska värdserverens CPU -användning.
Mål
ISCSI -specifikationen hänvisar till en lagringsresurs som finns på en iSCSI -server (mer allmänt en av potentiellt många instanser av iSCSI -lagringsnoder som körs på den servern) som mål .
Ett iSCSI-mål är ofta en dedikerad nätverksansluten hårddisklagringsenhet, men kan också vara en dator för allmänna ändamål, eftersom programvara för att tillhandahålla ett iSCSI-mål är tillgänglig för de flesta vanliga operativsystem, liksom med initiativtagare.
Vanliga distributionsscenarier för ett iSCSI -mål inkluderar:
Lagringsmatris
I ett datacenter eller en företagsmiljö finns ett iSCSI -mål ofta i en stor lagringsmatris. Dessa matriser kan vara i form av råvaruhårdvara med fri -programvarubaserade iSCSI -implementeringar eller som kommersiella produkter som i Quantastor , CloudByte, StorTrends , Pure Storage , HP StorageWorks , EqualLogic , Tegile Systems , Nimble storage , Reduxio , IBM Storwize familj , Isilon , NetApp-filer , Dell EMC , Kaminario , NS-serien, CX4, VNX, VNXe, VMAX, Hitachi Data Systems HNAS eller Pivot3 vSTAC.
En lagringsmatris ger vanligtvis tydliga iSCSI -mål för många kunder.
Programvarumål
Nästan alla moderna vanliga serveroperativsystem (som BSD , Linux , Solaris eller Windows Server ) kan tillhandahålla iSCSI-målfunktioner, antingen som en inbyggd funktion eller med kompletterande programvara. Vissa specifika operativsystem implementerar iSCSI-målstöd.
Logiskt enhetsnummer
I SCSI -terminologi står LU för logisk enhet , som specificeras av ett unikt logiskt enhetsnummer . En LUN representerar en individuellt adresserbar (logisk) SCSI -enhet som är en del av en fysisk SCSI -enhet (mål). I en iSCSI -miljö är LUN i huvudsak numrerade hårddiskar. En initiativtagare förhandlar med ett mål för att upprätta anslutning till en LUN; resultatet är en iSCSI -anslutning som emulerar en anslutning till en SCSI -hårddisk. Initiativtagare behandlar iSCSI LUN på samma sätt som de skulle göra med en rå SCSI- eller IDE -hårddisk; till exempel, i stället för att montera fjärrkataloger som skulle göras i NFS- eller CIFS -miljöer, formaterar och hanterar iSCSI -system direkt filsystem på iSCSI LUN.
I företagsdistributioner representerar LUN vanligtvis delmängder av stora RAID -diskar, ofta tilldelade en per klient. iSCSI föreskriver inga regler eller begränsningar för flera datorer som delar enskilda LUN: er; det lämnar delad åtkomst till ett enda underliggande filsystem som en uppgift för operativsystemet.
Nätverksstart
För allmän datalagring på en redan startad dator kan vilken typ av generiskt nätverksgränssnitt som helst användas för att komma åt iSCSI-enheter. Ett generiskt gränssnitt för konsumentkvalitet kan dock inte starta en disklös dator från en fjärrstyrd iSCSI-datakälla. Istället är det vanligt att en server laddar sitt första operativsystem från en TFTP -server eller lokal startenhet och sedan använder iSCSI för datalagring när uppstart från den lokala enheten är klar.
En separat DHCP -server kan konfigureras för att hjälpa gränssnitt utrustade med nätverksstartfunktion för att kunna starta över iSCSI. I det här fallet letar nätverksgränssnittet efter en DHCP -server som erbjuder en PXE- eller bootp -startavbildning . Detta används för att starta iSCSI fjärrstartprocess, med hjälp av startnätverksgränssnittets MAC -adress för att styra datorn till rätt iSCSI -startmål. Man kan sedan använda en metod endast för att ladda ett litet startprogram som i sin tur kan montera ett avlägset iSCSI-mål som om det var en lokal SCSI-enhet och sedan starta startprocessen från nämnda iSCSI-mål. Detta kan uppnås med hjälp av en befintlig boot -ROM för Preboot Execution Environment (PXE), som finns på många trådbundna Ethernet -adaptrar. Startkoden kan också laddas från CD/DVD, diskett (eller diskettbild) och USB-lagring, eller den kan ersätta befintlig PXE-startkod på adaptrar som kan blinka om. Den mest populära kostnadsfria programvaran som erbjuder iSCSI -startstöd är iPXE .
De flesta Intel Ethernet -kontroller för servrar stöder iSCSI -start.
Adressering
iSCSI använder TCP (vanligtvis TCP-portar 860 och 3260) för själva protokollen, med namn på högre nivå som används för att adressera objekten i protokollet. Särskilda namn avser både iSCSI -initiativtagare och mål. iSCSI har tre namnformat:
- iSCSI -kvalificerat namn (IQN)
- Format: iSCSI Qualified Name är dokumenterat i RFC 3720, med ytterligare exempel på namn i RFC 3721. I korthet är fälten:
- bokstavlig iqn (iSCSI -kvalificerat namn)
- datum (åååå-mm) som namnmyndigheten tog ägandet av domänen
- omvänd domännamn för myndigheten (t.ex. org.alpinelinux, com.example, to.yp.cr)
- Valfritt ":" prefix för ett lagringsmålnamn som anges av namngivningsmyndigheten.
- Från RFC:
| Typ | . | Datum | . | Namnge Auth | : | Sträng definierad av example.com Naming Authority |
|---|---|---|---|---|---|---|
| iqn | . | 1992-01 | . | com. exempel | : | lagring: diskarrays-sn-a8675309 |
| iqn | . | 1992-01 | . | com. exempel | ||
| iqn | . | 1992-01 | . | com. exempel | : | storage.tape1.sys1.xyz |
| iqn | . | 1992-01 | . | com. exempel | : | storage.disk2.sys1.xyz |
- Utökad unik identifierare (EUI)
- Format: eui. {EUI-64 bit address} (t.ex. eui.02004567A425678D )
- T11 Network Address Authority (NAA)
- Format: naa. {NAA 64 eller 128 bitars identifierare} (t.ex. naa.52004567BA64678D )
IQN -formatadresser förekommer oftast. De är kvalificerade med ett datum (åååå-mm) eftersom domännamn kan löpa ut eller förvärvas av en annan enhet.
IEEE-registreringsmyndigheten tillhandahåller EUI i enlighet med EUI-64-standarden. NAA är en del OUI som tillhandahålls av IEEE -registreringsmyndigheten. NAA -namnformat har lagts till iSCSI i RFC 3980, för att ge kompatibilitet med namnkonventioner som används i Fiber Channel och Serial Attached SCSI (SAS) lagringsteknik.
Vanligtvis kan en iSCSI -deltagare definieras av tre eller fyra fält:
- Värdnamn eller IP -adress (t.ex. "iscsi.example.com")
- Portnummer (t.ex. 3260)
- iSCSI-namn (t.ex. IQN "iqn.2003-01.com.ibm:00.fcd0ab21.shark128")
- En valfri CHAP Secret (t.ex. "secretsarefun")
iSNS
iSCSI -initiativtagare kan hitta lämpliga lagringsresurser med hjälp av iSNS -protokollet ( Internet Storage Name Service ). I teorin förser iSNS iSCSI SAN med samma hanteringsmodell som dedikerade Fibre Channel SAN. I praktiken kan administratörer uppfylla många distributionsmål för iSCSI utan att använda iSNS.
säkerhet
Autentisering
iSCSI -initiativtagare och mål bevisar sin identitet för varandra med hjälp av CHAP , som inkluderar en mekanism för att förhindra att klartextlösenord visas på kabeln. I och för sig är CHAP sårbart för angrepp från ordlista , spoofing och reflektion . Om de följs noggrant, minskar de bästa metoderna för att använda CHAP inom iSCSI ytan för dessa attacker och minskar riskerna.
Dessutom, som med alla IP-baserade protokoll, kan IPsec fungera i nätverkslagret. ISCSI -förhandlingsprotokollet är utformat för att rymma andra autentiseringsscheman, även om interoperabilitetsproblem begränsar deras distribution.
Logisk nätverksisolering
För att säkerställa att endast giltiga initiativtagare ansluter till lagringsmatriser kör administratörer oftast iSCSI endast över logiskt isolerade bakkanalnätverk. I den här distributionsarkitekturen är det bara hanteringsportarna för lagringsarrayer som exponeras för det allmänna interna nätverket och själva iSCSI-protokollet körs över dedikerade nätverkssegment eller virtuella LAN (VLAN). Detta mildrar problem med autentisering. obehöriga användare tillhandahålls inte fysiskt för iSCSI och kan därför inte prata med lagringsarrayer. Det skapar emellertid också ett transitivt förtroendeproblem , eftersom en enda komprometterad värd med en iSCSI -disk kan användas för att attackera lagringsresurser för andra värdar.
Fysisk nätverksisolering
Även om iSCSI logiskt kan isoleras från det allmänna nätverket med endast VLAN, skiljer det sig fortfarande inte från någon annan nätverksutrustning och kan använda valfri kabel eller port så länge det finns en färdig signalväg mellan källa och mål. Bara ett enda kabelfel av en nätverkstekniker kan äventyra barriären för logisk separation, och en oavsiktlig överbryggning kan inte upptäckas omedelbart eftersom det inte orsakar nätverksfel.
För att ytterligare skilja iSCSI från det vanliga nätverket och förhindra kabelfel vid byte av anslutningar kan administratörer implementera självdefinierade standarder för färgkodning och märkning, till exempel att bara använda gulfärgade kablar för iSCSI-anslutningarna och endast blå kablar för de vanliga nätverk och tydligt märka portar och switchar som endast används för iSCSI.
Även om iSCSI skulle kunna implementeras som bara ett VLAN-kluster av portar på en stor multi-port-switch som också används för allmän nätverksanvändning, kan administratören istället välja att använda fysiskt separata switchar som endast är avsedda för iSCSI VLAN, för att ytterligare förhindra möjligheten att en felaktigt ansluten kabel som är ansluten till fel port överbryggar den logiska barriären.
Tillstånd
Eftersom iSCSI syftar till att konsolidera lagring för många servrar till en enda lagringsmatris kräver iSCSI -distributioner strategier för att förhindra att icke -relaterade initiativtagare får åtkomst till lagringsresurser. Som ett patologiskt exempel kan en enda företags lagringsmatrix innehålla data för servrar som olika regleras av Sarbanes – Oxley Act för företagsredovisning, HIPAA för information om hälsofördelar och PCI DSS för behandling av kreditkort. Under en granskning måste lagringssystem visa kontroller för att säkerställa att en server under en regim inte kan komma åt lagringstillgångarna för en server under en annan.
Vanligtvis mappar iSCSI -lagringsarrayer uttryckligen initiativtagare till specifika mål -LUN: er; en initiativtagare autentiserar inte till lagringsmatrisen, utan till den specifika lagringstillgång som den tänker använda. Eftersom mål -LUN: erna för SCSI -kommandon uttrycks både i iSCSI -förhandlingsprotokollet och i det underliggande SCSI -protokollet måste man dock vara noga med att säkerställa att åtkomstkontroll tillhandahålls konsekvent.
Sekretess och integritet
För det mesta fungerar iSCSI som ett klartextprotokoll som inte tillhandahåller något kryptografiskt skydd för data i rörelse under SCSI -transaktioner. Som ett resultat kan en angripare som kan lyssna på iSCSI Ethernet -trafik:
- Rekonstruera och kopiera filer och filsystem som överförs på kabeln
- Ändra innehållet i filer genom att injicera falska iSCSI -ramar
- Korrupta filsystem som öppnas av initiativtagare, vilket utsätter servrar för programvarufel i dåligt testade filsystemkoder.
Dessa problem uppstår inte bara med iSCSI, utan gäller snarare alla SAN -protokoll utan kryptografisk säkerhet. IP-baserade säkerhetsprotokoll, till exempel IPsec , kan ge denna trafik standardbaserat kryptografiskt skydd.
Implementeringar
Operativsystem
Datumen i följande tabell anger det första utseendet på en inbyggd drivrutin i varje operativsystem. Tredjepartsdrivrutiner för Windows och Linux fanns tillgängliga redan 2001, speciellt för att ansluta IBM: s IP Storage 200i-apparat.
| OS | Första släppdatum | Version | Funktioner |
|---|---|---|---|
| IBM i | 2006-10 | V5R4M0 (som i5/OS) | Mål, Multipath |
| VMware ESX | 2006-06 | ESX 3.0, ESX 4.0, ESXi 5.x, ESXi 6.x | Initiativtagare, Multipath |
| AIX | 2002-10 | AIX 5.3 TL10, AIX 6.1 TL3 | Initiativtagare, mål |
| Windows | 2003-06 | 2000, XP Pro, 2003, Vista, 2008, 2008 R2, Windows 7, Windows 8, Windows Server 2012, Windows 8.1, Windows Server 2012 R2, Windows 10, Windows Server 2016 | Initiativtagare, mål, flerväg |
| NetWare | 2003-08 | NetWare 5.1, 6.5 och OES | Initiativtagare, mål |
| HP-UX | 2003-10 | HP 11i v1, HP 11i v2, HP 11i v3 | Initiativtagare |
| Solaris | 2002-05 | Solaris 10, OpenSolaris | Initiativtagare, Target, Multipath, iSER |
| Linux | 2005-06 | 2.6.12, 3.1 | Initiativtagare (2.6.12), Target (3.1), Multipath, iSER , VAAI |
| OpenBSD | 2009-10 | 4.9 | Initiativtagare |
| NetBSD | 2002-06 | 4,0, 5,0 | Initiativtagare (5.0), Mål (4.0) |
| FreeBSD | 2008-02 | 7,0 | Initiator (7.0), Target (10.0), Multipath, iSER , VAAI |
| OpenVMS | 2002-08 | 8,3-1H1 | Initiativtagare, Multipath |
| Mac OS | 2008-07 | 10.4— | Ej tillgängligt |
Mål
De flesta iSCSI-mål involverar disk, även om iSCSI-tejp och mål för mellanväxlare också är populära. Hittills har fysiska enheter inte presenterat inbyggda iSCSI -gränssnitt på komponentnivå. Istället överbryggas enheter med parallella SCSI- eller Fiber Channel -gränssnitt med hjälp av iSCSI -målprogramvara, externa bryggor eller styrenheter som är interna i enhetens kapsling.
Alternativt är det möjligt att virtualisera disk- och bandmål. I stället för att representera en faktisk fysisk enhet presenteras en emulerad virtuell enhet. Den underliggande implementeringen kan avvika drastiskt från det presenterade målet, vilket görs med produkter med virtuellt bandbibliotek (VTL). VTL använder disklagring för att lagra data som skrivs till virtuella band. Precis som med faktiska fysiska enheter presenteras virtuella mål med hjälp av iSCSI -målprogramvara, externa broar eller kontroller internt i enhetens kapsling.
Inom säkerhetsproduktindustrin använder vissa tillverkare en iSCSI RAID som mål, där initiativtagaren antingen är en IP-aktiverad kodare eller kamera.
Omvandlare och broar
Det finns flera system som gör att Fiber Channel-, SCSI- och SAS -enheter kan anslutas till ett IP -nätverk för användning via iSCSI. De kan användas för att tillåta migrering från äldre lagringsteknik, åtkomst till SAN från fjärrservrar och länkning av SAN över IP -nätverk. En iSCSI -gateway överbryggar IP -servrar till Fibre Channel SAN. TCP -anslutningen avslutas vid gatewayen, som implementeras på en Fiber Channel -switch eller som en fristående apparat.
Se även
- ATA-over-Ethernet (AoE)
- Fiber Channel over Ethernet (FCoE)
- Fiber Channel over IP (FCIP)
- HyperSCSI SCSI över Ethernet -ramar istället för IP (som iSCSI är)
- Krav på ISCSI -överensstämmelsestestning och testverktyg
- iSCSI -tillägg för RDMA (iSER)
- Internet Fiber Channel Protocol (iFCP)
- Internet Storage Name Service (iSNS)
- LIO Linux SCSI -mål
- Network block device (NBD)
- Den SCST Linux SCSI mål mjukvarustapel
- Service Location Protocol
Anteckningar
Referenser
Vidare läsning
- RFC 3720 - Internet Small Computer Systems Interface (iSCSI) (föråldrat)
- RFC 3721 - Internet Small Computer Systems Interface (iSCSI) Naming and Discovery (uppdaterat)
- RFC 3722 - Strängprofil för Internet Small Computer Systems Interface (iSCSI) namn
- RFC 3723 - Säkra blocklagringsprotokoll över IP (omfattning: Användning av IPsec och IKE för att säkra iSCSI, iFCP, FCIP, iSNS och SLPv2.)
- RFC 3347 - Små datorsystemgränssnittsprotokoll över Internet (iSCSI) Krav och designhänsyn
- RFC 3783 - Small Computer Systems Interface (SCSI) Command Ordering Overväganden med iSCSI
- RFC 3980 - T11 Network Address Authority (NAA) Namningsformat för iSCSI -nodnamn (föråldrad)
- RFC 4018 - Hitta Internet Small Computer Systems Interface (iSCSI) Mål och namnservrar med hjälp av Service Location Protocol version 2 (SLPv2)
- RFC 4173 - Bootstrapping -klienter som använder Internet Small Computer System Interface (iSCSI) -protokoll
- RFC 4544 - Definitioner av Managed Objects for Internet Small Computer System Interface (iSCSI)
- RFC 4850 - Declarative Public Extension Key for Internet Small Computer Systems Interface (iSCSI) Node Architecture (föråldrad)
- RFC 4939 - Definitioner av hanterade objekt för iSNS (Internet Storage Name Service)
- RFC 5048 - Internet Small Computer System Interface (iSCSI) Korrigeringar och förtydliganden (föråldrade)
- RFC 5047 - DA: Datamover Architecture for the Internet Small Computer System Interface (iSCSI)
- RFC 5046 - Internet Small Computer System Interface (iSCSI) -tillägg för Remote Direct Memory Access (RDMA)
- RFC 7143 - Internet Small Computer System Interface (iSCSI) Protocol (konsoliderat)