Toepassing van iSCSI in dataopslagsystemen. Een oude server omzetten in een iSCSI-doel met behulp van Enterprise Storage OS (ESOS) Afhankelijk van de iSCSI Initiator Service Serverservice

Internet Small Computer System Interface (iSCSI) is een protocol voor gegevensoverdracht dat is ontworpen voor het uitwisselen van gegevens tussen servers en opslagsystemen (Storage Area Network, SAN). iSCSI is een combinatie van het SCSI-protocol en de TCP/IP-protocolstack en is ontworpen om gegevensblokken over Ethernet-netwerken over te dragen. SCSI-besturingsopdrachten worden verzonden binnen IP-pakketten, en TCP zorgt voor stroomcontrole en betrouwbaarheid van de gegevensoverdracht.

Bij gebruik van iSCSI worden gegevens tussen de server en het opslagsysteem in blokken, in ruwe vorm, overgedragen. Hierdoor kunt u het SAN bijna gebruiken alsof het rechtstreeks met de server is verbonden, in plaats van via het netwerk. Het hostsysteem kan logische partities op het SAN maken, deze formatteren en gebruiken als gewone lokale harde schijven. Dit is het belangrijkste verschil tussen een SAN en Network Area Storage (NAS), die op bestandssysteemniveau werken en protocollen voor bestandsoverdracht gebruiken, zoals SMB of CIFS.

iSCSI-technologie is ontwikkeld als een goedkoper alternatief voor Fibre Channel (FC). Op iSCSI gebaseerde systemen ondersteunen standaardprotocollen en kunnen worden gebouwd op elke bestaande netwerkinfrastructuur die het IP-protocol ondersteunt. Voor de werking kan iSCSI gebruik maken van de meest voorkomende netwerkapparaten (switches, routers, netwerkadapters, enz.), terwijl FC speciale HBA's, optische kabels en andere dure apparatuur nodig heeft.

De iSCSI-architectuur is client-server en omvat de volgende componenten:

iSCSI-initiator- een clientcomponent die verbindingsverzoeken verzendt naar de iSCSI Target-component die zich aan de serverzijde bevindt. De initiator kan worden geïmplementeerd in software, in de vorm van een driver, of in hardware, in de vorm van een speciale iSCSI-adapter.

iSCSI-doel- een servercomponent die naar clientverzoeken luistert en een verbinding tot stand brengt tussen de client en de iSCSI-server. Bovendien is het doel gekoppeld aan virtuele iSCSI-schijven, en zodra de verbinding tot stand is gebracht, worden alle virtuele schijven die aan dit doel zijn gekoppeld, beschikbaar via de initiator. Een iSCSI Target kan een gespecialiseerd opslagsysteem zijn of een gewone Windows-server waarop de iSCSI Target-rol is geïnstalleerd.

iSCSI virtuele schijven - gebruikt om schijfruimte te verdelen in logische partities (Logical Unit Number, LUN). In Windows Server 2012 zijn iSCSI LUN's gewone virtuele schijven in de VHD\VHDX-indeling. Overigens werd in Windows Server 2012 alleen het VHD-formaat ondersteund voor iSCSI, waardoor de maximale LUN-grootte een limiet van 2TB had. Windows Server 2012 R2 gebruikt het VHDX-formaat, waarmee u LUN's tot 64TB groot kunt maken.

Laten we nu stoppen en enkele punten verduidelijken:

Elke iSCSI-server kan een of meer iSCSI-doelen hebben;
Elke iSCSI Target kan worden aangesloten op een of meer virtuele schijven;
Elke iSCSI Target kan een of meer verbindingen vanaf een iSCSI Initiator bedienen;
Elke iSCSI Initiator kan op zijn beurt verbinding maken met een of meer iSCSI Targets en dus met een of meer virtuele schijven.

Bovendien ondersteunt Windows Server 2012 een loopback-configuratie waarbij zowel het doel als de initiator zich op dezelfde server kunnen bevinden.

iSCSI-ondersteuning is al geruime tijd beschikbaar in Microsoft-besturingssystemen. De eerste versie van Microsoft iSCSI Initiator werd als afzonderlijk onderdeel geïnstalleerd in Windows 2000, Windows XP SP2 en Windows Server 2003 SP1, en vanaf Windows Server 2008 en Vista werd iSCSI Initiator in het besturingssysteem ingebouwd.

Wat iSCSI Target betreft, het maakte oorspronkelijk deel uit van een speciale versie van het Windows Data Storage Server 2003-serverbesturingssysteem, dat bedoeld was voor het bouwen van opslagsystemen en alleen in een vooraf geïnstalleerde vorm werd geleverd. Sinds 2011 is Microsoft iSCSI Software Target 3.3 echter beschikbaar om te downloaden en te installeren op Windows Server 2008R2, en in Windows Server 2012 is het volledig geïntegreerd in het systeem en geïnstalleerd als een serverrol.

Laten we het theoretische gedeelte afronden en beginnen met oefenen. Om te configureren nemen we de eenvoudigste optie; we gebruiken twee servers waarop Windows Server 2012 R2 is geïnstalleerd als proefpersonen: SRV2 voor de iSCSI Target-rol en SRV3 voor de iSCSI Initiator.

De iSCSI Initiator-service starten

Laten we eerst de status van de initiatorservice op SRV3 controleren. Om dit te doen, opent u Server Manager en selecteert u “iSCSI Initiator” in het menu “Tools”.

Zoals u kunt zien, is de service standaard niet actief. Door op “Ja” in het dialoogvenster te klikken, starten we de iSCSI Initiator-service en zetten deze in de automatische opstartmodus.

Ga vervolgens in het eigenschappenvenster naar het tabblad “Configuratie” en onthoud de IQN-waarde, deze zal nuttig voor ons zijn bij het instellen van de server.

IQN (iSCSI gekwalificeerde naam) is een unieke identificatiecode die aan elke iSCSI Target en Initiator wordt toegewezen. Het IQN wordt gevormd op basis van de datum (maand en jaar) van domeinregistratie, de officiële domeinnaam achterstevoren gespeld, en elke willekeurige naam zoals de servernaam. Het blijkt zoiets als dit: iqn:1991-05.com.microsoft:srv3.contoso.com

U kunt de iSCSI Initiator-service starten en de startmodus instellen vanaf de PowerShell-console met behulp van de volgende opdrachten:

Start-Service msiscsi
Set-Service msiscsi -StartupType automatisch

De rol iSCSI Target Server installeren

Laten we nu verder gaan met SRV2 en beginnen met het instellen van het servergedeelte. Het eerste dat we moeten doen is de iSCSI Target-rol op de server installeren. Open Server Manager, volg de link “Rollen en functies toevoegen”

En selecteer de rol “iSCSI Target Server”, die zich bevindt in de sectie File and Storage Services\File and iSCSI Services.

Of gebruik de PowerShell-opdracht:

Installeren-WindowsFeature -Naam FS-iSCSITarget-Server

De schijf voorbereiden

Laten we nu een fysieke schijf voorbereiden die zal worden gebruikt om virtuele iSCSI-schijven op te slaan. Speciaal hiervoor wordt een nieuwe harde schijf van 120 GB op de server aangesloten. De schijf is momenteel inactief (offline). Om het in Serverbeheer te activeren, gaat u naar de sectie Bestands- en opslagservices -> Schijven, klikt u op de schijf en brengt u deze over naar Online.

Nu moet u een nieuwe partitie (of volume) op deze schijf maken, waarvoor we het item Nieuw volume in het contextmenu selecteren.

Selecteer de fysieke schijf waarop het volume wordt gemaakt

geef de volumegrootte aan

en selecteer de stationsletter.

Vervolgens selecteren we het bestandssysteem voor de schijf, de sectorgrootte en specificeren we het volumelabel. Ik wil u eraan herinneren dat virtuele iSCSI-schijven alleen kunnen worden gemaakt op NTFS-volumes; het nieuwe ReFS-bestandssysteem (Resilient File System) wordt niet ondersteund.

