Een beginnershandleiding voor iSCSI. iSCSI aansluiten en configureren op Windows Server Sun In tegenstelling tot IP-opslag

Navigeren door het artikel

Dit is een instructie voor het aansluiten van een iSCSI-schijf in Windows Server 2016... Wanneer u een dienst bestelt bij SIM-Networks, ontvangt u een bericht zoals hieronder (houd er rekening mee dat de waarden van de cijfers in het serveradres kunnen afwijken van de voorbeeld-illustratie, en in plaats van letters X, Y of Z het bericht geeft de echte waarden voor de instelling aan jouw zijn toegang):

De service "iSCSI Backup" is geactiveerd.

Toegangsparameters:

  • Serveradres (iscsi-doel): 185.59.101.184
  • Log in: YYY
  • Wachtwoord: ZZZ
  • Toegang tot de dienst is momenteel beperkt tot slechts één IP-adres - XXX.XXX.XXX.XXX

ISCSI-schijftoewijzing

1. Ga naar " Controlepaneel -> Administratie"En loop InitiatiefnemeriSCSI.

2. in hoofdstuk " EigenschappenDetectie"En druk op de knop" Ontdek Portal».

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

4. Open het gedeelte met aanvullende parameters om verbinding te maken met de server (klik op de " aanvullend"). Selecteer veldwaarden " Lokale adapter" en " Initiator IP-adres”Zoals in de onderstaande afbeelding (waarbij het initiator-IP het IP-adres is van uw lokale netwerkadapter via welke de verbinding met de iSCSI-server is toegestaan).

5. Sla de instellingen op, zorg ervoor dat je een afbeelding krijgt zoals hieronder:

6. in hoofdstuk " Eigenschappen"ISCSI-initiatiefnemer ga naar de" Eindobjecten", Selecteer het verschenen object met een inactieve status en druk op de knop" Inpluggen».

7. In het geopende venster " Doel verbinding", Druk op de knop" Aanvullend…»

8. Vul de velden van de sectie in zoals in de onderstaande afbeelding. De parameters "Naam" en "Geheim" zijn "Inloggen" en "Wachtwoord" uit de brief die u bij activering van de dienst werd toegestuurd.

9. Sla de instellingen op. Zorg ervoor dat de waarde van het veld " Staat"Gedetecteerd doel -" Verbonden"Zoals op de foto hieronder. Verlaat de sectie " Eigenschappen»ISCSI Initiator, de instellingen opslaan.


Een iSCSI-station initialiseren en formatteren

De aangesloten iSCSI-schijf moet worden voorbereid (geïnitialiseerd en geformatteerd).

10. in hoofdstuk " Administratie"Open de" Computer management».

11. Ga naar de sectie " Schijfbeheer».

12. Zorg ervoor dat uw schijf wordt weergegeven, de status is " offline».

13. Selecteer in het contextmenu het item " Online».

14. Initialiseer de schijf.

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

16. Selecteer in het contextmenu op een niet-gepartitioneerde schijf " Eenvoudig volume maken».

17. Na openen " Eenvoudige volumewizards"Klik op de knop" Verder».

18. Specificeer de grootte van de partitie in het corresponderende veld, of laat de standaardwaarde ongewijzigd (als u de hele schijf onder één partitie moet gebruiken).

19. Wijs een stationsletter toe aan de nieuwe partitie.

20. Selecteer het bestandssysteemtype en het volumelabel.

ISCSI is ontworpen voor opslagnetwerken en is een methode om toegang te krijgen tot blokapparaten via SCSI via TCP/IP. Hierdoor kunnen goedkope Storage Area Networks (SAN's) worden opgezet via conventionele Ethernet-netwerken. Deze functie wordt veel gebruikt bij de constructie van systemen met hoge beschikbaarheid en we zullen in deze cyclus oplossingen overwegen op basis van iSCSI-opslag. Vandaag zullen we kijken naar het maken van zo'n winkel op het Windows Server 2008 R2-platform.

Eerst een paar woorden over de fundamentele verschillen tussen iSCSI en andere netwerkopslagsystemen. Storage Area Networks - SAN(Storage Area Network) zorgen voor de overdracht van gegevens in het netwerk in "ruwe" vorm met behulp van 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 - ze moeten vóór gebruik worden gepartitioneerd en geformatteerd.

Tegelijkertijd voor iedereen bekend netwerkgekoppelde opslag - NAS (Network Area Storage) bieden toegang op bestandssysteemniveau met behulp van protocollen voor bestandsoverdracht, zoals SMB of NFS.

Simpel gezegd: NAS zijn gedeelde netwerkmappen die iedereen kent, SAN - schijven verbonden via een netwerk. Dit leidt tot een tweede belangrijk verschil. Een netwerkmap kan veel clients bedienen. Een SAN-apparaat kan worden aangesloten op een enkele client, net zoals een gewone HDD slechts op één pc kan worden aangesloten. Een uitzondering zijn clusters, wanneer meerdere nodes tegelijkertijd toegang hebben tot één SAN-apparaat, in dit geval wordt een extra abstractieniveau gebruikt - bijvoorbeeld een clusterbestandssysteem Gedeelde Microsoft Cluster-volumes (CSV) of VMware VMFS.

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

  • ISCSI-initiatiefnemer- het clientgedeelte, stuurt verzoeken naar het iSCSI-doel, kan worden uitgevoerd in software, in de vorm van een driver, of in hardware, in de vorm van een iSCSI-adapter;
  • ISCSI-doel (iSCSI Doel, doel) - de serverzijde, accepteert verbindingen van de initiator en geeft hem toegang tot de blokapparaten die aan hem zijn gekoppeld - virtuele schijven, LUN's. Het kan zowel in software als als hardware-opslagsysteem worden geïmplementeerd.

Eén iSCSI-doel kan worden gekoppeld aan meerdere blokapparaten die beschikbaar zijn voor de initiator die verbinding maakt met het doel. Eén initiator kan op meerdere doelen worden aangesloten en alle bijbehorende apparaten gebruiken. Een enkel doel kan ook verbindingen van meerdere initiatiefnemers accepteren, maar elk afzonderlijk apparaat is alleen toegankelijk voor een van de initiatiefnemers.

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

Dit is nodig om te zorgen voor voldoende SAN-bandbreedte en om overbelasting van het normale netwerk met iSCSI-verkeer te voorkomen. Het heeft ook geen zin om iSCSI te organiseren in netwerken met een bandbreedte lager dan 1 Gbps.

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

Laten we na de installatie naar de iSCSI Management Console gaan: Start - Systeembeheer - iSCSI-softwaredoel... Laten we eerst een nieuwe . maken doel (doel)... Klik hiervoor met de rechtermuisknop op ISCSI-doelen - iSCSI-doel maken.

Er wordt een wizard geopend waarin we de naam van het doel en de beschrijving ervan specificeren. Geef de doelen betekenisvolle namen en wees niet lui om beschrijvingen te maken, zodat je later niet hoeft te raden waarom je dit of dat doel hebt gemaakt.

De volgende stap moeten we de ID's specificeren van de iSCSI-initiators die toegang krijgen tot het doel. IQN is een speciale formaatnaam iqn. .: die uniek is voor elk iSCSI-apparaat op het SAN. Waar:

  • jaar-mo- jaar van domeinnaamregistratie;
  • reversed_domain_name-domeinnaam omgekeerd geschreven;
  • unieke naam- een unieke apparaatnaam, het doel hier zal bijvoorbeeld de naam bevatten die u hebt opgegeven en de initiator zal de hostnaam bevatten.

In Microsoft-softwareoplossingen heeft IQN bijvoorbeeld het standaardformaat 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 de procedure zal hetzelfde zijn voor alle andere versies van Windows. Ga naar Configuratiescherm - iSCSI-initiator, antwoorden we bevestigend op het voorstel om de automatische lancering in te stellen:

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

Je kunt het kopiëren en specificeren bij het instellen van een doel, maar er is een andere manier. Ga hiervoor naar de bladwijzer Eindobjecten, in het veld Een voorwerp voer de naam in van de server met de geïnstalleerde ISCSI-softwaredoel en druk op Snelle verbinding.

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

Nu wordt duidelijk waarom we probeerden verbinding te maken. De iSCSI-doelserver houdt een lijst bij van de initiators die er het laatst mee zijn verbonden en stelt u in staat deze te selecteren.

Dit voltooit het maken van het doel en we kunnen er een of meer schijven aan maken en eraan binden. Ga hiervoor naar item Apparaten en selecteer in het rechtsklikmenu Virtuele schijf maken.

De volgende wizard wordt geopend, waarin we de locatie en naam van de virtuele schijf specificeren, merk op dat u de volledige naam van het bestand moet opgeven, samen met de extensie .vhd.

Dan geven we de gewenste grootte aan in MB

En het iSCSI-doel (doel) waaraan deze virtuele schijf wordt gekoppeld.

Hiermee is ook de schijfconfiguratie voltooid. Als resultaat van deze eenvoudige stappen kregen we een geconfigureerd iSCSI-doel met een virtuele schijf eraan. Laten we nu teruggaan naar de initiatiefnemer. U kunt profiteren van een snelle verbinding en automatisch schijven van gedetecteerde doelen verbinden. Maar vergeet niet dat ons doel niet alleen is om schijven aan te sluiten, maar ook om het SAN en het lokale netwerk van de onderneming te scheiden.

Ga daarom naar de bladwijzer Detectie en druk op Ontdek Portal en voer vervolgens de servernaam in met de iSCSI-doelrol.

Dan keren we terug naar de bladwijzer Eindobjecten, selecteer het gedetecteerde doel, dat zich in de staat bevindt Niet actief en druk op Eigenschappen.

In het geopende venster in het veld IP-adres van doelportal selecteer het adres dat bij uw opslagnetwerk hoort:

We gaan terug en drukken op Inpluggen... Bijgevoegde apparaten zijn te vinden in snap-in Schijfbeheer.

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

In dit artikel hebben we gekeken naar de eenvoudigste optie voor het opzetten van een opslag. In onze volgende materialen keren we terug naar individuele instellingen zonder het algemene onderwerp van het maken van een repository aan te raken.

05.10.2012

Wil je wat sneller toegang tot je netwerkopslag? Probeer de ingebouwde Windows-tool te gebruiken. Met het iSCSI-protocol kunt u via het netwerk verbinding maken met een extern opslagvolume alsof het een lokale schijf is.

Marco Chiappetta. Versnel uw NAS-apparaat met iSCSI. PC Wereld, september 2012, p. 86.

Wil je wat sneller toegang tot je netwerkopslag? Probeer de ingebouwde Windows-tool. Met het iSCSI-protocol kunt u via het netwerk verbinding maken met een extern opslagvolume alsof het een lokale schijf is.

ISCSI staat voor Internet Small Computer System Interface. SCSI-technologie (zonder i) wordt al lang gebruikt om verschillende randapparatuur op computersystemen aan te sluiten, maar meestal worden gegevens uitgewisseld met opslagapparaten zoals harde schijven of tapedrives. Met het iSCSI-protocol kunt u via het netwerk verbinding maken met een extern opslagvolume alsof het een lokale schijf is. Simpel gezegd, iSCSI vertaalt SCSI-commando's via IP-netwerken (Internet Protocol). Deze technologie lijkt op een virtuele SATA-kabel (of SCSI) en gebruikt een netwerkverbinding om te communiceren tussen het systeem en het opslagvolume.

Waarin verschilt iSCSI van andere via het netwerk aangesloten stations met de bijbehorende stationsletter? In veel opzichten zullen de eindresultaten vergelijkbaar zijn. Maar dankzij iSCSI ziet het aangekoppelde volume eruit als een lokaal blokopslagapparaat voor het besturingssysteem dat kan worden geformatteerd naar elke bestandssysteemstandaard van uw keuze.

Een iSCSI-interface vereist twee hoofdcomponenten: een Network-Attached Storage (NAS) of server met een volume dat is geconfigureerd als een iSCSI-doel, en een iSCSI-initiator, waarmee het systeem op het doel kan worden aangesloten.

Als je een NAS-apparaat hebt aangesloten op een Windows-pc, is dit waarschijnlijk voldoende. Vrijwel alle NAS-servers bieden de mogelijkheid om iSCSI-doelen te configureren. En Microsoft heeft een tool om een ​​iSCSI-initiator te maken in elke versie van Windows sinds Vista. De initiator kan worden uitgevoerd op een computer met een besturingssysteemversie van minimaal Windows 2000.

Om te demonstreren hoe iSCSI werkt, neemt u een Thecus N2200XXX dual-drive NAS-server met een aangepast iSCSI-compatibel Linux-besturingssysteem en een Windows 7 Ultimate desktopsysteem. Elk op Windows gebaseerd systeem creëert een iSCSI-compatibel apparaat wanneer het communiceert met de NAS.

iSCSI Voor- en nadelen

Zoals hierboven vermeld, wordt het iSCSI-netwerkdoel op het systeem weergegeven als een lokale schijf. Daarom kunt u het niet alleen formatteren in de bestandssysteemstandaard van het besturingssysteem van uw computer, maar er ook voor zorgen dat toepassingen die een lokale schijf vereisen, worden gestart vanaf het iSCSI-volume. Deze flexibiliteit is erg belangrijk voor kleine bedrijven omdat veel programma's niet netwerkbewust zijn. ISCSI-technologie helpt dit probleem op te lossen.

In sommige gevallen kan iSCSI de prestaties verbeteren door grote schijfarrays aan te sluiten op clientsystemen zonder dat er speciale hardware en kabels nodig zijn (wat tot aanzienlijke besparingen kan leiden). In dit artikel zullen we ons echter beperken tot een beschouwing van consumentensystemen in het middensegment.

Opgemerkt moet worden dat iSCSI-technologie bepaalde nadelen heeft. De systeemconfiguratie is niet al te ingewikkeld, maar het zoeken naar netwerkbronnen alleen is niet voldoende om het iSCSI-doel en de initiator te configureren. Om beschadiging of verlies van gegevens te voorkomen, mag slechts één initiator tegelijk met het doel worden verbonden. Als u krachtige servers en schijfstations gebruikt, worden de prestaties beperkt door de snelheid van uw netwerkverbinding. Daarom lijkt de beste keuze een verbinding met gigabit-snelheden en hoger te zijn - trage netwerkverbindingen kunnen alle voordelen van iSCSI tenietdoen.

Installatie

Hieronder volgen de stappen die u moet nemen om iSCSI-technologie te gebruiken met de Thecus N2200XXX NAS. Voor andere apparaten en servers zijn de stappen hetzelfde.

1. Ga naar het configuratiemenu van de NAS-server, selecteer de RAID-modus en reserveer ruimte voor het iSCSI-volume. Ik gebruikte RAID 1-mirroring met twee schijven van 2 TB. De helft van de beschikbare capaciteit werd toegewezen aan het EXT4-bestandssysteem en de andere helft was ongebruikt. (In de derde fase werd de ongebruikte capaciteit gereserveerd voor iSCSI.)

2. Nadat er ruimte voor RAID is toegewezen, moet deze worden geformatteerd. Wanneer het formatteringsproces is voltooid (afhankelijk van de schijfconfiguratie kan dit enkele uren duren), kunt u beginnen met het toewijzen van ongebruikte ruimte voor het iSCSI-doel. (Als alle beschikbare ruimte wordt gereserveerd voor iSCSI, hoeft u de schijfarray in dit stadium niet te formatteren.)

3. Laten we nu het iSCSI-doel configureren. Ik klikte eerst op de koppeling Ruimtetoewijzing in het menu Opslag in het linkerdeelvenster en klikte vervolgens op de knop Toevoegen op het iSCSI-doeltabblad. Er verschijnt een nieuw venster op het scherm waarin u de gewenste grootte van het iSCSI-doel moet selecteren, activeren en een naam geven.

En als u nog een beveiligingslaag wilt toevoegen, kunt u in dezelfde fase de parameters van het Challenge Handshake Authentication Protocol (CHAP) configureren.

4. Als u besluit niet alle beschikbare ruimte toe te wijzen aan een enkel iSCSI-doel, kunt u Logical Unit Numbers (LUN's) toewijzen aan meerdere doelen. Hierdoor kunnen meerdere systemen worden aangesloten op één NAS-apparaat of server, en krijgt elk clientsysteem zijn eigen iSCSI-doel.

Het doel instellen

Nadat het iSCSI-doel is gemaakt, moet u er verbinding mee maken via de iSCSI-initiator op de Windows-client-pc. Klik op de Start-knop, typ iSCSI in de zoekbalk en druk op de toets (of ga naar het menu Start naar Configuratiescherm en selecteer onder Systeem en beveiliging Systeembeheer en vervolgens iSCSI Initiator). Als er een bericht op het scherm verschijnt dat de iSCSI-service niet actief is, schakelt u deze in om te starten en verschijnt het iSCSI Initiator Properties-venster op het scherm.

Ga naar het tabblad Ontdekken en klik op de knop Portal ontdekken. Voer in het geopende venster het IP-adres in van het NAS-apparaat of de server die het iSCSI-doel host. Het is niet nodig om het poortnummer te wijzigen (tenzij het iSCSI-poortnummer eerder is gedefinieerd). Standaard stelt het systeem poort 3260 voor. Als u eerder CHAP-verificatie hebt ingeschakeld, moet u op de knop Geavanceerd klikken en uw CHAP-referenties invoeren. Klik anders op OK en het IP-adres van uw NAS-apparaat of server verschijnt in de lijst met doelportals.

Als het doel niet in deze lijst staat, zorg er dan voor dat het IP-adres correct is ingevoerd en dat de juiste poort op de firewall is geopend.

Nadat de server in de lijst met doelen is verschenen, gaat u naar het tabblad Doelen. Het iSCSI-doel dat u eerder hebt gemaakt, zou in de doelgroep in het midden van het venster moeten verschijnen. Klik op het object en klik op de knop "Verbinden". Selecteer in het doelverbindingsvenster dat op het scherm verschijnt de optie Deze verbinding toevoegen aan de lijst met favoriete doelobjecten en klik op OK. Klik vervolgens nogmaals op OK in het venster Eigenschappen van iSCSI-initiator.

Op een clientsysteem dat is aangesloten op een iSCSI-doel, moet u het doel formatteren volgens dezelfde procedure als voor elke lokale schijf. Klik op de knop "Start", klik met de rechtermuisknop op "Computer" en selecteer "Beheren" in het contextmenu. Klik in het gedeelte Opslag van het hulpprogramma Computerbeheer op de koppeling Schijfbeheer. Het dialoogvenster "Schijf initialiseren" wordt weergegeven. Zorg ervoor dat de optie "Selecteer schijf" is aangevinkt en selecteer het gewenste partitietype (ik gebruikte MBR - Master Boot Record). Klik OK.

Volg de aanwijzingen op het scherm om de grootte van het volume op te geven, een letter toe te wijzen aan het station en het bestandssysteem en het volumelabel op te geven. Klik op de knop Voltooien. Wanneer het formatteren is voltooid, verschijnt er een nieuwe stationsletter. Nu kunt u bestanden overbrengen en programma's uitvoeren vanaf uw NAS, waar deze zich ook bevindt.

Prestatievergelijking

Om de prestaties van mijn iSCSI-gekoppelde externe NAS te evalueren, vergeleek ik het iSCSI-doel met een standaard aangesloten NAS met behulp van twee benchmarks.

De ATTO Disk Benchmark liet niet veel verschil zien tussen een toegewezen netwerkschijf en een iSCSI-apparaat, hoewel de schijf een iets hogere doorvoer liet zien. Dit is echter een relatief eenvoudige test die alleen sequentieel schrijven van gegevens evalueert.

Maar de CrystalDiskMark-test analyseert de werking van apparaten in zowel sequentiële als willekeurige toegangsmodi, werkend met twee bestanden van verschillende groottes. De resultaten toonden aan dat het iSCSI-doel significant sneller presteerde. Het iSCSI-apparaat en de standaard toegewezen netwerkschijf hadden dezelfde schrijfsnelheid, maar iSCSI-leesbewerkingen waren 30-40% sneller.

Testen hebben aangetoond dat toegang tot een NAS-apparaat en het formatteren ervan om op een lokale schijf te lijken, evenals de mogelijkheid om programma's uit te voeren, niet de enige voordelen zijn die door iSCSI-technologie worden geboden. Het versnelt ook leesbewerkingen. Dus als u thuis of op kantoor met NAS-apparaten werkt, zal iSCSI hun prestaties aanzienlijk (en volledig gratis) verbeteren.

Voortbordurend op het onderwerp nuttig gebruik van oude serverhardware, laten we het deze keer hebben over het gebruik van de modelserver IBM-systeem x3200 4362 als netwerkopslag toegankelijk via het protocol iSCSI als iSCSI-doel... V we hebben zo'n server al overwogen als opslag voor back-ups van virtuele machines met software-deduplicatie van quadstor ... In ons geval werd de situatie echter verergerd door het feit dat op sommige afgelegen locaties waar het werd ingezet , virtuele machines waarvan in de loop van de tijd een back-up is gemaakt, hebben een extra schijf gekregen voor het opslaan van inhoud voor het distributiepunt SCCM ... En, zoals u weet, kan de inhoud van schijven die worden gebruikt voor inhoudsdistributie in SCCM soms zeer actief veranderen (er worden nieuwe updates gedownload , verlopen updates worden verwijderd, bepaalde implementatiesoftware wordt geladen, enz.). Daarom, gezien het feit dat de gebruikte software Gratis Veeam Backup-editie niet toestaat om individuele virtuele schijven die bij deze VM horen uit te sluiten van de reservekopie van een virtuele machine, was het nodig om het probleem van het vergroten van de schijfruimte op dezelfde IBM-servers op te lossen. Tegelijkertijd rees de vraag naar het nut van deduplicatie, die bij veel wisselende content zijn efficiëntie verliest.

De "kers op de taart" in de beschreven situatie was dat de server, die in ons geval wordt gebruikt als een iSCSI Target (van de Quadstor-implementatie), een zeer bescheiden schijfkooi heeft - slechts 4 SAS / SATA 3,5 "-slots, twee van die bezig zijn onder het host Linux OS.

Hier zullen we een van de mogelijke oplossingen voor de reeks beschreven problemen en beperkingen beschouwen, die erin bestaat een volwaardige Linux OS-installatie te vervangen door een gespecialiseerde installatie die vanaf een USB-drive is geladen en in RAM wordt uitgevoerd.Linux-distributie van het project Enterprise Storage-besturingssysteem (ESOS). In de kern is ESOS een moderne Linux-kernel die is geoptimaliseerd voor het werken in RAM met geïntegreerde projectsoftware. , een voorbeeld van het gebruik waarvan we al hebben .

Het algemene evenementenplan ziet er als volgt uit:

  • We verwijderen de schijven met een kleine capaciteit waarop het host-besturingssysteem is geïnstalleerd uit de schijfmand en plaatsen op deze plaats de schijven met de grotere capaciteit (alle schijven in de mand hebben dezelfde capaciteit)
  • Op hardware RAID-controllerniveau definiëren we elk van de vier schijven die op de schijfkooi zijn aangesloten als een onafhankelijk apparaat.
  • Een opstartbare USB-drive voorbereiden met ESOS
  • We laden de server met ESOS en maken een software RAID-array van alle schijven in de prullenbak.
  • Configureer iSCSI Target in ESOS en sluit de schijf aan op de serverzijde van de iSCSI Initiator
  • Een extra netwerkverbinding tussen servers configureren en Multipath inschakelen
Serverconfiguratie

In ons voorbeeld zullen we overwegen om de eenvoudigste configuratie te bouwen met iSCSI van twee servers, waarvan er één als doel dient iSCSI-doel op de basis ESOS v 1.3.5 en de ander fungeert als de initiërende gastheer iSCSI-initiator op de basis Windows Server 2012 R2... Om de beschikbaarheid en prestaties te verbeteren, wordt een multipath-verbinding tot stand gebracht tussen het doel en de initiërende host ( multi-pad). Om iSCSI-verkeer te scheiden van serverbeheerverkeer, wordt in elke server een extra netwerkadapter met twee poorten geïnstalleerd.

1 ) Server voor de iSCSI-doelrol(KOM-AD01-ESOS01)

Modelserver IBM-systeem x3200 4362 met een schijfkooi voor 4 LFF HDD SAS / SATA-schijven en een extra geïnstalleerde netwerkadapter HP NC380T PCI Express Dual Port Multifunctionele Gigabit Server Adapter (394795-B21). Deze server zal ESOS opstarten vanaf een USB-stick. Alle 4 de schijven van de schijfkooi van de server zullen door ESOS worden gebruikt om een ​​software-RAID-array te organiseren, die op zijn beurt zal worden gepresenteerd aan de initiërende host.

2 ) Server voor de rol iSCSI-initiator (KOM-AD01-VM01)