We kijken naar de samenvattende informatie en als alles correct is, klikken we op "Maken", waarmee het maken van het volume wordt gestart.

Dezelfde stappen kunnen worden uitgevoerd met PowerShell. Zoek de vereiste schijf:

Get-schijf | waar ($_.OperationeleStatus -eq ″Offline″)

Wij vertalen het online:

Set-Disk -Nummer 1 -IsOffline $false

Initialiseren:

Initialiseer schijf - Nummer 1

Maak een sectie:

Nieuwe partitie - Schijfnummer 1 - UseMaximumSize - DriveLetter D

En formatteer het naar NTFS:

Format-Volume -Stationsletter D -FileSystem NTFS -NewFileSystemLabel ″iSCSI-opslag″

Virtuele iSCSI-schijven maken

Het volgende punt in ons programma is het maken van virtuele iSCSI-schijven. Om dit te doen, gaat u naar de iSCSI-sectie en klikt u op de link, waardoor de volgende wizard wordt gestart.

Selecteer het volume waarop de virtuele schijf wordt opgeslagen.

Geef de schijf een naam en beschrijving.

Geef de grootte van de virtuele schijf en het type op. U kunt kiezen uit drie opties:

Vaste grootte - de aangemaakte schijf neemt onmiddellijk het volledige toegewezen volume in beslag. Dit is de meest productieve, maar minst economische optie;
Dynamisch uitbreiden - er wordt in eerste instantie een schijf van minimale grootte gemaakt, die vervolgens dynamisch wordt gewijzigd, afhankelijk van de hoeveelheid gegevens die ernaar is geschreven. De beste optie in termen van schijfruimtegebruik;
Verschillend - bij deze optie moet u de locatie opgeven van de bovenliggende schijf waaraan de gemaakte schijf zal worden gekoppeld. Een verschilschijf kan vast of dynamisch zijn, afhankelijk van het type ouder. Dit type schijf heeft zijn voordelen, maar persoonlijk zie ik niet veel nut in het gebruik ervan voor iSCSI.

Nu moet u het iSCSI-doel opgeven waarmee deze schijf zal worden verbonden. Omdat er geen doel op de server is aangemaakt, selecteert u “Nieuw iSCSI-doel”.

We geven het doelwit een naam en beschrijving.

En we geven aan welke servers er toegang toe hebben.

Bij het kiezen van servers kunt u twee methoden gebruiken. Als de initiator Windows Server 2012 of Windows 8 gebruikt, kunt u eenvoudig op “Bladeren” klikken en de gewenste server uit de lijst selecteren. Voor oudere systemen moet u de server-ID handmatig invoeren. Als identificatie kunt u de IQN van de initiator, de DNS-naam of het IP-adres van de server, of het MAC-adres van de netwerkadapter opgeven.

Laten we verder gaan. Op de volgende pagina kunt u CHAP-authenticatie tussen servers configureren. CHAP (Challenge Handshake Authentication Protocol) is een protocol voor het verifiëren van de authenticiteit van een verbindingspartner, op basis van het gebruik van een gedeeld wachtwoord of geheim. Voor iSCSI kunt u CHAP-verificatie in één richting of in twee richtingen (omgekeerde) inschakelen.

We controleren of de instellingen correct zijn en beginnen met het maken van de schijf.

Laten we proberen hetzelfde te doen met PowerShell. Laten we nog een virtuele iSCSI-schijf van 20 GB maken met de opdracht:

Nieuw-IscsiVirtualDisk -Pad D:\iSCSIVirtualDisks\iSCSI2.vhdx

Houd er rekening mee dat er standaard een dynamische schijf wordt gemaakt; om een ​​VHD met een vaste grootte te maken, moet u de sleutel gebruiken -Gebruik vast.

Nu maken we een tweede iSCSI Target met de naam iscsi-target-2 en specificeren we IQN SRV3 als de toegangsserver:

Nieuw-IscsiServerTarget -TargetName iscsi-target-2 -InitiatorIds ″IQN:iqn.1991-05.com.microsoft:srv3.contoso.com″

En controleer het resultaat met het commando:

Get-IscsiServerTarget | fl Doelnaam, LunMappings

Verbinding

We keren terug naar SRV2, openen het venster met initiatoreigenschappen, gaan naar het tabblad Ontdekken en klikken op de knop Ontdek Portal.

Voer de naam of het IP-adres van de portal in en klik op OK.

Standaard gebruikt iSCSI alle beschikbare IP-adressen, en als u wilt dat iSCSI-verkeer alleen via een specifieke netwerkinterface gaat, moet u naar de geavanceerde instellingen gaan en het gewenste IP-adres opgeven in het veld 'Verbinden via'.

Ga nu naar het tabblad Targets, waar alle iSCSI Targets die beschikbaar zijn voor verbinding moeten worden weergegeven. Selecteer het gewenste doel en klik op “Verbinden”.

Vergeet niet het selectievakje 'Deze verbinding toevoegen aan de lijst met favoriete doelen' aan te vinken, wat zorgt voor een automatische verbinding met het doel wanneer de machine wordt uitgeschakeld of opnieuw wordt opgestart.

De verbinding is tot stand gebracht en als u de module Schijfbeheer opent, verschijnt daar een nieuwe schijf. Vervolgens behandelen we deze schijf op dezelfde manier als met een gewone harde schijf die lokaal is aangesloten: we zetten hem over naar Online, initialiseren hem, maken er partities op en formatteren hem.

Hetzelfde kan worden gedaan met PowerShell. We geven een lijst met beschikbare doelen weer:

Get-IscsiTarget | fl

En maak verbinding met wat je nodig hebt:

Connect-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -IsPersistent $true

Sleutel -IsPersistent $true Biedt automatische verbinding wanneer het wordt uitgeschakeld of opnieuw wordt opgestart.

Om de verbinding te verbreken, kunt u de opdracht Disconnect-IscsiTarge gebruiken, zoals deze:

Verbinding verbreken-IscsiTarget -NodeAddress ″iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target″ -Bevestigen:$false

Conclusie

Hiermee is de installatie voltooid. Zoals ik al zei, is dit de eenvoudigste en meest basale optie voor het instellen van opslag. iSCSI heeft nog veel meer interessante functies. U kunt bijvoorbeeld iSCSI Name Service (iSNS) gebruiken voor eenvoudig beheer, multipath input/output (MPIO) voor fouttolerantie, en CHAP-authenticatie en IPSec-verkeersversleuteling configureren voor de veiligheid. Ik ben van plan in toekomstige artikelen over enkele van deze functies te schrijven.

En tot slot: belangrijke punten waarmee u rekening moet houden bij het organiseren van een iSCSI-opslagsysteem:

Het is raadzaam om iSCSI in te zetten op een snel netwerk, minimaal Gigabit Ethernet;
Het wordt aanbevolen om iSCSI-netwerkverkeer te scheiden van ander verkeer en dit op een apart netwerk te plaatsen, bijvoorbeeld met behulp van een VLAN of fysieke opdeling in subnetten;
Om een ​​hoge beschikbaarheid op netwerkniveau te garanderen, is het noodzakelijk om MPIO-technologie of multi-connection session (MCS) te gebruiken. Netwerkadapterteaming (NIC Teaming) om verbinding te maken met iSCSI-opslagapparaten wordt niet ondersteund;
Wanneer u Storage Spaces-technologie gebruikt, kunt u virtuele iSCSI-schijven opslaan op Storage Spaces, maar kunt u geen iSCSI LUN's gebruiken om Storage Spaces te creëren;
Cluster Shared Volume (CSV) kan niet worden gebruikt om virtuele iSCSI-schijven op te slaan.

Artikelnavigatie

Dit zijn instructies voor het aansluiten van een iSCSI-schijf WindowsServer 2016. Wanneer u een dienst bestelt bij SIM-Networks, ontvangt u een bericht dat lijkt op het bericht hieronder (houd er rekening mee dat de betekenis van de cijfers in het serveradres kan afwijken van de voorbeeldafbeelding, en in plaats van letters X,Y of Z het bericht geeft de werkelijke waarden voor instelling aan jouw toegang):