Modelserver HP ProLiant DL380 G5 optreden als een op het besturingssysteem gebaseerde Hyper-V-virtualisatiehost Windows Server 2012 R2 Standaard... Naast de basisconfiguratie is er een netwerkadapter in de server geïnstalleerd HP NC380T PCI Express Dual Port Multifunctionele Gigabit Server Adapter (394795-B21). De schijf die vanaf de ESOS-server via het iSCSI-protocol met deze server is verbonden, wordt gebruikt voor back-uptaken van virtuele Hyper-V-machines.

Het eenvoudigste schema voor het verbinden van de netwerkinterfaces van servers ziet er als volgt uit:

Een RAID-controller configureren op een IBM-server

Ongeacht het servermodel en de RAID-controller die in ons geval worden gebruikt, kunnen we zeggen dat het gebruik van de ESOS-distributiekit, die geen speciale schijf vereist voor zijn werking, in elke schijfconfiguratie het mogelijk zal maken om alle schijfmandbronnen voor de nuttige schijfruimte. In sommige situaties kan dit argument significant zijn.

In ons voorbeeld zijn 4 identieke SATA 7200 1TB-schijven in de schijfkooi geïnstalleerd.

Om ons los te koppelen van de zeer bescheiden mogelijkheden van de hardware RAID-controller waarmee onze server is uitgerust, en om in de toekomst gebruik te kunnen maken van de mogelijkheden van het bouwen van een software RAID-array op basis van ESOS, moeten we elke schijf eruit laten zien als een afzonderlijke fysiek apparaat voor ESOS. Daarom verwijderen we in het ingebouwde hulpprogramma voor het beheer van de RAID-controller alle bestaande logische RAID-schijven, zodat elke schijf als een afzonderlijk apparaat wordt gepresenteerd.

Bij sommige RAID-controllers, zoals de HP Smart Array, kunnen toegewezen schijven niet worden vertaald als zelfstandige schijfapparaten. In dergelijke gevallen moet u voor elke afzonderlijke schijf een apart RAID-0-volume maken. In ons geval is alles eenvoudiger, omdat de controller op onze server is geïnstalleerd LSI-logica SAS1064ET is nogal primitief en toont alle schijven als afzonderlijke apparaten als die schijven niet zijn opgenomen in de hardware-RAID.

ESOS USB opstartbare schijf voorbereiden

Download de nieuwste stabiele tak van ESOS (tak 1.x.x) van de projectpagina ESOS - Pakketdownloads ... Op dezelfde pagina vindt u een beschrijving van andere ESOS-takken (master - in ontwikkeling en 0.1.x - verouderd).

Tijdens het schrijven van dit artikel was de gebruikte versie: 1.3.5 (25.01.2018 ) beschikbaar via de link esos-1.3.5.zip ... Op het moment van publicatie ben ik er al in geslaagd om met de nieuwere versie 1.3.6 (04/12/2018) te werken.

Aangezien ESOS een RAM-georiënteerd systeem is, zal het starten vanaf een externe schijf die is aangesloten via een gewone USB-poort. Dat wil zeggen, we hebben een USB-drive nodig met een grootte van 4GB en meer. Als u van plan bent om de master branch te gebruiken, dan voor een succesvolle update tussen versies, volgens de aanbevelingen van het document Upgraden , heeft het USB-opslagapparaat mogelijk tot 5 GB extra ruimte nodig. In ons geval hebben we voor ESOS met succes schijven gebruikt in verschillende mate van "kelder" in grootte vanaf 8 GB en meer.

Standaard inloggegevens:

  • Gebruikersnaam: wortel
  • Wachtwoord: esos

Wanneer je inlogt, wordt er automatisch een speciale shell gelanceerd Op tekst gebaseerde gebruikersinterface (TUI), wat het werken met het systeem zoveel mogelijk vereenvoudigt. Het bovenste gedeelte van de TUI bevat het functionele hoofdmenu waarmee u alle basistaken voor het configureren van de server als opslag voor SAN's kunt uitvoeren.

De primaire taken van de initiële installatie zijn het wijzigen van het standaard gebruikerswachtwoord. wortel en netwerkconfiguratie, voor de mogelijkheid om op afstand met het systeem te werken.

Ga naar menu-items Systeem > Wachtwoord wijzigen en stel een nieuw wachtwoord in voor de gebruiker wortel.

Ga dan naar Systeem > Netwerkinstellingen en selecteer het item voor het configureren van basisnetwerkparameters Algemene netwerkinstellingen

Geef in het geopende formulier de hostnaam, de DNS-domeinnaam, het IP-adres van de standaardgateway en de DNS-serveradressen op.

Na het wijzigen van de netwerkinstellingen biedt ESOS aan om de netwerkservice opnieuw te starten om de wijzigingen door te voeren. Totdat we alle minimale netwerkinstellingen hebben gemaakt, kunnen we weigeren de netwerkservice opnieuw op te starten.

Laten we teruggaan naar Systeem > Netwerkinstellingen, selecteer de netwerkadapter die zal worden gebruikt voor de afstandsbediening van ESOS en configureer de IP-parameters. In ons voorbeeld is de configuratie statisch en is de ESOS-beheerinterface ingesteld op IP-adres 10.1.2.201/24. Het netwerkmasker en het broadcast-adres moeten, zoals ik het begrijp, worden opgegeven, anders kunnen er fouten optreden bij het opslaan van de instellingen.

Nadat de gemaakte wijzigingen zijn opgeslagen, ontvangen we opnieuw een vraag over het opnieuw opstarten van het netwerk. Nu zullen we deze vraag bevestigend beantwoorden.

Het netwerk wordt opnieuw opgestart en, in het geval van een succesvolle toepassing van de opgegeven instellingen, kunnen we op afstand verbinding maken met ESOS via het SSH-protocol.

Als onderdeel van dit bericht slaan we andere instellingen in ESOS over, zoals het instellen van de tijd, het verzenden van e-mailconfiguratie, het beheren van extra gebruikers, enz. In plaats daarvan zullen we ons alleen concentreren op die punten die relevant zijn in de context van onze taak. Voordat ik echter verbinding maak met onze ESOS-server via SSH, wil ik een kleine cosmetische uitweiding maken met betrekking tot het TUI-kleurenschema.

Er zijn twee kleurenschema's in de TUI ESOS-interface - de standaard lichte, bewaard in blauwe en turquoise tinten, die wordt getoond in de bovenstaande schermafbeeldingen, en het alternatief - donker, bewaard in de beste tradities van de "kerker met een kaars" . Geen van beide opties is naar mijn mening succesvol, omdat bij het op afstand verbinden met de serverconsole met verminderde kleurweergave (bijvoorbeeld bij het verbinden via de functie ), op sommige plaatsen van de TUI is er een effect van tekst die samenvloeit met de achtergrond. En als je verbinding maakt met TUI ESOS met behulp van de PuTTy SSH-client vanaf een Windows-systeem, dan veranderen de standaardkleurenschema's naar mijn mening over het algemeen in iets "zuur".

Aangezien we natuurlijk voornamelijk met ESOS zullen werken met behulp van een externe SSH-verbinding, is er met name voor de PuTTy-client een eenvoudige oplossing - het gebruik van aangepaste kleurenschema's aan de zijkant van de SSH-client voor elke smaak en kleur. We hebben eerder in de post voorbeelden van een dergelijke instelling bekeken. ... Om vervolgens met ESOS via SSH te werken, gebruiken we het PuTTy-schema - Schemering.

Een software-RAID maken in ESOS

Na het voltooien van de initiële basis ESOS-configuratie, gaan we verder met de configuratie van het serverschijfsysteem. Laten we een software RAID-array maken (geïmplementeerd op basis van: Linux-software RAID/mdroid) van de 4 schijven die tot onze beschikking staan. Ga hiervoor naar het menu Software-RAID > Matrix toevoegen

In de lijst met blokapparaten die beschikbaar zijn voor opname in software-RAID, markeren we de schijven waarvan we een RAID-array gaan maken.

Klik na het selecteren van de schijven op Binnenkomen... Het RAID-configuratiescherm verschijnt. Geef de array een traditionele naam mdroid, Bijvoorbeeld md0... Laten we een RAID-niveau kiezen (in ons geval is dit RAID5) en een blokgrootte. In ons geval is de array samengesteld voor het maken van back-ups van grote bestanden van schijven van virtuele machines, dus hebben we de grootste blokgrootte gekozen.

Na het indrukken van de knop oke de initialisatieprocedure voor de RAID-array wordt gestart. Ga naar het navigatiemenu in Software-RAID > Linux MD-status en controleer de status van de gemaakte RAID-array.

Hier kunnen we wachten op de volledige voltooiing van het bouwen van de RAID-array, of we kunnen doorgaan met het configureren van onze server, aangezien de schijfcapaciteit van de array in feite al voor ons beschikbaar is.

ISCSI-doelconfiguratie

Om de schijfcapaciteit van de door ons gecreëerde RAID-array te presenteren aan de virtualisatiehost via het netwerk met behulp van het iSCSI-protocol, moet u op de ESOS-server een iSCSI-doel... Ga hiervoor in het navigatiemenu naar doelen > iSCSI-doel toevoegen... In het formulier voor het maken van een doel geven we de naam aan iSCSI-gekwalificeerde naam (IQN).

In ons geval hebben we de standaardnaam in het formaat gebruikt iqn.2018-03.esos.<имя сервера>: Het enige dat ik in de naam heb veranderd, was de dubbele punt aan het einde van de naam te verwijderen.

Eenmaal opgeslagen, verschijnt de iSCSI-doelinformatie op het ESOS-hoofdscherm, maar het doel wordt uitgeschakeld.

Om het doel te activeren, gaat u naar het navigatiemenu in doelen > Inschakelen/Doel uitschakelen, selecteer uit de lijst met doelen het doel dat we zojuist hebben gemaakt en wijzig de eigenschappen ervan Gehandicapt op de Ingeschakeld.

Zorg ervoor dat de informatie over de doelstatus is gewijzigd op het hoofdscherm van TUI.

Uit de lijst met uitzendmodi van apparaten, waarvan de beschrijving te vinden is in het document36_Devices_and_Mappings - SCST I / O-modi , selecteer de modus die voor ons van belang is. In ons voorbeeld wordt de modus gebruikt vdisk_blockio die directe toegang biedt tot blokapparaten en het gebruik van tussenliggende Linux-cachingmechanismen elimineert.

Na het selecteren van de modus wordt een venster geopend voor het selecteren van de blokapparaten die mogelijk zijn voor deze modus. We selecteren onze RAID-array.

Daarna wordt het formulier voor het configureren van SCST-parameters voor het virtuele blokapparaat geopend. vdisk_blockio... We zullen een korte en begrijpelijke naam van het apparaat aangeven. Deze naam wordt verder weergegeven aan de zijkant van de virtualisatiehost die fungeert als iSCSI-initiator in apparaatbeheer. Daarom heb ik voor de naam de afgekorte host- en RAID-apparaatnaam gebruikt - ESOS01-MD0. De rest van de parameters kunnen op hun standaardwaarden worden gelaten.