De iSCSI Backup-service is geactiveerd.

Toegangsopties:

  • Serveradres (iscsi-target): 185.59.101.184
  • Login: JJJ
  • Wachtwoord: ZZZ
  • De toegang tot de dienst is momenteel beperkt tot slechts één IP-adres: XXX.XXX.XXX.XXX

Een iSCSI-schijf aansluiten

1. Ga naar " Configuratiescherm -> Administratie"en rennen InitiatiefnemeriSCSI.

2. In de sectie " EigenschappenDetectie" en klik op " Portaal detecteren».

3. Vul in het geopende venster het veld “ IP-adres" iSCSI-server.

4. Open het gedeelte voor aanvullende instellingen om verbinding te maken met de server (klik op de knop " Aanvullend"). Selecteer veldwaarden" Lokale adapter" En " IP-adres van de initiatiefnemer", zoals in de onderstaande afbeelding (waarbij het IP-adres van de initiator het IP-adres is van uw lokale netwerkadapter via welke verbinding met de iSCSI-server is toegestaan).

5. Sla uw instellingen op en zorg ervoor dat u een afbeelding krijgt zoals hieronder:

6. In de sectie " Eigenschappen» iSCSI-initiator ga naar het tabblad » Eindobjecten", selecteer het object dat verschijnt met een inactieve status en klik op de knop " Verbinden».

7. In het venster dat wordt geopend " Verbinding maken met een eindpunt", druk op de knop" Aanvullend…»

8. Vul de velden in de sectie in zoals in de onderstaande afbeelding. De parameters “Naam” en “Geheim” zijn de “Login” en het “Wachtwoord” uit de brief die u heeft ontvangen bij het activeren van de dienst.

9. Sla uw instellingen op. Zorg ervoor dat de veldwaarde " Staat» gedetecteerd eindobject – « Aangesloten", zoals op de onderstaande afbeelding. Verlaat de " Eigenschappen» iSCSI Initiator, slaat de instellingen op.


Initialiseren en formatteren van een iSCSI-schijf

De aangesloten iSCSI-schijf moet gereed zijn voor gebruik (geïnitialiseerd en geformatteerd).

10. In de sectie " Administratie» open het tabblad « Computerbeheer».

11. Ga naar de sectie " Schijfbeheer».

12. Zorg ervoor dat uw schijf zichtbaar is en dat de status " Offline».

13. Selecteer " Online».

14. Voer schijfinitialisatie uit.

15. Controleer of de schijfstatus is gewijzigd naar "Online", maar het mist partities en een bestandssysteem.

16. Selecteer in het contextmenu op een niet-gepartitioneerde schijf " Maak een eenvoudig volume».

17. Na openen " Maak eenvoudige volumewizards» klik op de knop « Volgende».

18. Geef de partitiegrootte op in het daarvoor bestemde veld, of laat de “standaard”-waarde ongewijzigd (als u de gehele schijf voor één partitie moet gebruiken).

19. Wijs een stationsletter toe aan de nieuwe partitie.

20. Selecteer het bestandssysteemtype en het volumelabel.

Samenvatting: hoe open-iscsi (ISCSI-initiator in Linux) werkt, hoe je het configureert en iets over het ISCSI-protocol zelf.

Teksten: Er zijn veel artikelen op internet die vrij goed uitleggen hoe je een ISCSI-doel configureert, maar om de een of andere reden zijn er vrijwel geen artikelen over het werken met de initiator. Ondanks dat de doelstelling technisch complexer is, is er meer administratieve rompslomp bij de initiatiefnemer – er zijn meer verwarrende concepten en niet erg voor de hand liggende werkingsprincipes.

ISCSI

Voordat we het over ISCSI hebben, eerst een paar woorden over verschillende soorten externe toegang tot informatie in moderne netwerken.

NAS versus SAN

Er zijn twee methoden om toegang te krijgen tot gegevens die zich op een andere computer bevinden: bestand (wanneer een bestand wordt opgevraagd vanaf een externe computer en het niemand uitmaakt welke bestandssystemen dit doen), typische vertegenwoordigers van NFS, CIFS (SMB); en blokkeren - wanneer blokken van schijfmedia worden opgevraagd vanaf een externe computer (vergelijkbaar met hoe ze worden gelezen vanaf een harde schijf). In dit geval creëert de verzoekende partij een bestandssysteem voor zichzelf op het blokapparaat, en de server die het blokapparaat levert, is niet op de hoogte van de bestandssystemen erop. De eerste methode heet NAS (Network Attached Storage) en de tweede is SAN (Storage Area Network). De namen geven over het algemeen verschillende tekens aan (SAN impliceert een speciaal netwerk voor opslag), maar het komt zo voor dat NAS bestanden zijn en SAN blokkeerapparaten via een netwerk. En hoewel iedereen (?) begrijpt dat dit onjuiste namen zijn, hoe verder ze gaan, hoe meer ze vastlopen.

scsi via tcp

Een van de protocollen voor toegang tot blokapparaten is iscsi. De letter "i" in de naam verwijst niet naar Apple-producten, maar naar Internet Explorer. In de kern is het "scsi over tcp". Het SCSI-protocol zelf (zonder de letter "i") is een zeer complex ontwerp, omdat het via verschillende fysieke media kan werken (bijvoorbeeld UWSCSI - parallelle bus, SAS - serieel - maar ze hebben hetzelfde protocol). Met dit protocol kun je veel meer doen dan alleen maar “schijven op de computer aansluiten” (zoals uitgevonden in SATA), het ondersteunt bijvoorbeeld apparaatnamen, de aanwezigheid van verschillende koppelingen tussen een blokapparaat en een consument, schakelondersteuning (yup , een SAS-switch, zelfs zulke bestaat in de natuur), het aansluiten van meerdere consumenten op één blokapparaat, enz. Met andere woorden: dit protocol werd eenvoudigweg gevraagd als basis voor een netwerkblokapparaat.

Terminologie

De volgende voorwaarden worden geaccepteerd in de SCSI-wereld:
doel- degene die het blokkeerapparaat levert. De dichtstbijzijnde analoog uit de gewone computerwereld is een server.
initiatiefnemer- client, degene die het blokkeerapparaat gebruikt. Klant analoog.
WWID- unieke apparaatidentificatie, de naam ervan. Analoog aan een DNS-naam.
LUN- het nummer van het “stuk” van de schijf waartoe toegang wordt verkregen. De dichtstbijzijnde analoog is een partitie op een harde schijf.

ISCSI brengt de volgende veranderingen met zich mee: WWID verdwijnt en in plaats daarvan komt het concept van IQN (iSCSI Qualified Name) - dat wil zeggen een pure naam, die verwarrend veel lijkt op DNS (met kleine verschillen). Hier is een voorbeeld van een IQN: iqn.2011-09.test:name.

IETD en open-iscsi (server en client voor Linux) brengen nog een heel belangrijk concept met zich mee waarover meestal niet wordt geschreven in iscsi-handleidingen: portal. Portal bestaat grofweg uit verschillende doelen die door één server worden geadverteerd. Er is geen analogie met www, maar als een webserver zou kunnen worden gevraagd om al zijn virtuele hosts op te sommen, dan zou dit de portal zijn die een lijst met beschikbare doelen specificeert IP's waartoe toegang kan worden verkregen (ja, iscsi ondersteunt meerdere routes van initiator naar doel).

doel

Dit artikel gaat niet over target, dus ik zal een zeer korte beschrijving geven van wat target doet. Hij neemt een block device, plakt er een naam en LUN op en publiceert deze op zijn portal, waarna hij iedereen (autorisatie naar smaak) toegang geeft.

Hier is een voorbeeld van een eenvoudig configuratiebestand, ik denk dat het duidelijk zal maken wat het doel doet (configuratiebestand met IET als voorbeeld):

Doel iqn.2011-09.example:data Inkomende gebruiker gebruikersnaam Pa$$w0rd Lun 0 Pad=/dev/md1