We slaan de instellingen van het virtuele blokapparaat op en beschrijven de hosts die verbinding mogen maken met het iSCSI-doel dat we hebben gemaakt. Maar voordat we de hosts kunnen beschrijven, moeten we een hostgroep maken. Ga naar het menu Gastheren > Groep toevoegen

Selecteer het iSCSI-doel dat we eerder hebben gemaakt, waartoe de gemaakte hostgroep zal behoren.

Stel een willekeurige hostgroepnaam in, bijvoorbeeld Groep1, en klik op Binnenkomen

De hostgroep is dus gemaakt en toegewezen aan het iSCSI-doel. Nu moeten we elke host beschrijven die zal fungeren als: iSCSI-initiator met de toewijzing van deze host aan de aangemaakte hostgroep. In ons geval zal er maar één zo'n host zijn - onze virtualisatiehost Hyper-V OS gebaseerd Windows Server 2012 R2.

Voordat je de initiatiefnemer-host aan ESOS toevoegt, moet je de naam ervan achterhalen. Naam initiatiefnemer op onze virtualisatiehost. U kunt deze naam vinden (en desgewenst wijzigen) in het Windows Server Configuratiescherm door de applet . aan te roepen iSCSI-initiator en het tabblad openen Configuratie

Zoals je kunt zien, is in ons geval de hostnaam van de initiator iqn.1991-05.com.microsoft:kom-ad01-vm01.holding.com.

Keer terug naar TUI ESOS en voeg de initiator host toe aan het menu Gastheren > Initiator toevoegen

In dit geval wordt ons gevraagd tot welk SCST-doel de toegevoegde host behoort. We selecteren het enige doel dat we eerder hebben gemaakt en opgenomen.

Vervolgens selecteren we de eerder aangemaakte hostgroep waaraan de toegevoegde initiatorhost wordt gebonden.

Voer ten slotte het IQN van de initiator-host in, wat we eerder hebben ontdekt, en klik op Binnenkomen

Dus in dit stadium in ESOS hebben we al een gecreëerd SCST-doel (in ons geval een iSCSI-doel), we hebben een virtueel SCST-blokapparaat (een software-RAID-array wordt uitgezonden), we hebben een groep hosts beschreven en een initiator host (iSCSI Initiator) is gebonden aan deze groep ... Nu hoeven we alleen het virtuele SCST-blokapparaat toe te wijzen aan de hostgroep. Ga hiervoor naar het navigatiemenu in Apparaten > Toewijzen aan hostgroep.

Selecteer het virtuele SCST-blokapparaat.

Selecteer het SCST-doel.

Selecteer de hostgroep waarin de initiërende host was opgenomen.

Vervolgens wordt het configuratieformulier geopend LUN-a, die naar het netwerk wordt uitgezonden. Specificeer het LUN-nummer (standaard wordt aan de eerste uitgezonden LUN het nummer 0 toegewezen) en sla de instellingen op door te klikken op oke.

U kunt de definitieve configuratie van de uitzending van virtuele SCST-apparaten bekijken door naar het menu te gaan Apparaten > LUN/Groepsindeling

Laten we nu beslissen hoe we het iSCSI-netwerkverkeer scheiden van het ESOS-serverbeheerverkeer. We zullen dit op zo'n manier doen dat dit soort verkeer over verschillende netwerkinterfaces volledig wordt gescheiden.

Om dit te doen, zullen we aan de ESOS-serverzijde en aan de iSCSI Initiator-clientzijde afzonderlijke netwerkinterfaces configureren met IP-adressering die verschilt van de adressering die wordt gebruikt voor serverbeheer. In ons geval wordt het 10.1.2.0/24-netwerk bijvoorbeeld gebruikt om de servers te beheren, daarom gebruiken we om iSCSI-verkeer te scheiden een klein speciaal subnet voor 6 hosts - 192.168.168.0/29 (op netwerkapparatuurniveau, u kunt dit netwerk bovendien isoleren in een afzonderlijk VLAN).

Laten we eerst een speciale iSCSI-netwerkinterface configureren aan de kant van de ESOS-server door naar het navigatiemenu te gaan onder: Systeem > Netwerkinstellingen en het selecteren van de juiste netwerkadapter.

Laten we het statische IP-adres 192.168.168.1/29 op deze interface instellen, het subnetmasker, het uitzendadres en de grotere grootte aangeven MTU- 9000 (technologie Jumbo-frame moet worden ondersteund door de netwerkadapter) om de prestaties te verbeteren bij het overbrengen van grote hoeveelheden gegevens.

Bij het opslaan van de instellingen zullen we ja antwoorden op de vraag over het opnieuw opstarten van het netwerk (alle netwerkverbindingen met ESOS worden tijdelijk verbroken).

Na voltooiing van de procedure voor het opnieuw opstarten van het netwerk, ontvangen we een samenvatting van de status van het toepassen van de nieuwe instellingen.

Laten we nu verder gaan met het instellen aan de kant van de initiator-host.

ISCSI-initiatorconfiguratie

Aan de kant van onze virtualisatiehost op basis van Windows Server, waarop we schijfcapaciteit van de ESOS-server zullen ontvangen via het iSCSI-protocol, zullen we een speciale netwerkadapter configureren voor gebruik bij het werken met het iSCSI-protocol.

Schakel alles uit, behalve wat we nodig hebben op deze speciale interface als we met iSCSI werken. Laten we bijvoorbeeld alleen protocolondersteuning overlaten TCP/IPv4 en QoS.

Door een protocol te kiezen TCP/IPv4 met de knop Eigenschappen stel het IP-adres in van het netwerk dat we hebben gedefinieerd voor iSCSI-verkeer, bijvoorbeeld 192.168.168.3/29. Laat het adres van de standaard gateway en DNS-servers leeg. Open geavanceerde instellingen met de knop Geavanceerd.

Op het tabblad DNS schakel de standaard DNS-registratieoptie uit en op de WINT ondersteuning uitschakelen LMHOST en NetBIOS via TCP/IK P.

Laten we terugkeren naar het hoofdtabblad van de eigenschappen van de netwerkinterface en het dialoogvenster voor het configureren van de parameters van de netwerkadapter oproepen door te klikken op Configureren.

In het formulier dat wordt geopend, op het tabblad geavanceerde instellingen Geavanceerd vind de optie om grote pakketten te ondersteunen Jumbo pakket en selecteer de maximaal mogelijke waarde (in ons voorbeeld is dit 9014). Op het tabblad Energiebeheer de mogelijkheid van het systeem uitschakelen om deze netwerkadapter uit te schakelen in energiebesparende modi - Toestaan ​​dat de computer dit apparaat uitschakelt om de modus op te slaan.

Sluit alle vensters en sla op met de knop oke.

Laten we nu de beschikbaarheid van de ESOS-server controleren via de speciale netwerkinterface. Eerst met het hulpprogramma tracert om ervoor te zorgen dat het verkeer rechtstreeks tussen servers wordt gerouteerd.

tracert -d 192.168.168.1

Gebruik vervolgens het hulpprogramma ping door de vlag voor het verbieden van fragmentatie in te schakelen (optie - F) en specificeren van de grootte van verzonden pakketten (optie - ik)

ping 192.168.168.1 -f -l 8000

In het geval dat ergens, bijvoorbeeld op de switch waarop de ESOS-servers en onze initiatorhost zijn aangesloten, ondersteuning niet is ingeschakeld Jumbo-frame, we kunnen berichten krijgen " Pakket moet worden gefragmenteerd, maar DF ​​is ingesteld. "In ons geval was de test succesvol, dus je kunt doorgaan met de procedure voor het aansluiten van een iSCSI-schijf.

Laten we naar het Configuratiescherm van Windows Server gaan, de applet aanroepen iSCSI-initiator en het tabblad openen Ontdekking druk op de knop Ontdek Portal... Specificeer in het venster met detectie-instellingen het IP-adres van de ESOS-server van het netwerk voor iSCSI-verkeer en klik op de knop Geavanceerd.

Selecteer in de vorm van geavanceerde detectie-instellingen als de lokale adapter Microsoft iSCSI-initiator en het eerder geconfigureerde IP-adres van het netwerk voor iSCSI-verkeer is 192.168.168.3. Sla de instellingen op door op . te klikken oke totdat we terugkeren naar het hoofd-appletvenster.

Ga daarna naar het tabblad doelen waar in sectie Ontdekte doelen het eerder genoemde zou moeten verschijnen IQN onze ESOS-server met de status Inactief... Dat wil zeggen, het systeem heeft het gedetecteerd, maar het is nog niet verbonden. Gebruik de knop om verbinding te maken met het iSCSI-doel Aansluiten.

Let in het geopende verbindingsvenster op het feit dat het teken van het toevoegen van een verbonden doel aan de lijst met favoriete doelen is ingeschakeld - Voeg deze verbinding toe aan de lijst met Favoriete doelen(voor daaropvolgende automatische verbinding met het doel in geval van herstart van de server). druk op de knop Geavanceerd.