(complex van eenvoudig verschilt alleen in exportopties). Dus als we een doel hebben, willen we dat met elkaar verbinden. En hier worden de zaken ingewikkeld, omdat de initiator zijn eigen logica heeft, deze lijkt helemaal niet op de triviale mount voor nfs.

Initiatiefnemer

Open-iscsi wordt gebruikt als initiator. Het belangrijkste is dus dat hij dat heeft gedaan bedrijfsmodi En staat. Als we een commando in de verkeerde modus geven of geen rekening houden met de staat, zal het resultaat uiterst ontmoedigend zijn.

Dus bedrijfsmodi:

  • Zoeken naar doelen (ontdekking)
  • Verbinding maken met doel
  • Werken met een verbonden doel
Uit deze lijst blijkt de levenscyclus vrij duidelijk: eerst zoeken, dan verbinding maken, dan de verbinding verbreken en dan opnieuw verbinding maken. Open-iscsi houdt de sessie open, zelfs als het blokkeerapparaat niet in gebruik is. Bovendien houdt het de sessie open (tot bepaalde limieten uiteraard), zelfs als de server opnieuw wordt opgestart. Een iscsi-sessie is niet hetzelfde als een open TCP-verbinding; het is mogelijk om op transparante wijze opnieuw verbinding te maken met het doel.

Nog even over de toestand. Na ontdekking open-iscsi herinnert zich alle gevonden doelen (ze worden opgeslagen in /etc/iscsi/), met andere woorden, ontdekking is een constante bewerking en komt helemaal NIET overeen met bijvoorbeeld het oplossen van dns. Gevonden doelen kunnen handmatig worden verwijderd (trouwens, een Een veelgemaakte fout is dat wanneer open-iscsi, als gevolg van experimenten en configuratie, een aantal gevonden doelen wordt gevonden, er bij het inloggen veel fouten in sluipen vanwege het feit dat de helft van de doelen oude configuratieregels zijn die niet meer bestaan staan ​​lange tijd op de server, maar worden onthouden door open-iscsi) Bovendien kunt u met open-iscsi de instellingen van het onthouden doel wijzigen - en dit "geheugen" heeft invloed op het verdere werk met de doelen, zelfs na het opnieuw opstarten/herstarten van de daemon .

Blokkeer apparaat

De tweede vraag die velen in eerste instantie stoort, is waar gaat het heen na het verbinden? open-iscsi maakt, hoewel het een netwerkapparaat is, een BLOCK SCSI-klasse apparaat (het is niet voor niets dat het "ik zeg") is, dat wil zeggen, het ontvangt een letter in de /dev/sd-familie, bijvoorbeeld: /dev/sdc. De eerste vrije letter wordt gebruikt, omdat voor de rest van het systeem is dit blokapparaat een typische harde schijf, niet anders dan een schijf die is aangesloten via usb-sata of gewoon rechtstreeks op sata.