In de vorm van geavanceerde verbindingsinstellingen zullen we expliciet aangeven welke netwerkinterfaces van het netwerk voor iSCSI-verkeer moeten worden gebruikt om iSCSI-verkeer voor deze sessieverbinding te verzenden. Dat wil zeggen, zoals Initiator IP selecteer uit de lijst het adres van de iSCSI-interface toegewezen aan onze host 192.168.168.3, en als Doelportaal IP selecteer uit de lijst het adres van de iSCSI-interface die is toegewezen aan de ESOS-server - 192.168.168.1.

Sluit het venster en sla het op Geavanceerde instellingen en Verbinding maken met doel en zorg ervoor dat de verbindingsstatus is gewijzigd in Verbonden

Laten we eens kijken naar het tabblad Favoriete doelen en zorg ervoor dat het verbonden doel op de favorietenlijst staat.

Zorg ervoor dat in "Apparaatbeheer" / Apparaat beheerder (devmgmt.msc) In hoofdstuk Schijfstations er is een extra SCSI-schijf met de naam die we eerder op de ESOS-server hebben gedefinieerd voor het virtuele SCST-blokapparaat.

De volgende stap is het initialiseren van de iSCSI-aangesloten schijf. Ga hiervoor naar de schijfbeheerconsole Schijfbeheer (diskmgmt.msc), selecteer de corresponderende schijf en zet deze in de staat Online.

Nadat de schijf de status met succes heeft gewijzigd, initialiseren we de schijf en formatteren we deze naar onze wens, bijvoorbeeld in het NTFS-bestandssysteem, waarbij we een willekeurig volumelabel instellen dat we begrijpen. Vanaf nu zal deze schijf in de grafische interface van Windows beschikbaar komen voor standaard bestandsbewerkingen.

Als we in dit stadium in de console van de ESOS-server kijken, zien we onderaan de TUI informatie over de verbindingssessie van de initiërende host.

Dit voltooit de basisconfiguratie met de eenvoudigste iSCSI-configuratie.

Eenvoudigste prestatiecontrole

Na het aansluiten van de schijf via iSCSI, is het raadzaam om in ieder geval enkele eenvoudige prestatiemetingen uit te voeren om te begrijpen wat we uiteindelijk hebben gekregen en wat we van zo'n schijf kunnen verwachten.

Het is niet de moeite waard om te vertrouwen op de cijfers die Windows Explorer ons laat zien bij het kopiëren van grote bestanden van een lokale serverschijf naar een iSCSI-schijf, omdat we daar geen objectieve informatie zullen zien. In mijn geval bijvoorbeeld, werd bij het kopiëren van verschillende grote ISO-bestanden (met verschillende inhoud) de snelheid aangegeven in de regio van 150-160 MB / s, wat aanzienlijk verschilt van de echt toegestane snelheid van een iSCSI-link tussen mijn twee servers bij 1Gbit/s (~ 125MB/s). Bovendien wordt de snelheid, min of meer vergelijkbaar met de waarheid, weergegeven bij het kopiëren van het eerste bestand, en bij het kopiëren van volgende bestanden neemt deze enigszins toe (misschien zijn de cache van het bestandssysteem en andere andere caches van verschillende niveaus in het werk opgenomen) .

Voor allerlei metingen wil je altijd wat "native" tools gebruiken waarvoor geen extra software hoeft te worden geïnstalleerd, maar dat is helaas niet altijd mogelijk. Op Windows-clientsystemen wordt het hulpprogramma gebruikt om de prestaties van verschillende subsystemen te evalueren, inclusief het schijfsysteem. WinSAT ( winsat schijf ), maar ik heb dit hulpprogramma niet gevonden in Windows Server 2012 R2. Dus
Ik heb twee bestanden, WinSAT.exe en WinSATAPI.dll, gekopieerd van het Windows 10 x64-client-besturingssysteem dat ik bij de hand heb, van de map% windir% \ System32 naar dezelfde map op de server. Nu kunt u proberen dit hulpprogramma te gebruiken door het vanaf de opdrachtregel met beheerdersrechten uit te voeren.

winsat disk -drive T -count 3

Hier na het trefwoord schijf de optie –drive specificeert de letter van de drive die we willen testen, en de –count optie specificeert het aantal testcycli.

Zoals ik het begrijp, staat dit hulpprogramma testen met grote datablokken (meer dan 1 MB) niet toe, dat wil zeggen, het is meer geschikt voor het testen van situaties met een groot aantal kleine bestanden. In ons geval is de situatie omgekeerd: het maken van een back-up van schijven van virtuele machines omvat een klein aantal bestanden van aanzienlijke omvang.

Een ander eenvoudig hulpmiddel is het hulpprogramma Schijfspd(DiskSpd: een robuust hulpmiddel voor opslagprestaties ), die het hulpprogramma vervingSQLIO Disk Subsystem Benchmark Tool (SQLIO) ... We downloaden het hulpprogramma, pakken het uit op de server en voeren het uit met een set parameters die overeenkomen met de context van onze taak.

cd / d C: \ Tools \ Diskspd-v2.0.17 \ amd64fre \ Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T: \ io1.dat T: \ io2.dat

De parameters die we gebruiken betekenen:
-d60: Testuitvoeringstijd 60 seconden
-b1M: werk in blokken van 1 MB
-s: sequentiële toegangsbewerkingen uitvoeren
-w100: Voer een volledige schrijftest uit (geen leestest)
-t1: Het aantal threads van het werk met het doel (met het bestand T: \ io.dat)
-c100G: bestanden van 100 GB maken
Aan het einde worden de namen weergegeven van de bestanden die voor de test zijn gegenereerd.

Enigszins afwijkend merk ik op dat we op het moment van schrijven software gebruiken voor het maken van back-ups van virtuele Hyper-V-machines Veeam Backup & Replicatie Daarom zal ik bij het kiezen van een blokgrootte voor het uitvoeren van tests uitgaan van de details van deze software. Zoals ik begreep uit het documentGegevenscompressie en deduplicatie , VBR gebruikt blokken van 1024 MB in back-upbewerkingen op SAN, en dit is de blokgrootte die we zullen gebruiken voor het testen.

Laten we ter vergelijking de test opnieuw uitvoeren met dezelfde set voorwaarden, maar de duur verlengen tot 5 minuten.

Hier is duidelijk te zien dat bij langdurige belasting de indicatoren merkbaar doorzakken. Ik kan aannemen dat dit te wijten is aan het feit dat de bottleneck in dit geval zich verplaatst van het gebied van het netwerksubsysteem naar het gebied van langzame schijven die aan onze ESOS-serverzijde worden gebruikt.

Voor fans van grafische tools kan een ander eenvoudig gratis hulpprogramma handig zijn voor het uitvoeren van dergelijke oppervlakkige tests van de prestaties van het schijfsubsysteem op Windows. ATTO Disk Benchmark... Je kunt het downloaden via de link: Schijfbenchmark ... De interface van het hulpprogramma is eenvoudig en duidelijk en er is waarschijnlijk niets om op te reageren.

Over enkele meer complexe testtools, zoals: IOmeter , zeg ik niet, aangezien er in het kader van onze taak geen doel is om met benchmarks als zodanig om te gaan. En de indicatoren van eenvoudige tools worden alleen verkregen om in de toekomst een vergelijkingsbasis te hebben, wanneer we tussen de ESOS-server en de Hyper-V-host niet één link hebben, zoals in dit stadium van configuratie, maar twee links en het betrokken Multipath-mechanisme.

Multipath configureren

We hebben dus een schijf die is aangesloten via iSCSI en enkele basisbenchmarks van prestatietests, waarop we kunnen voortbouwen. Laten we nu proberen deze indicatoren te verbeteren door nog een gigabit-netwerkadapter toe te voegen aan de ESOS-server en de initiator-host en hun werk te combineren met behulp van het Multipath-mechanisme aan de initiator-host.

Laten we beginnen met het configureren van de ESOS-server. Ga in het hoofdnavigatiemenu naar Systeem > Netwerkinstellingen, selecteer een extra netwerkadapter die zal worden gebruikt voor nog een iSCSI-verbinding en configureer de IP-parameters. In ons voorbeeld wordt een statische configuratie gebruikt en is de extra ESOS iSCSI-interface ingesteld op het IP-adres 192.168.168.2/29, en is de grootte extra vergroot MTU.

We slaan de netwerkinstellingen op in ESOS en gaan verder met het configureren van een extra netwerkadapter aan de kant van de initiatorhost, dat wil zeggen onze server op basis van Windows Server met iSCSI Initiator.

We configureren, naar analogie met de eerste, de tweede iSCSI-interface, door deze in te stellen op IP 192.168.168.4/29

Schakel de eerder geconfigureerde interface uit met het adres 192.168.168.3 (in dit geval valt de iSCSI-schijf eraf) en zorg ervoor dat de extra geconfigureerde iSCSI-interfaces van de ESOS-server en de initiator-host elkaar kunnen zien.

In de applet van het Configuratiescherm iSCSI-initiator op het tabblad Ontdekking voeg een extra detectiepad toe, met een aantal 192.168.168.2 - 192.168.168.4

Sinds eerder hebben we een iSCSI-verbinding met het doel gemaakt zonder de ingeschakelde vlag multi-pad, dan zou het nu juister voor ons zijn om deze verbinding te deactiveren en opnieuw te maken, maar met de ingeschakelde vlag multi-pad.

Verwijder eerst de eerder gemaakte verbinding bij het opstarten op het tabblad Favoriete doelen

Laten we nu naar het tabblad gaan doelen en ontkoppel (de schijf, geïnitialiseerd en aangesloten op het iSCSI-systeem, zal uit Windows verdwijnen)

Daarna zullen we het iSCSI-doel opnieuw verbinden, maar deze keer met de optie ingeschakeld Meerdere paden inschakelen(en vergeet de knop niet) Geavanceerd maak een aantal expliciete interfaces 192.168.168.1 - 192.168.168.3 )

Nadat u ervoor heeft gezorgd dat het doel opnieuw de status heeft bereikt Verbonden open de eigenschappen om een ​​tweede verbinding toe te voegen op een extra speciale interface

Op het tabblad doelen laten we naar de knop gaan Eigenschappen naar de eigenschappen van het verbonden doel en gebruik de knop Sessie toevoegen om een ​​tweede verbinding tot stand te brengen.

Trouwens, hier bij de knop MCS we zullen ervoor kunnen zorgen dat de eerste tot stand gebrachte sessie daadwerkelijk de speciale netwerkinterface gebruikt die we hebben gespecificeerd.

Dus met behulp van de knop Sessie toevoegen voeg een extra verbinding toe aan het iSCSI-doel en geef als interface een extra paar interfaces op dat we eerder hebben geconfigureerd (192.168.168.2 - 192.168.168.4 )

Nu zou een record over de tweede sessie in de lijst met sessies moeten verschijnen.

We zullen ook de gecreëerde extra sessie aan de ESOS-serverzijde zien.

Laten we aan de kant van de initiator-host kijken naar de module "Apparaatbeheer" / Apparaat beheerder (devmgmt.msc) en zorg ervoor dat in de sectie Schijfstations er is een extra SCSI-schijf met dezelfde naam (ESOS01-MD0) verschenen.

Dat wil zeggen, nu zien we aan de Windows-serverzijde dezelfde schijf als twee afzonderlijke apparaten. Om ervoor te zorgen dat het systeem met deze schijf als een enkel apparaat kan werken en beide iSCSI-netwerkkoppelingen naar de ESOS-server gebruikt, moeten we ondersteuning inschakelen MPIO voor iSCSI... Ga hiervoor naar het Windows Configuratiescherm, open de applet MPIO en in het tabblad Ontdek Multi-Paths zet de optie aan Ondersteuning toevoegen voor iSCSI-apparaten... Daarna drukken we op de knop Toevoegen en we antwoorden bevestigend op de vraag over het herstarten van de server.

Laten we na het opnieuw opstarten nogmaals naar de Device Manager-console kijken en ervoor zorgen dat onze iSCSI-schijf nu wordt weergegeven als een enkel apparaat en een naam heeft ... Schijfapparaat met meerdere paden... Laten we de eigenschappen van de schijf openen en op het tabblad MPIO controleer of de schijf op twee manieren toegankelijk is.

Meer gedetailleerde informatie over verbindingsroutes is te zien in de applet van het configuratiescherm iSCSI-initiator.

Hier bij de knop MPIO we zullen informatie zien over de gebruikte verbindingen.

Hiermee is de basisconfiguratie van Multipath voltooid.

Om de veranderingen in de snelheid van het werken met een iSCSI-schijf te evalueren, die we hebben ontvangen als resultaat van het organiseren van de tweede link en het instellen van Multipath, zullen we een eenvoudige test uitvoeren voor het lineair schrijven van grote bestanden naar schijf, door analogie met wat we eerder deden:

Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T: \ io1.dat T: \ io2.dat

Afgaande op wat Diskspd ons in dit geval laat zien, is elk bestand gemiddeld geschreven met een snelheid van ~ 225 MB / s, wat gelijk is aan 1800 Mb / s. Dat wil zeggen, als resultaat krijgen we een snelheid die dicht in de buurt komt van de totale doorvoer van twee georganiseerde iSCSI-links.

Dezelfde test, maar langer in de tijd (5 minuten):

Diskspd.exe -d300 -b1M -s -w100 -t1 -c100G T: \ io1.dat T: \ io2.dat

De gemiddelde waarde van ~ 48,5 MB/s, verkregen bij het werken met elk bestand, ziet er aanzienlijk beter uit dan de eerder verkregen 16 MB/s op een enkele iSCSI-link.

Op basis van deze eenvoudige metingen kunnen we begrijpen dat we dankzij de organisatie van de Multipath-verbinding niet alleen de beschikbaarheid hebben verhoogd, maar ook verbeterde prestatie-indicatoren hebben gekregen. En dit is goed.

ESOS USB Flash Hot Swap

Aangezien we bij het samenstellen van de budgetoplossing die in het kader van ons voorbeeld wordt beschreven, goedkope USB-drives kunnen gebruiken, kan het in sommige gevallen nodig zijn om deze drive te vervangen (bijvoorbeeld als deze defect raakt). Aangezien ESOS een Linux-systeem is dat volledig is aangepast om in RAM te werken, is het vervangen van een USB-station een zeer eenvoudige handeling, waarvan de juiste verwerking wordt geïmplementeerd door de ontwikkelaar van dit systeem.

In feite wordt de schijf in een paar eenvoudige stappen vervangen:

  • Verwijder op een reeds geladen en actief ESOS-systeem op elk moment de USB-drive (de drive die moet worden vervangen) waarvan dit systeem is opgestart.
  • We bereiden een nieuwe ESOS USB-stick voor met behulp van de standaardmethode die wordt beschreven in de sectie "Een ESOS USB-opstartbare stick voorbereiden" hierboven, en installeren deze stick in een draaiende ESOS-server.
  • We noemen de procedure voor het synchroniseren van de ESOS-configuratie die in RAM draait met het bestandssysteem op de USB-drive. Menu onderdeel Systeem > Configuratie synchroniseren

Daarna is het raadzaam om de server opnieuw op te starten en ervoor te zorgen dat het systeem succesvol opstart vanaf de nieuwe USB-drive. Tijdens de eerste keer opstarten vanaf de vervangen USB-drive, zal ESOS enkele serviceprocedures uitvoeren en in slechts een paar minuten is de server klaar om te werken, nadat de configuratie is geladen die we eerder hebben geconfigureerd.

Afgaande op de beschrijving van het document 13_Upgraden , wordt de ESOS-server op precies dezelfde eenvoudige manier geüpgraded naar een nieuwere versie, wat het onderhoud van een dergelijk systeem aanzienlijk vereenvoudigt.

Gevolgtrekking

Tot slot zou ik willen zeggen dat we in ons voorbeeld, dankzij het ESOS-systeem, erin zijn geslaagd om in alle opzichten het maximale uit de schijfmand van een verouderde server te persen en op de virtualisatiehost een schijfcapaciteit te krijgen die redelijk acceptabel is in prestaties voor de taak van het maken van back-ups van virtuele machines. En ik kan de ESOS-ontwikkelaar alleen maar bedanken voor het geleverde werk en ik wens het project een verdere succesvolle ontwikkeling toe.

Samenvatting: hoe open-iscsi (ISCSI-initiator in linux) werkt, hoe het te configureren en iets over het ISCSI-protocol zelf.

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

ISCSI

Voordat we het hebben over iSCSI - 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 niemand geeft er om welk bestandssysteem het is), typische vertegenwoordigers van NFS, CIFS (SMB); en blok - wanneer blokken worden aangevraagd vanaf een externe computer vanaf schijfmedia (vergelijkbaar met hoe ze van een harde schijf worden gelezen). In dit geval maakt de verzoekende partij voor zichzelf een bestandssysteem op het blokapparaat en weet de server die het blokapparaat geeft niet over de bestandssystemen erop. De eerste methode heet NAS (Network Attached Storage), en de tweede heet SAN (Storage Area Network). De namen geven over het algemeen andere tekens aan (SAN betekent een speciaal netwerk vóór opslag), maar het gebeurde zo dat NAS bestanden zijn en SAN's blokapparaten via het netwerk. En hoewel iedereen (?) begrijpt dat dit onjuiste namen zijn, hoe verder, hoe vaster ze worden.

scsi over tcp

Een van de protocollen voor toegang tot blokapparaten is iscsi. De letter "i" in de titel 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 (UWSCSI is bijvoorbeeld een parallelle bus, SAS is een seriële bus - maar ze hebben hetzelfde protocol). Met dit protocol kun je veel meer doen dan alleen "schijven in de computer steken" (zoals uitgevonden in SATA), het ondersteunt bijvoorbeeld apparaatnamen, de aanwezigheid van meerdere koppelingen tussen het blokapparaat en de consument, ondersteuning voor schakelen (ja , een SAS-switch, zoals in de natuur), meerdere verbruikers aansluiten op één blokapparaat, etc. Met andere woorden, dit protocol vroeg gewoon om een ​​basis voor een netwerkblokkeringsapparaat.