Dit veroorzaakt vaak paniek: “Hoe kan ik de naam van het blokapparaat achterhalen?” Dit wordt afgedrukt in de uitgebreide uitvoer van iscsiadm (# iscsiadm -m session -P 3).

Autorisatie

In tegenstelling tot SAS/UWSCSI is ISCSI voor iedereen beschikbaar om verbinding mee te maken. Om zich hiertegen te beschermen, is er een login en wachtwoord (chap), en de overdracht ervan naar iscsiadm is een extra hoofdpijn voor beginnende gebruikers. Het kan op twee manieren worden gedaan: het wijzigen van de eigenschappen van het eerder gevonden doel en het schrijven van de login/het wachtwoord het configuratiebestand open-iscsi.
De reden voor dergelijke problemen is dat het wachtwoord en het inlogproces geen kenmerken van de gebruiker zijn, maar van het systeem. ISCSI is een goedkope versie van de FC-infrastructuur, en het concept van “gebruiker” in de context van een persoon aan het toetsenbord is hier niet van toepassing. Als uw SQL-database zich op een iscsi-blokapparaat bevindt, wilt u natuurlijk dat de SQL-server zichzelf opstart, en niet na een minuut persoonlijke aandacht van de operator.

Configuratiebestand

Dit is een heel belangrijk bestand, omdat het naast de login/wachtwoord ook het gedrag van open-iscsi beschrijft bij het vinden van fouten. Mogelijk wordt de fout niet onmiddellijk geretourneerd, maar na een bepaalde pauze (bijvoorbeeld ongeveer vijf minuten, wat voldoende is om de server opnieuw op te starten met de gegevens). Het regelt ook het inlogproces (hoe vaak u het moet proberen, hoe lang u tussen de pogingen moet wachten) en de eventuele fijnafstemming van het werkproces zelf. Houd er rekening mee dat deze parameters behoorlijk belangrijk zijn voor de werking en dat u moet begrijpen hoe uw iscsi zich zal gedragen als u bijvoorbeeld het netsnoer gedurende 10-20 seconden verwijdert.

Snelle referentie

Ik hou er niet echt van om gemakkelijk te vinden mana's en lijnen te citeren, dus ik zal een typisch scenario geven voor het gebruik van iscsi:

Eerst vinden we de doelen die we nodig hebben, hiervoor moeten we de IP/dns-naam van de initiator kennen: iscsiadm -m discovery -t st -p 192.168.0.1 -t st is het commando voor het verzenden van doelen.

Iscsiadm -m knooppunt (lijst met gevonden aanmeldingspunten)
iscsiadm -m node -l -T iqn.2011-09.example:data (inloggen, dat wil zeggen verbinding maken en een blokapparaat maken).
iscsiadm -m sessie (geef aan waarmee u verbonden bent)
iscsiadm -m session -P3 (druk hetzelfde af, maar in meer detail - helemaal aan het einde van de uitvoer zal er een indicatie zijn welk blokapparaat tot welk doel behoort).
iscsiadm - m session -u -T iqn.2011-09.example:data (uitloggen bij een specifieke)
iscsiadm -m node -l (log in op alle gedetecteerde doelen)
iscsiadm -m node -u (uitloggen bij alle doelen)
iscsiadm -m node --op delete -T iqn.2011-09.example:data (verwijder doel uit gedetecteerde).

meerderepad

Een ander thema dat van belang is bij serieuze beslissingen is de ondersteuning van meerdere routes naar de bron. Het mooie van iscsi zit in het gebruik van een regulier IP-adres, dat op de gebruikelijke manier kan worden verwerkt, net als elk ander verkeer (hoewel het in de praktijk meestal niet wordt gerouteerd, maar alleen wordt geschakeld - de belasting daar is te groot). iscsi ondersteunt dus multipath in de “niet weerstaan”-modus. Op zichzelf kan open-iscsi geen verbinding maken met meerdere IP's van één doel. Als het is verbonden met meerdere IP's van één doel, zal dit leiden tot het verschijnen van verschillende blokapparaten.

Er is echter een oplossing: multipathd, die schijven met dezelfde identificatie vindt en deze verwerkt zoals verwacht in multipath, met aanpasbaar beleid. Dit artikel gaat niet over multipath, dus ik zal het mysterie van het proces niet in detail uitleggen, maar hier zijn enkele belangrijke punten:

  1. Wanneer u multipath gebruikt, moet u kleine time-outs instellen - het schakelen tussen defecte paden moet snel genoeg gebeuren
  2. In omstandigheden van een min of meer snel kanaal (10G en hoger, in veel gevallen gigabit) moet parallellisme van de belasting worden vermeden, omdat het vermogen om bio-coalesing te gebruiken verloren gaat, wat bij sommige soorten belasting een onaangename impact kan hebben op het doel .

Het iSCSI-protocol is ontworpen om te werken in Storage Area Networks en is een manier om toegang te krijgen tot blokapparaten met behulp van het SCSI-protocol via TCP/IP. Dit maakt het mogelijk om goedkope Storage Area Networks (SAN's) te organiseren met behulp van conventionele Ethernet-netwerken. Deze functie wordt veel gebruikt bij het bouwen van systemen met hoge beschikbaarheid, en in deze serie zullen we oplossingen overwegen die zijn gebaseerd op iSCSI-opslag. Vandaag zullen we kijken naar het creëren van een dergelijke opslag op het Windows Server 2008 R2-platform.

Eerst een paar woorden over de fundamentele verschillen tussen iSCSI en andere netwerkopslagsystemen. Opslagnetwerken - SAN(Storage Area Network) zorgen voor de overdracht van gegevens over het netwerk in “ruwe” vorm via het SCSI-protocol, net alsof ze op een laag niveau tussen het systeem en de lokale schijf worden overgedragen. iSCSI-apparaten worden door het systeem op vrijwel dezelfde manier waargenomen als lokale schijven. Voordat u ze gebruikt, moet u partities maken en deze formatteren.

Tegelijkertijd bekend voor iedereen netwerkopslag - NAS (Network Area Storage) bieden toegang op bestandssysteemniveau met behulp van bestandsoverdrachtprotocollen zoals SMB of NFS.

Simpel gezegd: NAS zijn gewone netwerkmappen waar iedereen bekend mee is, SAN zijn op het netwerk aangesloten schijven. Dit leidt tot het tweede belangrijke verschil. Een netwerkshare kan veel clients bedienen. Een SAN-apparaat kan op één client worden aangesloten, net zoals een gewone HDD op slechts één pc kan worden aangesloten. De uitzondering vormen clusters, wanneer meerdere knooppunten tegelijk toegang hebben tot één SAN-apparaat. In dit geval wordt een extra abstractieniveau gebruikt, bijvoorbeeld een clusterbestandssysteem Gedeelde volumes van Microsoft-clusters (CSV) of VMwareVMFS.

Voordat u met de praktische ontwikkeling van deze technologie begint, moet u vertrouwd raken met de geaccepteerde terminologie:

  • iSCSI-initiator- het clientgedeelte verzendt verzoeken naar het iSCSI-doel en kan worden geïmplementeerd in software, in de vorm van een stuurprogramma, of in hardware, in de vorm van een iSCSI-adapter;
  • iSCSI-doel (iSCSI-doel) - het servergedeelte, accepteert verbindingen van de initiator en geeft hem toegang tot de bijbehorende blokapparaten - virtuele schijven, LUN's. Het kan zowel in software als in de vorm van hardwareopslagsystemen worden geïmplementeerd.

Eén iSCSI-doel kan worden gekoppeld aan verschillende blokapparaten, die beschikbaar zullen zijn voor de initiator die verbinding maakt met het doel. Eén initiator kan met meerdere doelen worden verbonden en alle bijbehorende apparaten gebruiken. Eén doel kan ook verbindingen van meerdere initiatoren accepteren, maar elk afzonderlijk apparaat is slechts toegankelijk voor één van de initiatoren.

Nog een punt, nu gerelateerd aan de praktische implementatie van iSCSI-opslag. Voor een SAN is het zeer wenselijk om een ​​apart netwerk te kiezen, geïsoleerd van het bedrijfsnetwerk.

Dit is nodig om voldoende doorvoer op het SAN te garanderen en om overbelasting van het reguliere netwerk met iSCSI-verkeer te voorkomen. Het heeft ook geen zin om iSCSI te organiseren in netwerken met een bandbreedte lager dan 1 Gbit/sec.

Windows Server 2008 R2 bevat niet de iSCSI Target-rol en om deze te implementeren moet u de Microsoft iSCSI Software Target downloaden. Pak het uit en installeer het pakket iscsitarget_public.msi uit de x64-map. De installatie is uiterst eenvoudig en we zullen ons er niet op concentreren.

Na de installatie gaan we naar de iSCSI-beheerconsole: Start - Beheer - iSCSI Software Target. Laten we eerst een nieuwe maken doel (doel). Om dit te doen, klikt u met de rechtermuisknop op iSCSI-doelen - Maak een iSCSI-doel.

Er wordt een wizard geopend waarin we de naam van het doel en de beschrijving ervan opgeven. Geef uw doelen betekenisvolle namen en wees niet lui in het maken van beschrijvingen, zodat u later niet hoeft te raden waarom u dit of dat doel heeft gecreëerd.

De volgende stap is het specificeren van de identificatiegegevens van de iSCSI-initiatoren die toegang krijgen tot het doel. IQN is een speciale formaatnaam iqn. .: , die uniek is voor elk iSCSI-apparaat op het SAN. Waar:

  • jaar-ma- jaar van domeinnaamregistratie;
  • omgekeerde_domeinnaam-domeinnaam achterstevoren gespeld;
  • unieke_naam- een unieke apparaatnaam. Het doel hier bevat bijvoorbeeld de naam die u hebt opgegeven, en de initiator bevat de hostnaam.

In Microsoft-softwareoplossingen is het standaard IQN-formaat bijvoorbeeld iqn.1991-05.com.microsoft:unieke_naam.

Om de IQN te achterhalen, gaan we naar de iSCSI-initiator. In ons geval is het een server met Windows Server 2012, maar het algoritme van acties zal hetzelfde zijn voor alle andere versies van Windows. Laten we naar gaan Configuratiescherm - iSCSI-initiator, antwoorden wij bevestigend op het voorstel om het automatisch te laten starten:

Ga vervolgens in het geopende venster naar de bladwijzer Configuratie, waar de vereiste identificatie zich bevindt:

U kunt het kopiëren en opgeven bij het instellen van het doel, maar er is een andere manier. Ga hiervoor naar de bladwijzer Eindobjecten, in het veld Voorwerp voer de naam in van de server waarop geïnstalleerd is iSCSI-softwaredoel en druk op Snelle verbinding.

Het is duidelijk dat we voorlopig nergens verbinding mee zullen maken, maar nu hebben we een andere taak. We keren terug naar de doelserver en klikken op de knop op de pagina die de initiator-ID aangeeft Beoordeling.

Nu wordt duidelijk waarom we probeerden verbinding te maken. De iSCSI-doelserver houdt een lijst bij van de laatste initiators die er verbinding mee hebben gemaakt en biedt u de mogelijkheid deze te selecteren.

Op dit punt is het maken van het doel voltooid en kunnen we er een of meer schijven aan maken en eraan koppelen. Ga hiervoor naar punt Apparaten en selecteer in het rechtermuisknopmenu Maak een virtuele schijf.

De volgende wizard wordt geopend, waarin we de locatie en naam van de virtuele schijf opgeven. Houd er rekening mee dat u de volledige bestandsnaam moet opgeven, samen met de extensie .vhd.

Geef vervolgens de gewenste grootte in MB aan

En het iSCSI-doel waaraan deze virtuele schijf zal worden gekoppeld.

Hiermee wordt ook de schijfinstallatie voltooid. Als resultaat van deze eenvoudige stappen ontvingen we een geconfigureerd iSCSI-doel met een daaraan gekoppelde virtuele schijf. Laten we nu teruggaan naar de initiatiefnemer. U kunt Quick Connect gebruiken en automatisch schijven van gedetecteerde doelen koppelen. Maar we moeten niet vergeten dat ons doel niet alleen is om schijven met elkaar te verbinden, maar ook om het opslagnetwerk en het lokale bedrijfsnetwerk te scheiden.

Dus laten we naar de bladwijzer gaan Detectie en druk op Portaal detecteren en voer vervolgens de naam in van de server met de iSCSI-doelrol.

Dan keren we terug naar de bladwijzer Eindobjecten selecteert u een gedetecteerd doel dat zich in een staat bevindt Inactief en druk op Eigenschappen.

In het venster dat wordt geopend, in het veld IP-adres van de eindportal selecteer het adres dat bij uw opslagnetwerk hoort:

We gaan terug en drukken Verbinden. Aangesloten apparaten vind je in de module Schijfbeheer.

Het verdere algoritme om ermee te werken verschilt niet van het werken met een gewone schijf: verbinden, markeren, formatteren.

In dit materiaal hebben we gekeken naar de eenvoudigste optie voor het opzetten van opslag. In onze volgende materialen keren we terug naar individuele instellingen zonder in te gaan op het algemene onderwerp van het creëren van een opslagfaciliteit.

De tools voor het bouwen van opslagnetwerken zijn op zichzelf behoorlijk uitgebreid. Sommige standaarden en technologieën zijn echter enorm populair geworden. Na Fibre Channel is iSCSI het tweede populairste protocol.

Algemene informatie over iSCSI

iSCSI zijn de eerste letters van de uitdrukking Internet Small Computer System Interface. Soms wordt deze lettercombinatie ontcijferd als Internet SCSI of IP SCSI, en ondanks het feit dat dergelijke interpretaties niet volledig samenvallen met de originele, hebben ze recht op leven, omdat ze zeer nauwkeurig de essentie van iSCSI beschrijven - een protocol van de TCP/IP-stack voor het verbinden van externe netwerken, gegevensopslagsystemen in bloktoegangsmodus.

Zoals hierboven vermeld, is de methode gebaseerd op de vertaling van SCSI-opdrachten via een IP-netwerk. Tijdens bedrijf worden TCP/IP-poorten gebruikt, standaard 860 en 3260. In principe is iSCSI een soort transportmiddel, zoals een roltrap, voor het verplaatsen van SCSI-instructies en gegevens via een externe netwerkverbinding. De uiteindelijke implementatie is een omgeving voor het emuleren van een lokale SCSI-bus via een extern Ethernet-netwerk, enz.

In tegenstelling tot veel andere protocollen (FCIP, FCoE, enz.), die in wezen een tak van Fibre Channel zijn, is het iSCSI-protocol een onafhankelijke implementatie en een standaard die helemaal opnieuw is ontwikkeld voor het werken via TCP/IP.

iSCSi-doelwit en iSCSi-initiator

Om elk dataopslagnetwerk te organiseren zijn drie componenten nodig: een dataopslagsysteem, een clientgedeelte en een datatransmissiemedium. In het geval van iSCSI zijn de termen “ doel" En " initiatiefnemer"respectievelijk.

Doel of doelapparaat, - Simpel gezegd: de basis van het opslagsysteem kan een pure software-implementatie, een software-hardware-implementatie of een volledig hardware-implementatie hebben.

Initiatiefnemer– een module, meestal een programma, minder vaak een hardwareoplossing met eigen firmware, waarmee u een verbinding kunt creëren (initiëren) en de nodige functionaliteit aan de clientzijde kunt bieden. – overdracht van SCSI-opdrachten en gegevens via een IP-netwerk.

iSCSI-doeladressering

Om een ​​succesvolle en foutloze werking te garanderen, moeten opslagsystemen die op het netwerk zijn aangesloten, een uniek netwerkadres hebben. Opslaggebiednetwerken zijn bijvoorbeeld gebaseerd op de Fibre-kanaal gebruik speciale WWWN-adressen. Op iSCSI gebaseerde SAN's hebben ook hun eigen IQN-adresseringssysteem ( iSCSI-gekwalificeerde naam).

Elk dergelijk adres is een unieke identificatie die dient om opslagapparaten nauwkeurig te identificeren. Hoe wordt deze uniciteit bereikt? Laten we eens kijken naar het IQN-formaat.

Laten we zeggen dat we een iSCSI-doel hebben met het adres: iqn.2017– 02.com.voorbeeld: opslag: diskarrays-sn-a9786410.

Wat betekent dit in meer detail:
> iqn– een voorvoegsel dat aangeeft dat het adres tot het IQN-formaat behoort.
> Dit wordt gevolgd door een datumindicator in de vorm “jjjj-mm” (“jaar-maand”), die meestal de datum aangeeft waarop het doel is gemaakt. > Een gereserveerde domeinnaam, meestal van de hardwareleverancier.
> De dubbele punt wordt gevolgd door de unieke iSCSI-doel-ID.

Dit systeem is een behoorlijk handige oplossing. Door het IQN te lezen, kunt u eenvoudig aanvullende informatie verkrijgen over het tijdstip van creatie, het type apparatuur en/of de leverancier.

Opmerking. Naar analogie met Fibre-kanaal dienst iSNS (Naamservice voor internetopslag) kunt u onder andere iSCSI-netwerken beheren. Dit maakt het gebruik ervan mogelijk iSNS als één gecentraliseerd toegangspunt voor SAN-gebruik.

iSCSI-doelimplementatieopties

Software-implementatie

Een voorbeeld van een software-implementatie is een softwareproduct StarWind iSCSI Target-software, dat de implementatie van iSCSI target biedt op reguliere servers met besturingssystemen uit de MS Windows-familie. U hoeft alleen maar het programma te installeren, enkele kleine instellingen te maken en uw blokopslag op instapniveau is klaar om verbinding te maken met een andere server.

Hardware-implementatie

Als hardware-implementatie kunt u zich gespecialiseerde apparaten voorstellen, bijvoorbeeld van HP - HP P2000MSA, met speciale firmware, gespecialiseerde interfaces met een speciale chip en firmware, die de meeste verkeersverwerkingsfuncties overnemen.

Software- en hardware-implementatie

Dit is een soort compromisoplossing, bijvoorbeeld een gewone server op basis van het platform Intel x86_64, maar bijvoorbeeld met gespecialiseerde netwerkadapters (TOE) en een aangepast besturingssysteem NexentaStor, zodat u zich kunt organiseren iSCSI-doel, zoals ze zeggen, “recht uit de doos.”

Wat is een iSCSI HBA?

Soms kun je een stabiele uitdrukking vinden iSCSI HBA (hostbusadapter). In werkelijkheid hebben we het over speciale hardwarenetwerkmodules waarmee je de processor kunt ontlasten door een deel van de functionaliteit over te dragen naar de netwerkadapter.

Er zijn twee soorten van dergelijke apparaten:
> TCP-offload-motoren, afgekort als TOE. Deze apparaten zijn te vinden waar het nodig is om de prestaties te verbeteren en tegelijkertijd de belasting van het totale systeem (processor, enz.) te verminderen. Dit apparaat kan alleen TC/IP-ondersteuningsactiviteiten uitvoeren, maar kan niet alle andere mogelijkheden gebruiken om de prestaties van iSCSI-systemen te verbeteren.

> Volledige offload iSCSI HBA is een uitgebreide oplossing die de overdracht van functies ter ondersteuning van TCP/IP en iSCSI naar dit apparaat omvat. Dit wordt beschouwd als een betere keuze voor prestaties, maar kost uiteraard meer dan TOE.

Wat echter meer geschikt is voor een bepaald geval, wordt beter bepaald door praktische tests. Opmerking. Veel moderne 10 Gigabit Ethernet-netwerkadapters bieden ondersteuning voor het iSCSI-protocol. Daarom moet u zich bij het kiezen van een netwerkadapter voor het bouwen van een iSCSI SAN niet alleen concentreren op de prijs van componenten, maar ook op extra functionaliteit. De overeenkomstige kenmerken moeten worden verduidelijkt op de website van de fabrikant van de apparatuur.

Verschillen tussen bestandsomvang en apparaatomvang

Naast verkeerstransmissiesystemen zijn er verschillende benaderingen voor het direct opslaan van gegevens in de opslag.

Het gedeelte van het opslagsysteem dat verantwoordelijk is voor het opslaan van gegevens waartoe toegang wordt verkregen via het iSCSI-protocol, wordt Extent genoemd.

Bestandsgrootte of containerbestand

Deze methode is het meest gebruikelijk vanwege de vrij eenvoudige implementatie. De essentie is om een ​​speciaal groot bestand te gebruiken waarin, net als in een container, de gegevens van de klant worden geplaatst. De dichtstbijzijnde analoog is een virtuele schijf (bijvoorbeeld gemaakt door een virtualisatiesysteem), die beschikbaar is als een andere harde schijf of verwisselbare media. Andere analogen zijn een archiefbestand waarin gegevens direct worden geschreven, of een containerbestand dat door een gegevensversleutelingsprogramma is gemaakt als veilige opslag.

Met deze aanpak wordt eerst een fysieke schijf of disk-array geformatteerd voor een specifiek bestandssysteem, wordt er een enorme bestandscontainer gemaakt in dit bestandssysteem, daarbinnen bevindt zich zijn eigen interne bestandssysteem, en de gegevens van de klant zijn er al op geplaatst (zie Afb. 1).

Wanneer elke nieuwe laag wordt gemaakt, wordt uiteraard een bepaald deel van de schijfruimte besteed aan het opnemen van service-informatie. Als gevolg hiervan zal het uiteindelijke volume van iSCSI op basis van de bestandsomvang altijd kleiner zijn dan het volume van een logisch volume, en kunnen de totale verliezen behoorlijk aanzienlijk zijn.

Dit is hoe de meeste implementaties werken iSCSI-doel. Deze bewaarmethode is op zijn zachtst gezegd behoorlijk riskant. De kleinste fout in het bestandssysteem bij het schrijven van dit enorme bestand - en alle gegevens erop zullen verloren gaan. Dergelijke fouten treden gemakkelijk op als gevolg van een ongeautoriseerde koude start, onjuiste werking van de RAID-controller (vooral voor RAID-controllers die in het moederbord zijn ingebouwd), enzovoort. Geen controles of programma's zoals Controleer schijf noch op een andere manier. Alle hoop is alleen gevestigd op een tijdige reservekopie.

Naast de lage veiligheid en het verbruik van vrije ruimte is deze methode, op zijn zachtst gezegd, niet erg productief. De “alles-in-één-bestand”-werkmethode is een directe analogie van het werk van een archiveringsprogramma.

De overheadkosten zijn ook vergelijkbaar met de eindeloze werking van het archiveringsprogramma in actieve modus.

Apparaatomvang

Deze methode is een eenvoudigere en economischere oplossing. Uit de naam volgt dat er voor het opslaan niet een apart bestand wordt gebruikt, maar het hele apparaat. In dit geval is het niet nodig om een ​​soort “matryoshka” te creëren: extern bestandssysteem – bestandscontainer – intern bestandssysteem. In plaats daarvan worden gegevens rechtstreeks in RAW-indeling naar het schijfvolume geschreven. Hierdoor kunt u de overhead aanzienlijk verminderen en mogelijke fouten, bijvoorbeeld als gevolg van een koude start, voorkomen.

Apparaatomvang stelt u in staat betere prestaties te leveren bij het overbrengen van gegevens, en veel problemen te vermijden die verband houden met de eigenaardigheden van een bepaald besturingssysteem, de specifieke implementatie van de iSCSI-initiator, enzovoort. Uiteraard zijn al deze voordelen beschikbaar als er een geschikte driver voor hardware-implementatie bestaat iSCSI-doel. Anders werkt het apparaat gewoon niet.

Apparaatomvang is te vinden in systemen op het BSD-platform - FreeBSD en zijn derivaten: FreeNAS en NAS4Free.

Beveiliging garanderen bij het bouwen van een iSCSI SAN

Fans van het Fibre Channel-protocol denken bij het bespreken van kwesties rond het implementeren van verbindingsbeveiliging altijd aan Zonering, een mechanisme dat aanwezig is in FC-netwerken. Soortgelijke mechanismen bestaan ​​in iSCSI SAN.

Netwerktoegang beperken met behulp van iSCSI-doel

Bijna alle iSCSI-doelimplementaties hebben de mogelijkheid om programmatisch de toegang vanaf alle adressen te beperken, met uitzondering van een kleine groep servers die opslagbronnen nodig hebben. Deze methode kan worden vergeleken met softwarematige zonering in Fibre Channel, wanneer het poortadres (apparaatadres) als attribuut wordt gebruikt: IP-adres voor iSCSI of WWWN voor Fibre Channel.

Netwerktoegang beperken met externe middelen

Een andere optie, die naar mijn mening succesvoller is, is het gebruik van externe systemen om de netwerktoegang te beperken. Daarom zijn iSCSI-netwerken in de meeste gevallen gebouwd op Ethernet; het scheiden van sommige segmenten met behulp van VLAN is een goede gewoonte voor het isoleren van iSCSI SAN, waardoor u effectief wordt beschermd tegen ongeoorloofde toegang. In principe kan VLAN voor iSCSI worden vergeleken met Hardwarezonering voor Fibre Channel. In beide gevallen is de toegang beperkt op basis van de poorten waarop de apparaten zijn aangesloten.

CHAP-authenticatie

Meestal om de legitimiteit van de verbinding te controleren iSCSI-initiator met iSCSI-doel protocol toegepast CHAP (Challenge Handshake Authenticatie Protocol). De basis van deze methode is het delen van een geheime sleutel (vergelijkbaar met een wachtwoord) tussen de client en de server.

In de meeste implementaties iSCSI-doel De volgende CHAP-implementaties kunnen worden gebruikt:
Basis- of eenrichtings-CHAP-authenticatie ( CHAP-authenticatie in één richting). In dit geval wordt de identiteit van de initiator alleen beheerd door het iSCSI-doel. Om alle initiatiefnemers met elkaar te verbinden, wordt een specifieke identificatie, zoals een wachtwoord, gebruikt.
Bidirectionele CHAP-authenticatie. Deze methode gaat ervan uit dat iSCSI-doel en iSCSI-initiator elkaars authenticiteit controleren. In dit geval wordt een afzonderlijke unieke descriptor (bijvoorbeeld login en wachtwoord) gemaakt voor de RADIUS-authenticatiedeelnemer

Opmerking. Dit protocol is geïmplementeerd ter ondersteuning van authenticatie, autorisatie en het verkrijgen van informatie over gebruikte bronnen. Het werd ook gebruikt voor tariefsystemen voor diensten die aan de gebruiker werden geleverd, dat wil zeggen voor facturering.

Een bijzonder kenmerk van deze oplossing is dat, in tegenstelling tot CHAP, RADIUS-validatie wordt uitgevoerd tussen de RADIUS-server en de RADIUS-client. Wanneer initiatiefnemer vraagt ​​toegang tot bronnen iSCSI-doel, stuurt de client het verbindingsverzoek van de gebruiker naar de RADIUS-server. De verantwoordelijkheid voor het verifiëren van de authenticatie wordt aangenomen RADIUS-server. Op dezelfde manier is de uitwisseling van gegevens en service-informatie tussen iSCSI-initiator en iSCSI-doel.

Om dit beveiligingsschema te implementeren, moet u uiteraard minimaal één RADIUS-server op het netwerk hebben.

Authenticatie met behulp van encryptie

Naast de hierboven beschreven methoden - authenticatie en het beperken van de toegang via het netwerk - kunnen verschillende soorten encryptie worden gebruikt om een ​​verhoogde veiligheid te garanderen bij het werken met iSCSI. Het is vermeldenswaard dat u niet slechts één authenticatiemethode hoeft te kiezen. U kunt bijvoorbeeld zowel codering als authenticatie gebruiken met CHAP of RADIUS.

De meest bekende methode is het gebruik van IPsec, een protocol dat authenticatie en encryptie van gegevens op IP-pakketniveau afdwingt. Bij gebruik van IPsec worden alle IP-pakketten gecodeerd en geïnspecteerd. Dienovereenkomstig moeten alle deelnemers aan een netwerkuitwisseling een gemeenschappelijke sleutel hebben om elkaar te authenticeren en pakketten te coderen.

De mogelijkheid om iSCSI-bronnen te versleutelen als schijfpartities heeft zich ook goed bewezen. Een dergelijk volume kan alleen worden aangesloten via een speciaal agentprogramma met de verplichte invoer van een wachtwoord en koppeling van het bijbehorende certificaat.

Toepassingsgebieden van iSCSI

In principe zijn de toepassingsgebieden voor op iSCSI gebaseerde opslagapparaten hetzelfde als voor Fibre Channel, evenals voor andere soorten opslagsystemen die bronnen leveren in de bloktoegangsmodus.

Tot voor kort was het gebruik van iSCSI echter vrij beperkt vanwege de lage bandbreedte van het Gigabit Ethernet-netwerk. De situatie veranderde dramatisch met de release van de 10 Gigabit Ethernet-standaard en het begin van de massaproductie van de bijbehorende apparatuur.

iSCSI wordt traditioneel gebruikt voor opstartsystemen op afstand, back-upsystemen en het creëren van klasse C-opslagsystemen.

Tegelijkertijd maken de goede mogelijkheden van 10 Gigabit Ethernet-netwerkapparatuur het mogelijk om iSCSI SAN te gebruiken zowel bij het bouwen van virtualisatiesystemen als voor het opslaan van databases, kortom, voor alle taken waar voorheen de Fibre Channel-standaard domineerde.

Op welke snelheid werkt iSCSI?

In tegenstelling tot de interne SCSI-bus, die directe toegang tot apparaten biedt, worden iSCSI-pakketten verzonden via een potentieel onbetrouwbare netwerkverbinding. Om een ​​stabiele werking te garanderen en de uitwisseling van gegevens en SCSI-opdrachten onder deze omstandigheden te controleren, wordt bij de werking van het iSCSI-protocol gebruik gemaakt van redundantie. Deze redundantie wordt weerspiegeld in de overdracht van aanvullende overheadinformatie, die wordt gebruikt om blokoverdrachten te bewaken, de correcte voltooiing van I/O-bewerkingen te verifiëren en fouten af ​​te handelen. Ook is service-informatie nodig voor het apparaatidentificatiesysteem via passende namen. Een ander probleem dat wordt opgelost bij het uitwisselen van gegevens is het garanderen van de veiligheid. Uiteraard leidt dit alles, gekoppeld aan het inkapselings-de-inkapselingsproces, tot extra overhead (zie figuur 2).

Om de vooruitzichten voor het daadwerkelijke gebruik van deze technologie aan te tonen, zullen we als voorbeeld een kleine berekening uitvoeren.

Laten we zeggen dat we een enkele Gigabit Ethernet-verbinding gebruiken (1 Gb/s). Omgerekend naar megabytes per seconde krijgen we: 1024/8 = 128 Mb/s.

Om de doorvoer te verkrijgen, rekening houdend met alle overheadkosten, zij het in een nogal ruwe benadering, delen we de resulterende waarde door 2: 128 / 2 = 64 Mb/s.

De verkregen waarde is vergelijkbaar met de gegevensoverdrachtsnelheid van oude IDE PATA-standaard harde schijven UDMA66 (66 Mb/s).

Opmerking. Het is vermeldenswaard dat zelfs het combineren van twee links, bijvoorbeeld met behulp van het LACP-protocol, de productiviteit niet in 100% van de gevallen verdubbelt. De specifieke software-implementatie van het datatransmissiesysteem speelt een grote rol. In werkelijkheid zouden we een toename van de kanaalbreedte in het bereik moeten verwachten 1,4-1,7 van de oorspronkelijke waarde.

Zijn iSCSI-opslagsystemen echt zo goedkoop?

Ooit kreeg de iSCSI-standaard de bijnaam 'the poor man's Fibre Channel'. In die tijd, helemaal aan het begin van de ontwikkeling, geloofde men dat het voldoende was om gewoon meerdere netwerkkaarten en een simpele switch aan te schaffen en dat je een gegevensopslagnetwerk kon bouwen. Later bleek dat dit niet helemaal waar is.

Ten eerste, De bandbreedte van Ethernet-familienetwerken is al geruime tijd beperkt tot de maximale snelheid 1 Gb/sec. Destijds ondersteunde Fibre Channel al netwerken SAN op 2 en 4 Gb/s

Ten tweede, Bijna de gehele last voor het garanderen van iSCSI-werking valt op de eindapparaten op het iSCSI-doel en de iSCSI-initiator. Daarom vereist het gebruik van iSCSI extra systeembronnen. Dit is de aanleiding geweest voor het maken van apparaten om rekenkracht te ‘ontladen’ - TOE en volledige iSCSI HBA.

Ten derde, We mogen niet vergeten dat het gebruik van iSCSI extra middelen vereist in de vorm van netwerkapparatuur. Netwerkadapters, switches, patchpanelen - dit kost allemaal geld. De kosten van een 10 Gigabit Ethernet-netwerkkaart zijn bijvoorbeeld vergelijkbaar met de kosten FC HBA 8 of zelfs 16 Gb/s

Uit dit alles volgt dat er geen universele oplossingen zijn volgens het principe "neem dit - het zal goedkoop en vrolijk zijn." Elke optie, of het nu een opslagnetwerk is, is gebaseerd iSCSI of Fibre Channel, vereist een zorgvuldige studie, zowel vanuit technisch als financieel oogpunt.

Aan de andere kant is het gebruik van iSCSI-hardware en -protocol in de beginfase veel eenvoudiger dan het helemaal opnieuw opzetten van een op Fibre Channel gebaseerd SAN. Het volstaat om over een geschikte server te beschikken met netwerkadapters, netwerkapparatuur en installatiesoftware iSCSI-doel en iSCSI-initiator. Tegelijkertijd hoeft u geen dure cursussen te volgen of zeer dure literatuur aan te schaffen om specifieke apparatuur en software te bestuderen.

Hoe kan ik iSCSI SAN versnellen?

  • Gebruik een speciale schakelaar. Bij het werken iSCSI-doel“in een gemeenschappelijk netwerk” zijn switches, naast toegang tot opslagsystemen, gedwongen om veel concurrerende transacties uit te voeren, bijvoorbeeld tussen kantoorcomputers, waardoor de werkelijke snelheid van netwerkuitwisseling afneemt. Een speciale schakelaar is ook een uitstekende beveiligingsmaatregel (zie hieronder).
  • Gebruik geen onnodige beveiligingsmaatregelen. Hoe meer beveiligingsmechanismen er worden gebruikt, hoe langzamer het opslagsysteem als geheel werkt. Ja, met moderne iSCSI-opslag kunt u tegelijkertijd gebruik maken van softwarematige netwerktoegangsbeperking, bidirectionele authenticatie en IPsec-codering. Maar hoe noodzakelijk is dit allemaal in een normale situatie? Bij het oplossen van eenvoudige problemen volstaat het om eenvoudigweg een speciale schakelaar te gebruiken.
  • Gebruik het snelste netwerk. Houd er echter rekening mee dat het snelste netwerk nutteloos is als andere componenten van een zwakke of verouderde configuratie worden gebruikt, bijvoorbeeld een oude processor of een verouderde schijfsubsysteemcontroller.
  • Vind het knelpunt en upgrade de apparatuur Opslagsysteem (iSCSI-doel). Vergeet de mogelijkheid niet om netwerkadapters met ingebouwde iSCSI-ondersteuning te gebruiken.
  • Gebruik indien mogelijk Apparaatomvang om de overhead te verminderen bij het werken met het iSCSI-doelschijfsubsysteem.
  • Houd de vrije ruimte in de gaten. Vermijd het vullen van gekoppelde iSCSI-volumes met meer dan 75-80% van hun volume om prestatieverlies te voorkomen. Houd er rekening mee dat elk opslagsysteem, of het nu een harde schijf of SAN-opslag is, langzamer gaat werken als de opgegeven limiet wordt overschreden.
  • Maak geen erg grote schijfvolumes. Grote schijfpartities die via het netwerk in de bloktoegangsmodus zijn verbonden, kunnen prestatievermindering veroorzaken als gevolg van problemen bij het indexeren, zoeken en plaatsen van informatie op de schijfpartitie. U moet ook begrijpen dat als het netwerk uitvalt, er fouten kunnen verschijnen in het bestandssysteem van verbonden blokbronnen. Het controleren van een groot volume op fouten kan een uiterst moeilijke taak zijn.

Door het gebruik van iSCSI-standaarden en -technologieën kunt u het opslagsysteem snel aansluiten als apparaten met bloktoegang. Met de verdere ontwikkeling van de IT-infrastructuur zijn echter bepaalde financiële en technische middelen nodig om de betrouwbaarheid en aanvaardbare snelheid van gegevensoverdracht te garanderen.