Terminologie

De volgende termen worden gebruikt in de SCSI-wereld:
doel is degene die het blokapparaat levert. De dichtstbijzijnde analoog uit de gewone computerwereld is een server.
initiatiefnemer- de klant, degene die het blokapparaat gebruikt. Analoog van de opdrachtgever.
Wwid- unieke identificatie van het apparaat, de naam. Een analoog van een DNS-naam.
LUN- het nummer van het "stuk" van de schijf waartoe toegang wordt genomen. De dichtstbijzijnde analoog is een partitie op een harde schijf.

ISCSI brengt de volgende veranderingen: WWID verdwijnt, in plaats daarvan komt het concept van IQN (iSCSI Qualified Name) - dat wil zeggen, een pure naam die vergelijkbaar is met de mate van verwarring met DNS (met kleine verschillen). Hier is een voorbeeld IQN: iqn.2011-09.test: naam.

De IETD en open-iscsi (Linux-server en client) brengen nog een heel belangrijk concept met zich mee waar meestal niet over wordt geschreven in de iscsi-handleidingen - portal. Portal is grofweg meerdere doelen, die worden aangekondigd door één server. Er is geen analogie met www, maar als een webserver zou kunnen worden gevraagd om al zijn virtualhosts op te sommen, zou het het zijn. Portal specificeert een lijst met doelen en beschikbare IP's die toegankelijk zijn (ja, iscsi ondersteunt meerdere routes van initiator naar doel).

doel

Dit artikel gaat niet over target, dus ik geef een heel korte beschrijving van wat target doet. Hij pakt een block device, schuift de naam en LUN erop en publiceert het op zijn portal, waarna hij iedereen (autorisatie naar smaak) er toegang toe geeft.

Hier is een voorbeeld van een eenvoudig configuratiebestand, ik denk dat het duidelijk zal zijn wat het doel doet (een configuratiebestand dat het IET-voorbeeld gebruikt):

Target iqn.2011-09.example: data IncomingUser gebruikersnaam Pa $$ w0rd Lun 0 Path = / dev / md1

(complex verschilt alleen van eenvoudig in exportopties). Dus als we een doel hebben, willen we het verbinden. En dit is waar het lastige deel begint, omdat de initiator zijn eigen logica heeft, het ziet er helemaal niet uit als een triviale mount voor nfs.

Initiatiefnemer

Open-iscsi wordt als initiator gebruikt. Dus het belangrijkste is dat hij heeft bedrijfsmodi: en voorwaarde... Als we een commando in de verkeerde modus geven of de status negeren, zal het resultaat buitengewoon ontmoedigend zijn.

Dus de bedrijfsmodi:

  • Zoekdoel "s (ontdekking)
  • Maak verbinding met doel "y
  • Werken met een verbonden doel
Uit deze lijst is de levenscyclus heel begrijpelijk - eerst zoeken, dan verbinden, dan loskoppelen en dan opnieuw verbinden. Open-iscsi houdt de sessie open, zelfs als het blokapparaat niet in gebruik is. Bovendien houdt het de sessie open (uiteraard tot bepaalde limieten), zelfs als de server opnieuw wordt opgestart. Een iscsi-sessie is niet hetzelfde als een open TCP-verbinding, iscsi kan op transparante wijze opnieuw verbinding maken met het doel. Verbreken / verbinden zijn bewerkingen die extern worden bestuurd (vanuit andere software of met de hand).

Een beetje over de staat. Na ontdekking open-iscsi herinnert zich alle gevonden doelen (ze worden opgeslagen in / etc / iscsi /), met andere woorden, detectie is een permanente operatie, helemaal NIET geschikt, bijvoorbeeld dns-oplossing. Gevonden doelen kunnen met de hand worden verwijderd (trouwens, een veelvoorkomende fout is wanneer open-iscsi , als resultaat van experimenten en instellingen, een heleboel gevonden doelen "s, wanneer je probeert in te loggen waarin veel fouten sluipen vanwege het feit dat de helft van de doel" s oude configuratie zijn regels die lange tijd niet op de server hebben bestaan, maar ik herinner me open-iscsi) Bovendien kunt u met open-iscsi de instellingen van het onthouden doel "a" wijzigen - en dit "geheugen" beïnvloedt verder werk met het doel "s zelfs nadat de daemon opnieuw is opgestart / opnieuw is opgestart.

Apparaat blokkeren

De tweede vraag die velen in het begin kwelt, is waar het eindigt na het verbinden? open-iscsi maakt weliswaar een netwerkapparaat, maar BLOCK SCSI-klasse apparaat (het is niet voor niets dat ik het zeg), dat wil zeggen, het krijgt een letter in de familie / dev / sd, bijvoorbeeld / dev / sdc. De eerste gratis letter wordt gebruikt, omdat voor de rest van het systeem is dit een blokapparaat - een typische harde schijf, niet anders dan degene die is aangesloten via usb-sata of gewoon rechtstreeks op sata.

Dit veroorzaakt vaak de "hoe kan ik de naam van het blokapparaat achterhalen?" Paniek. Het 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 te maken. Om hiertegen te beschermen, is er een login en wachtwoord (chap), en hun overdracht naar iscsiadm "y is een andere hoofdpijn voor beginnende gebruikers. Het kan op twee manieren worden gedaan - door de eigenschappen van het eerder gevonden doel te wijzigen" en het registreren van de login / wachtwoord in het configuratiebestand open-iscsi.
De reden voor deze moeilijkheid is dat het wachtwoord en het inlogproces geen attributen zijn van de gebruiker, maar van het systeem. ISCSI is een goedkope versie van de FC-infrastructuur en het begrip "gebruiker" in de context van een persoon aan het toetsenbord is hier niet van toepassing. Als uw sql-base op het iscsi block-apparaat staat, dan wilt u natuurlijk dat de sql-server zichzelf start, en niet na een minuut persoonlijke aandacht van de operator.

configuratiebestand

Dit is een zeer belangrijk bestand, omdat het naast de login / het wachtwoord ook het gedrag van open-iscsi beschrijft wanneer het fouten vindt. Het kan een fout "terug" geven, niet onmiddellijk, maar met een pauze (bijvoorbeeld ongeveer vijf minuten, wat voldoende is om de server opnieuw op te starten met gegevens). Het regelt ook het inlogproces (hoe vaak te proberen, hoe lang te wachten tussen pogingen) en eventuele fijnafstemming van het werkproces zelf. Merk op dat deze parameters heel belangrijk zijn voor het werk en dat u moet begrijpen hoe uw iscsi zich zal gedragen als u het netsnoer bijvoorbeeld 10-20s verwijdert.

Snelle referentie

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

Eerst vinden we het doel dat we nodig hebben, hiervoor moeten we de IP / dns-naam van de initiator weten: iscsiadm -m discovery -t st -p 192.168.0.1 -t st is het commando send targets.

Iscsiadm -m node (lijst gevonden om in te loggen)
iscsiadm -m node -l -T iqn.2011-09.voorbeeld: gegevens (login, dat wil zeggen, verbinding maken en een blokapparaat maken).
iscsiadm -m sessie (lijst met wat verbonden is)
iscsiadm -m session -P3 (voer het uit, maar in meer detail - helemaal aan het einde van de uitvoer zal er een indicatie zijn van welk blokapparaat bij welk doel hoort).
iscsiadm - m session -u -T iqn.2011-09.voorbeeld: gegevens (uitloggen bij een specifieke)
iscsiadm -m node -l (log in op alle gedetecteerde doelen)
iscsiadm -m node -u (log uit bij alle doelen)
iscsiadm -m node --op delete -T iqn.2011-09.example: data (verwijder doel uit gevonden).

multipad

Een ander punt dat van belang is bij serieuze beslissingen is de ondersteuning van meerdere routes naar de bron. Het mooie van iscsi is dat het een normaal IP-adres gebruikt, dat op de gebruikelijke manier kan worden verwerkt, net als elk ander verkeer (hoewel het in de praktijk meestal niet wordt gerouteerd, maar alleen geschakeld - de belasting is daar te zwaar). Dus, iscsi ondersteunt multipath in "no resist"-modus. Op zichzelf kan open-iscsi geen verbinding maken met meerdere IP's van één doel "a. Als het is verbonden met meerdere IP's van één doel" a, dan zal dit leiden tot het verschijnen van meerdere blokapparaten.

Er is echter een oplossing - dit is multipathd, dat schijven met dezelfde identifier 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. Stel bij gebruik van multipath kleine time-outs in - schakelen tussen slechte paden zou snel genoeg moeten zijn
  2. In omstandigheden met een min of meer snel kanaal (10G en hoger, in veel gevallen gigabits), moet parallelliteit van de belasting worden vermeden, omdat het vermogen om biocoalesing te gebruiken verloren gaat, wat bij sommige soorten belasting het doel "y" onaangenaam kan raken.