En begyndervejledning til iSCSI. Tilslutning og konfiguration af iSCSI på Windows Server Sun Modsat IP Storage

Navigerer i artiklen

Dette er en instruktion i, hvordan man tilslutter en iSCSI-disk Windows Server 2016... Når du bestiller en tjeneste fra SIM-Networks, vil du modtage en besked svarende til den nedenfor (bemærk venligst, at værdierne af tallene i serveradressen kan afvige fra eksempel-illustrationen og i stedet for bogstaver X, Y eller Z meddelelsen vil angive de reelle værdier for indstillingen din hans adgang):

Tjenesten "iSCSI Backup" er blevet aktiveret.

Adgangsparametre:

  • Serveradresse (iscsi-mål): 185.59.101.184
  • Log på:ÅÅÅ
  • Adgangskode: ZZZ
  • Adgang til tjenesten er i øjeblikket begrænset til kun én IP-adresse - XXX.XXX.XXX.XXX

ISCSI Drive Mapping

1. Gå til " Kontrolpanel -> Administration"Og løb InitiativtageriSCSI.

2. I kapitel " EjendommeOpdagelse"Og tryk på knappen" Opdag portalen».

3. I det vindue, der åbner, udfyldes feltet " IP-adresse " iSCSI-server.

4. Åbn afsnittet med yderligere parametre for at oprette forbindelse til serveren (klik på " Derudover"). Vælg feltværdier" Lokal adapter"og" Initiativtagers IP-adresse”Som på billedet nedenfor (hvor initiator-IP er IP-adressen på din lokale netværksadapter, hvorigennem forbindelsen til iSCSI-serveren er tilladt).

5. Gem indstillingerne, sørg for at få et billede som det nedenfor:

6. I kapitel " Ejendomme"ISCSI-initiativtager gå til" Slut objekter", Vælg det viste objekt med en inaktiv tilstand og tryk på knappen" At koble til».

7. I det åbnede vindue " Målforbindelse", Tryk på knappen" Derudover…»

8. Udfyld felterne i sektionen som på billedet nedenfor. Parametrene "Navn" og "Hemmeligt" er "Login" og "Password" fra det brev, der blev sendt til dig ved aktivering af tjenesten.

9. Gem indstillingerne. Sørg for, at værdien af ​​feltet " Stat"Detekteret mål -" Forbundet"Som på billedet nedenfor. Afslut sektionen " Ejendomme»ISCSI Initiator, gemmer indstillingerne.


Initialisering og formatering af et iSCSI-drev

Den tilsluttede iSCSI-disk skal forberedes (initialiseres og formateres).

10. I kapitel " Administration"Åbn" Computerstyring».

11. Gå til afsnittet " Diskhåndtering».

12. Sørg for, at din disk vises, dens status er " Offline».

13. Vælg fra kontekstmenuen punktet " Online».

14. Initialiser disken.

15. Kontroller, at diskens status er ændret til "online" men det mangler partitioner og filsystem.

16. Fra kontekstmenuen på en ikke-partitioneret disk skal du vælge " Skab simpel volumen».

17. Efter åbning" Simple Volume Wizards"Klik på knappen" Yderligere».

18. Angiv størrelsen på partitionen i det tilsvarende felt, eller lad standardværdien være uændret (hvis du skal bruge hele disken under én partition).

19. Tildel et drevbogstav til den nye partition.

20. Vælg filsystemtype og volumetiket.

ISCSI er designet til lagernetværk og er en metode til at få adgang til blokenheder over SCSI over TCP/IP. Dette gør det muligt at konfigurere billige SAN'er (Storage Area Networks) over konventionelle Ethernet-netværk. Denne funktion er meget brugt i konstruktionen af ​​systemer med høj tilgængelighed, og vi vil overveje løsninger baseret på iSCSI-lagring i denne cyklus. I dag vil vi se på at oprette en sådan butik på Windows Server 2008 R2-platformen.

Først et par ord om de grundlæggende forskelle mellem iSCSI og andre netværkslagringssystemer. Storage Area Networks - SAN(Storage Area Network) sørger for overførsel af data i netværket i "rå" form ved hjælp af SCSI-protokollen, ligesom hvis de blev overført mellem systemet og den lokale disk på et lavt niveau. iSCSI-enheder opfattes af systemet på nogenlunde samme måde som lokale diske - de skal partitioneres og formateres før brug.

På samme tid, velkendt for alle netværkstilsluttede lager - NAS (Network Area Storage) giver adgang på filsystemniveau ved hjælp af filoverførselsprotokoller såsom SMB eller NFS.

Kort sagt: NAS er delte netværksmapper, som alle kender, SAN - drev forbundet over et netværk. Dette fører til en anden vigtig forskel. En netværksmappe kan betjene mange klienter. En SAN-enhed kan tilsluttes en enkelt klient, ligesom en almindelig HDD kun kan tilsluttes én pc. En undtagelse er klynger, når flere noder har adgang til én SAN-enhed på én gang, i dette tilfælde bruges et ekstra abstraktionsniveau - et klyngefilsystem, f.eks. Microsoft Cluster Shared Volumes (CSV) eller VMware VMFS.

Før du går i gang med den praktiske udvikling af denne teknologi, bør du sætte dig ind i den accepterede terminologi:

  • ISCSI initiativtager- klientdelen, sender anmodninger til iSCSI-målet, kan udføres i software, i form af en driver, eller i hardware, i form af en iSCSI-adapter;
  • ISCSI-mål (iSCSI-mål, mål) - serversiden, accepterer forbindelser fra initiativtageren og giver ham adgang til de blokenheder, der er knyttet til ham - virtuelle diske, LUN'er. Det kan implementeres både i software og som et hardwarelagringssystem.

Ét iSCSI-mål kan associeres med flere blokenheder, der vil være tilgængelige for initiatoren, der forbinder til målet. Én initiativtager kan forbindes til flere mål og bruge alle tilknyttede enheder. Et enkelt mål kan også acceptere forbindelser fra flere initiatorer, men hver enkelt enhed kan kun tilgås af én af initiatorerne.

Et andet punkt, nu relateret til den praktiske implementering af iSCSI-lagring. For SAN er det yderst ønskeligt at have et separat netværk isoleret fra virksomhedens netværk.

Dette er nødvendigt for at sikre tilstrækkelig SAN-båndbredde og for at undgå overbelastning af det normale netværk med iSCSI-trafik. Det giver heller ingen mening at organisere iSCSI i netværk med en båndbredde lavere end 1 Gbps.

Windows Server 2008 R2 inkluderer ikke rollen iSCSI Target, og du skal downloade Microsoft iSCSI Software Target for at implementere den. Pak den ud og installer pakken iscsitarget_public.msi fra mappen x64. Installationen er ekstremt enkel, og vi vil ikke fokusere på det.

Efter installationen, lad os gå til iSCSI Management Console: Start - Administrative værktøjer - iSCSI Software Target... Først og fremmest, lad os skabe en ny mål (mål)... For at gøre dette skal du højreklikke på ISCSI-mål - Opret iSCSI-mål.

En guide åbnes, hvor vi angiver navnet på målet og dets beskrivelse. Giv målene meningsfulde navne og vær ikke doven til at lave beskrivelser, så du senere ikke skal gætte på, hvorfor du har skabt dette eller hint mål.

Det næste trin skal vi specificere ID'erne for de iSCSI-initiatorer, der får adgang til målet. IQN er et særligt formatnavn iqn. .: som er unik for hver iSCSI-enhed på SAN. Hvor:

  • år-må- år for registrering af domænenavn;
  • omvendt_domænenavn-domænenavn skrevet omvendt;
  • unikt_navn- et unikt enhedsnavn, for eksempel vil målet her indeholde det navn, du har angivet, og initiativtageren vil indeholde værtsnavnet.

For eksempel har IQN standardformatet i Microsoft-softwareløsninger iqn.1991-05.com.microsoft:unique_name.

For at finde ud af IQN, lad os gå til iSCSI-initiatoren, i vores tilfælde er det en server, der kører Windows Server 2012, men proceduren vil være den samme for alle andre versioner af Windows. Gå til Kontrolpanel - iSCSI Initiator, svarer vi bekræftende på forslaget om at indstille dets automatiske lancering:

Gå derefter til fanen i det vindue, der åbnes Konfiguration hvor den påkrævede identifikator er placeret:

Du kan kopiere det og angive det, når du opretter et mål, men der er en anden måde. For at gøre dette skal du gå til bogmærket Slut objekter, i marken Et objekt indtast navnet på serveren med den installerede ISCSI-softwaremål og tryk Hurtig forbindelse.

Det er klart, at for nu vil vi ikke koble os på noget, men nu har vi en anden opgave. Vi vender tilbage til målserveren og klikker på siden, der angiver initiator-id'et knappen Oversigt.

Nu bliver det klart, hvorfor vi forsøgte at forbinde. iSCSI Target Server gemmer en liste over de initiativtagere, der senest er tilsluttet den, og giver dig mulighed for at vælge dem.

Dette fuldender oprettelsen af ​​målet, og vi kan oprette og binde en eller flere diske til det. For at gøre dette, gå til element Enheder og vælg i højrekliksmenuen Opret virtuel disk.

Følgende guide åbnes, hvor vi angiver placeringen og navnet på den virtuelle disk, bemærk at du skal angive det fulde navn på filen sammen med udvidelsen .vhd.

Så vil vi angive den ønskede størrelse i MB

Og iSCSI-målet (målet), som denne virtuelle disk vil blive knyttet til.

Dette fuldender også diskopsætningen. Som et resultat af disse enkle trin fik vi et konfigureret iSCSI-mål med en virtuel disk knyttet til det. Lad os nu gå tilbage til initiativtageren. Du kan drage fordel af hurtig forbindelse og automatisk tilslutte drev fra detekterede mål. Men husk, at vores mål ikke kun er at forbinde drev, men også at adskille virksomhedens SAN og det lokale netværk.

Gå derfor til bogmærket Opdagelse og tryk Opdag portalen, indtast derefter servernavnet med iSCSI-målrollen.

Så vender vi tilbage til bogmærket Slut objekter, vælg det detekterede mål, som er i tilstanden Ikke aktiv, og tryk på Ejendomme.

I det åbnede vindue i feltet Målportalens IP-adresse vælg adressen, der tilhører dit lagernetværk:

Vi går tilbage og trykker At koble til... Vedhæftede enheder kan findes i snap-in Diskhåndtering.

Den yderligere algoritme til at arbejde med dem adskiller sig ikke fra at arbejde med en almindelig disk: vi forbinder, markerer, formaterer.

I denne artikel undersøgte vi den enkleste mulighed for at oprette et lager. I vores efterfølgende materialer vender vi tilbage til individuelle indstillinger uden at røre ved det generelle emne om at oprette et lager.

05.10.2012

Vil du have adgang til dit netværkslager lidt hurtigere? Prøv at bruge det indbyggede Windows-værktøj. iSCSI-protokollen giver dig mulighed for at oprette forbindelse til en ekstern lagerenhed over netværket, som om diskenheden var et lokalt drev.

Marco Chiappetta. Fremskynd din NAS-enhed med iSCSI. PC World, september 2012, s. 86.

Vil du have adgang til dit netværkslager lidt hurtigere? Prøv det indbyggede Windows-værktøj. iSCSI-protokollen giver dig mulighed for at oprette forbindelse til en ekstern lagerenhed over netværket, som om det var en lokal disk.

ISCSI står for Internet Small Computer System Interface. SCSI-teknologi (uden i) har længe været brugt til at forbinde forskellige perifere enheder til computersystemer, men oftest udveksler den data med lagerenheder - harddiske eller bånddrev. iSCSI-protokollen giver dig mulighed for at oprette forbindelse til en ekstern lagerenhed over netværket, som om det var en lokal disk. Kort sagt oversætter iSCSI SCSI-kommandoer over IP-netværk (Internet Protocol). Denne teknologi ligner et virtuelt SATA-kabel (eller SCSI) og bruger en netværksforbindelse til at kommunikere mellem systemet og lagervolumen.

Hvordan adskiller iSCSI sig fra ethvert andet netværkstilsluttet drev med dets tildelte drevbogstav? På mange måder vil slutresultaterne være ens. Men takket være iSCSI ligner den monterede volumen en lokal bloklagerenhed for operativsystemet, der kan formateres til enhver filsystemstandard efter eget valg.

Et iSCSI-interface kræver to hovedkomponenter: et netværkstilsluttet lager (NAS) eller server med en volumen konfigureret som et iSCSI-mål, og en iSCSI-initiator, som gør det muligt at tilslutte systemet til målet.

Hvis du har en NAS-enhed tilsluttet en Windows-pc, er dette sandsynligvis tilstrækkeligt. Stort set alle NAS-servere tilbyder muligheden for at konfigurere iSCSI-mål. Og Microsoft har et værktøj til at oprette en iSCSI-initiator i alle versioner af Windows siden Vista. Initiativtageren kan køres på en computer med en operativsystemversion på mindst Windows 2000.

For at demonstrere, hvordan iSCSI fungerer, tag en Thecus N2200XXX dual-drive NAS-server, der kører et tilpasset iSCSI-kompatibelt Linux OS og et Windows 7 Ultimate desktop-system. Ethvert Windows-baseret system opretter en iSCSI-kompatibel enhed, når den interagerer med NAS'en.

iSCSI fordele og ulemper

Som nævnt ovenfor er iSCSI-netværksmålet repræsenteret på systemet som en lokal disk. Derfor kan du ikke kun formatere det i filsystemstandarden for din computers OS, men også sikre, at programmer, der kræver en lokal disk, startes fra iSCSI-diskenheden. Denne fleksibilitet er meget vigtig for små virksomheder, fordi mange programmer ikke er netværksbevidste. ISCSI-teknologi hjælper med at løse dette problem.

I nogle tilfælde kan iSCSI forbedre ydeevnen ved at forbinde store diskarrays til klientsystemer uden behov for speciel hardware og kabler (hvilket kan føre til betydelige besparelser). I denne artikel vil vi dog kun begrænse os til en overvejelse af mellemstore forbrugersystemer.

Det skal bemærkes, at iSCSI-teknologi har visse ulemper. Systemopsætningen er ikke alt for kompleks, men netværksressourcesøgning alene vil ikke være nok til at konfigurere iSCSI-målet og initiatoren. For at undgå datakorruption eller -tab bør kun én initiator tilsluttes målet ad gangen. Hvis du bruger højtydende servere og diskdrev, vil ydeevnen være begrænset af hastigheden på din netværksforbindelse. Derfor ser det bedste valg ud til at være en forbindelse med gigabit-hastigheder og derover - langsomme netværksforbindelser kan neutralisere alle fordelene ved iSCSI.

Installation

Følgende er de trin, du skal tage for at bruge iSCSI-teknologi med Thecus N2200XXX NAS. For andre enheder og servere vil trinene være de samme.

1. Gå ind i NAS-serverens konfigurationsmenu, vælg RAID-tilstand og reserver plads til iSCSI-diskenheden. Jeg brugte RAID 1-spejling med to 2TB-drev. Halvdelen af ​​den tilgængelige kapacitet blev allokeret til EXT4-filsystemet, og den anden halvdel var ubrugt. (I den tredje fase blev den uudnyttede kapacitet afsat til iSCSI.)

2. Efter at have allokeret plads til RAID, skal den formateres. Når formateringsprocessen er færdig (afhængigt af drevkonfigurationen, kan dette tage flere timer), kan du begynde at allokere ubrugt plads til iSCSI-målet. (Hvis al den tilgængelige plads vil blive reserveret til iSCSI, behøver du ikke formatere diskarrayet på dette tidspunkt.)

3. Lad os nu konfigurere iSCSI-målet. Jeg klikkede først på linket Space Allocation i menuen Storage i venstre rude og klikkede derefter på knappen Tilføj på iSCSI-målfanen. Et nyt vindue vises på skærmen, hvor du skal vælge den ønskede størrelse på iSCSI-målet, aktivere det og give det et navn.

Og hvis du vil tilføje endnu et lag af sikkerhed, kan du på samme trin konfigurere parametrene for Challenge Handshake Authentication Protocol (CHAP).

4. Hvis du beslutter dig for ikke at allokere al den tilgængelige plads til et enkelt iSCSI-mål, kan du tildele logiske enhedsnumre (LUN'er) til flere mål. Dette vil tillade, at flere systemer kan forbindes til en enkelt NAS-enhed eller server, og hvert klientsystem vil modtage sit eget iSCSI-mål.

Opsætning af målet

Når iSCSI-målet er oprettet, skal du oprette forbindelse til det via iSCSI-initiatoren på Windows-klient-pc'en. Klik på Start-knappen, skriv iSCSI i søgefeltet og tryk på tasten (eller gå til Start-menuen til Kontrolpanel og vælg Administrative Tools under System og Sikkerhed og derefter iSCSI Initiator). Hvis der vises en meddelelse på skærmen om, at iSCSI-tjenesten ikke kører, skal du aktivere den til at starte, og vinduet iSCSI Initiator Properties vises på skærmen.

Gå til fanen Discovery og klik på knappen Discover Portal. Indtast IP-adressen på den NAS-enhed eller server, der hoster iSCSI-målet, i det vindue, der åbnes. Det er ikke nødvendigt at ændre portnummeret (medmindre iSCSI-portnummeret tidligere var defineret). Som standard foreslår systemet port 3260. Hvis du tidligere har aktiveret CHAP-godkendelse, skal du klikke på knappen Avanceret og indtaste dine CHAP-legitimationsoplysninger. Ellers skal du klikke på OK, og IP-adressen på din NAS-enhed eller server vises på listen over målportaler.

Hvis målet ikke er på denne liste, skal du sørge for, at IP-adressen er indtastet korrekt, og at den korrekte port er åben på firewallen.

Når serveren vises på listen over mål, skal du gå til fanen Mål. Det iSCSI-mål, du oprettede tidligere, skulle vises i målgruppen i midten af ​​vinduet. Klik på objektet og klik på knappen "Forbind". I målforbindelsesvinduet, der vises på skærmen, skal du vælge Tilføj denne forbindelse til listen over foretrukne målobjekter og klikke på OK. Klik derefter på OK igen i vinduet iSCSI Initiator Properties.

På et klientsystem, der er knyttet til et iSCSI-mål, skal du formatere målet ved at bruge samme procedure, som du ville gøre for ethvert lokalt drev. Klik på knappen "Start", højreklik på "Computer" og vælg "Administrer" fra kontekstmenuen. Klik på linket Diskhåndtering i sektionen Lager i computerstyringsværktøjet. Dialogboksen "Initialiser disk" vises på skærmen. Sørg for, at "Select disk"-indstillingen er markeret, og vælg den ønskede partitionstype (jeg brugte MBR - Master Boot Record). Klik på OK.

Følg anvisningerne på skærmen for at angive størrelsen på diskenheden, tildele et bogstav til drevet og specificere filsystemet og volumenetiketten. Klik på knappen Udfør. Når formateringen er færdig, vises et nyt drevbogstav. Nu kan du overføre filer og køre programmer fra din NAS, uanset hvor den er.

Præstationssammenligning

For at evaluere ydeevnen af ​​min iSCSI-tilsluttede fjern-NAS sammenlignede jeg iSCSI-målet med en standard-tilsluttet NAS ved at bruge to benchmarks.

ATTO Disk Benchmark viste ikke meget forskel mellem et kortlagt netværksdrev og en iSCSI-enhed, selvom drevet viste lidt højere gennemløb. Dette er dog en forholdsvis nem test, der kun evaluerer sekventiel dataskrivning.

Men CrystalDiskMark-testen analyserer driften af ​​enheder i både sekventiel og tilfældig adgangstilstand, der opererer med to filer af forskellig størrelse. Resultaterne viste, at iSCSI-målet klarede sig væsentligt hurtigere. iSCSI-enheden og det standardkortlagte netværksdrev havde samme skrivehastighed, men iSCSI-læsninger var 30-40 % hurtigere.

Test har vist, at adgang til en NAS-enhed og formatering af den, så den ligner en lokal disk, samt muligheden for at køre programmer, ikke er de eneste fordele, som iSCSI-teknologien giver. Det fremskynder også læseoperationer. Så hvis du har at gøre med NAS-enheder derhjemme eller på kontoret, vil iSCSI forbedre deres ydeevne betydeligt (og helt gratis).

For at fortsætte emnet nyttig brug af gammel serverhardware, lad os denne gang tale om at bruge modelserveren IBM System x3200 4362 som et netværkslager tilgængeligt via protokollen iSCSI som iSCSI-mål... V vi har allerede overvejet en sådan server som et lager til sikkerhedskopier af virtuelle maskiner med software deduplikering fra Quadstor ... Men i vores tilfælde blev situationen forværret af det faktum, at det på nogle fjerntliggende steder, hvor det blev indsat , virtuelle maskiner, der blev sikkerhedskopieret over tid, modtog en ekstra disk til lagring af indhold til distributionspunktet SCCM ... Og som du ved, kan indholdet af diske, der bruges til indholdsdistribution i SCCM, til tider ændre sig meget aktivt (nye opdateringer downloades , udløbne opdateringer fjernes, noget implementeringssoftware er indlæst osv.). Derfor i betragtning af, at den anvendte software Veeam Backup Free Edition ikke tillader dig at udelukke individuelle virtuelle diske, der tilhører denne VM, fra sikkerhedskopien af ​​en virtuel maskine, var det nødvendigt at løse problemet med at øge diskpladsen på de samme IBM-servere. Parallelt hermed opstod spørgsmålet om nytten af ​​deduplikering, som ved hyppigt skiftende indhold mister sin effektivitet.

"Cherry on top" i den beskrevne situation var, at serveren, som i vores tilfælde bruges som et iSCSI Target (fra Quadstor-implementeringen), har et meget beskedent diskbur - kun 4 SAS / SATA 3.5 "slots, to af som er optaget under værten Linux OS.

Her vil vi overveje en af ​​de mulige løsninger på kombinationen af ​​de beskrevne problemer og begrænsninger, som består i at erstatte en fuldgyldig Linux OS-installation med en specialiseret, indlæst fra et USB-drev og kører i RAM.Linux distribution af projektet Enterprise Storage OS (ESOS). I sin kerne er ESOS en moderne Linux-kerne, der er optimeret til at arbejde i RAM med integreret projektsoftware. , et eksempel på brugen af ​​det, vi allerede har .

Den overordnede plan for arrangementer vil se således ud:

  • Vi fjerner diske med lille kapacitet, som værtsoperativsystemet er installeret på, fra diskkurven og sætter større diske på dette sted (alle diske i kurven vil have samme kapacitet)
  • På hardware RAID-controllerniveau definerer vi hver af de fire diske, der er tilsluttet diskburet, som en uafhængig enhed.
  • Forberedelse af et bootbart USB-drev med ESOS
  • Vi indlæser serveren med ESOS og opretter et software-RAID-array fra alle diske i papirkurven.
  • Konfigurer iSCSI Target i ESOS og tilslut disken på serversiden af ​​iSCSI Initiator
  • Konfiguration af en ekstra netværksforbindelse mellem servere og aktivering af Multipath
Server konfiguration

I vores eksempel vil vi overveje at bygge den enkleste konfiguration vha iSCSI af to servere, hvoraf den ene tjener som mål iSCSI-mål på basen ESOS v 1.3.5 og den anden fungerer som initiativtager vært iSCSI-initiator på basen Windows Server 2012 R2... For at forbedre tilgængeligheden og ydeevnen vil der blive etableret en flervejsforbindelse mellem målet og den initierende vært ( multi-sti). For at adskille iSCSI-trafik fra serveradministrationstrafik er der installeret en ekstra to-ports netværksadapter på hver server.

1 ) Server til rollen iSCSI Target(KOM-AD01-ESOS01)

Model server IBM System x3200 4362 med et diskbur til 4 LFF HDD SAS / SATA-drev og en yderligere installeret netværksadapter HP NC380T PCI Express Dual Port Multifunktion Gigabit Server Adapter (394795-B21). Denne server vil køre ESOS bootable fra en USB-stick. Alle 4 diske fra serverens diskbur vil blive brugt af ESOS til at organisere et software-RAID-array, som igen vil blive præsenteret for initiator-værten.

2 ) Server til rollen iSCSI-initiator (KOM-AD01-VM01)

Model server HP ProLiant DL380 G5 fungerer som en OS-baseret Hyper-V virtualiseringsvært Windows Server 2012 R2 Standard... Ud over den grundlæggende konfiguration er der desuden installeret en netværksadapter på serveren HP NC380T PCI Express Dual Port Multifunktion Gigabit Server Adapter (394795-B21). Disken, der er forbundet til denne server fra ESOS-serveren via iSCSI-protokol, vil blive brugt til sikkerhedskopiering af Hyper-V virtuelle maskiner.

Det enkleste skema til tilslutning af netværksgrænseflader på servere ser sådan ud:

Konfiguration af en RAID-controller på en IBM-server

Uanset hvilken servermodel og RAID-controller, der bruges i vores tilfælde, kan vi sige, at brugen af ​​ESOS-distributionssættet, som ikke kræver en dedikeret disk til dets drift, i enhver diskkonfiguration vil tillade brug af alle diskkurvens ressourcer til nyttig diskplads. I nogle situationer kan dette argument være væsentligt.

I vores eksempel er 4 identiske SATA 7200 1TB-drev installeret i diskholderen.

For at afkoble os selv fra de meget beskedne muligheder i den hardware RAID-controller, som vores server er udstyret med, og i fremtiden bruge mulighederne for at bygge et software-RAID-array baseret på ESOS, er vi nødt til at få hver disk til at se ud som en separat fysisk enhed til ESOS. Derfor sletter vi i det indbyggede værktøj til styring af RAID-controlleren alle eksisterende logiske RAID-diske, så hver disk præsenteres som en separat enhed.

Nogle RAID-controllere, såsom HP Smart Array, tillader ikke, at tilknyttede diske oversættes som selvstændige diskenheder. I sådanne tilfælde skal du oprette en separat RAID-0-diskenhed for hvert enkelt drev. I vores tilfælde er alt enklere, da controlleren er installeret på vores server LSI logik SAS1064ET er ret primitiv og viser alle diske som separate enheder, hvis disse diske ikke er inkluderet i hardware RAID.

Forberedelse af ESOS USB-startbart drev

Download den seneste ESOS staldgren (gren 1.x.x) fra projektsiden ESOS - Pakkedownloads ... På samme side kan du finde en beskrivelse af andre ESOS-grene (master - under udvikling og 0.1.x - forældet).

I processen med at skrive denne artikel var den anvendte version 1.3.5 (25.01.2018 ) tilgængelig på linket esos-1.3.5.zip ... På udgivelsestidspunktet har jeg allerede nået at arbejde med den nyere version 1.3.6 (04/12/2018).

Da ESOS er et RAM-orienteret system, vil det starte fra et eksternt drev tilsluttet via en almindelig USB-port. Det vil sige, at vi skal bruge et USB-drev med en størrelse på 4 GB og mere. Hvis du planlægger at bruge mastergrenen, så for en vellykket opdatering mellem versioner i henhold til anbefalingerne i dokumentet Opgradering , kan USB-lagerenheden kræve op til 5 GB ekstra plads. I vores tilfælde har vi til ESOS med succes brugt drev med varierende grader af "kælder" i størrelse fra 8 GB og mere.

Standardlegitimationsoplysninger:

  • Brugernavn: rod
  • Adgangskode: esos

Når du logger ind, startes der automatisk en speciel shell Tekstbaseret brugergrænseflade (TUI), hvilket forenkler arbejdet med systemet mest muligt. Det øverste område af TUI'en indeholder hovedfunktionsmenuen, der giver dig mulighed for at udføre alle de grundlæggende opgaver med at konfigurere serveren som lager for SAN'er.

De primære opgaver for den indledende opsætning er at ændre standard brugeradgangskode. rod og netværkskonfiguration, for muligheden for fjernarbejde med systemet.

Gå til menupunkter System > Skift kodeord og indstil en ny adgangskode til brugeren rod.

Så gå til System > Netværks indstillinger og vælg elementet til konfiguration af grundlæggende netværksparametre Generelle netværksindstillinger

I den formular, der åbnes, skal du angive værtsnavnet, DNS-domænenavnet, IP-adressen på standardgatewayen og DNS-serveradresserne.

Efter at have ændret netværksindstillingerne, vil ESOS tilbyde at genstarte netværkstjenesten for at ændringerne træder i kraft. Indtil vi har foretaget alle de mindste netværksindstillinger, kan vi nægte at genstarte netværkstjenesten.

Lad os gå tilbage til System > Netværks indstillinger, vælg den netværksadapter, der skal bruges til fjernstyring af ESOS, og konfigurer IP-parametrene. I vores eksempel er konfigurationen statisk, og ESOS-administrationsgrænsefladen er indstillet til IP-adresse 10.1.2.201/24. Netværksmasken og broadcast-adressen skal, som jeg forstår det, angives, ellers kan der opstå fejl ved lagring af indstillingerne.

Efter at have gemt de foretagne ændringer, vil vi igen modtage et spørgsmål om genstart af netværket. Nu vil vi besvare dette spørgsmål bekræftende.

Netværket vil blive genstartet, og i tilfælde af vellykket anvendelse af de angivne indstillinger, vil vi være i stand til at fjernforbindelse til ESOS ved hjælp af SSH-protokollen.

I forbindelse med dette indlæg springer vi andre indstillinger over, der findes i ESOS, såsom tidsindstilling, konfiguration af afsendelse af mail, styring af yderligere brugere osv. I stedet vil vi kun fokusere på de punkter, der er relevante i forbindelse med vores opgave. Inden jeg opretter forbindelse til vores ESOS-server via SSH, vil jeg dog gerne lave en lille kosmetisk digression vedrørende TUI-farveskemaet.

Der er to farveskemaer i TUI ESOS-grænsefladen - den lyse standard, holdt i blå og turkise toner, som er vist på skærmbillederne ovenfor, og den alternative - mørk, holdt i de bedste traditioner i "fangehullet med et stearinlys" . Ingen af ​​mulighederne er efter min mening succesfulde, da når man fjerntilslutter til serverkonsollen med en reduceret farvegengivelse (f.eks. når man forbinder gennem funktionen ), nogle steder i TUI er der en effekt af, at tekst smelter sammen med baggrunden. Og hvis du opretter forbindelse til TUI ESOS ved hjælp af PuTTy SSH-klienten fra et Windows-system, så bliver standardfarveskemaerne generelt, efter min mening, til noget "surt".

Da vi primært vil arbejde med ESOS ved at bruge en ekstern SSH-forbindelse, er der en simpel løsning til PuTTy-klienten - ved at bruge brugerdefinerede farveskemaer på siden af ​​SSH-klienten for enhver smag og farve. Vi overvejede eksempler på en sådan indstilling tidligere i indlægget. ... Dernæst, for at arbejde med ESOS via SSH, vil vi bruge PuTTy-skemaet - Tusmørke.

Oprettelse af et software-RAID i ESOS

Efter at have gennemført den indledende grundlæggende ESOS-konfiguration, fortsætter vi til konfigurationen af ​​serverens disksystem. Lad os skabe et software RAID-array (implementeret på basis af Linux Software RAID/mdraid) af de 4 diske til vores rådighed. For at gøre dette skal du gå til menuen Software RAID > Tilføj Array

På listen over blokenheder, der er tilgængelige til medtagelse i software RAID, markerer vi de diske, hvorfra vi vil oprette et RAID-array.

Når du har valgt diskene, skal du klikke Gå ind... RAID-opsætningsskærmen vises. Giv arrayet et traditionelt navn mdraid, For eksempel md0... Lad os vælge et RAID-niveau (i vores tilfælde er det RAID5) og en blokstørrelse. I vores tilfælde er arrayet samlet til opgaven med at sikkerhedskopiere store filer af virtuelle maskindiske, så vi valgte den største blokstørrelse.

Efter at have trykket på knappen Okay initialiseringsproceduren for RAID-arrayet starter. Gå til navigationsmenuen i Software RAID > Linux MD-status og kontroller status for det oprettede RAID-array.

Her kan vi vente på den fuldstændige færdiggørelse af opbygningen af ​​RAID-arrayet, eller vi kan fortsætte med at konfigurere vores server, da arrayets diskkapacitet faktisk allerede er tilgængelig for os.

ISCSI-målkonfiguration

For at diskkapaciteten af ​​RAID-arrayet, der er oprettet af os, kan præsenteres for virtualiseringsværten over netværket ved hjælp af iSCSI-protokollen, skal du på ESOS-serveren oprette iSCSI-mål... For at gøre dette skal du i navigationsmenuen gå til Mål > Tilføj iSCSI Target... I formularen til oprettelse af et mål angiver vi navnet iSCSI-kvalificeret navn (IQN).

I vores tilfælde brugte vi standardnavnet i formatet iqn.2018-03.esos.<имя сервера>: Det eneste jeg ændrede i navnet var at fjerne tyktarmen i slutningen af ​​navnet.

Når de er gemt, vises iSCSI Target-oplysningerne på ESOS-hovedskærmen, men målet vil blive deaktiveret.

For at aktivere målet, gå til navigationsmenuen i Mål > Aktiver/Deaktiver mål, fra listen over mål skal du vælge det mål, vi lige har oprettet, og ændre i dets egenskaber handicappet på den Aktiveret.

Sørg for, at målstatusoplysningerne er ændret på hoved-TUI-skærmen.

Fra listen over udsendelsestilstande for enheder, hvis beskrivelse kan findes i dokumentet36_Devices_and_Mappings - SCST I/O-tilstande , vælg den tilstand, der interesserer os. I vores eksempel bruges tilstanden vdisk_blockio som giver direkte adgang til at blokere enheder og eliminerer brugen af ​​mellemliggende Linux-cachemekanismer.

Efter valg af tilstand, åbnes et vindue til valg af blokenheder, der er mulige for denne tilstand. Vi vælger vores RAID-array.

Derefter åbnes formularen til konfiguration af SCST-parametre for den virtuelle blokenhed. vdisk_blockio... Vi vil angive ethvert kort og forståeligt navn på enheden. Dette navn vil blive vist yderligere på siden af ​​virtualiseringsværten, der fungerer som en iSCSI-initiator i enhedshåndteringen. Derfor brugte jeg det forkortede værts- og RAID-enhedsnavn til navnet - ESOS01-MD0. Resten af ​​parametrene kan efterlades på deres standardværdier.

Vi gemmer indstillingerne for den virtuelle blokenhed og fortsætter med at beskrive de værter, der har tilladelse til at oprette forbindelse til det iSCSI Target, vi oprettede. Men før vi kan beskrive værterne, skal vi oprette en værtsgruppe. Gå til menuen Værter > Tilføj gruppe

Vælg det iSCSI-mål, vi oprettede tidligere, som den oprettede værtsgruppe vil tilhøre.

Indstil et hvilket som helst værtsgruppenavn, for eksempel Group1, og klik Gå ind

Så værtsgruppen er blevet oprettet og knyttet til iSCSI Target. Nu skal vi beskrive hver vært, der vil fungere som iSCSI-initiator med tildelingen af ​​denne vært til den oprettede værtsgruppe. I vores tilfælde vil der kun være én sådan vært - vores virtualiseringsvært Hyper-V OS baseret Windows Server 2012 R2.

Inden du tilføjer initiatorværten til ESOS, skal du finde ud af dens navn. Initiativtagers navn på vores virtualiseringsvært. Du kan finde (og, hvis det ønskes, ændre) dette navn i Windows Server Kontrolpanel ved at kalde appletten iSCSI-initiator og åbne fanen Konfiguration

Som du kan se, i vores tilfælde er værtsnavnet på initiativtageren iqn.1991-05.com.microsoft:kom-ad01-vm01.holding.com.

Vend tilbage til TUI ESOS og føj initiativtagerværten til menuen Værter > Tilføj initiativtager

I dette tilfælde vil vi blive spurgt, hvilket SCST-mål den tilføjede vært tilhører. Vi vælger det eneste mål, som vi tidligere har oprettet og inkluderet.

Derefter vælger vi den tidligere oprettede værtsgruppe, som den tilføjede initiatorvært vil være bundet til.

Og endelig indtast IQN for initiativtagerværten, som vi fandt ud af tidligere, og klik Gå ind

Så på dette stadium i ESOS har vi allerede et oprettet SCST-mål (i vores tilfælde et iSCSI-mål), vi har en virtuel SCST-blokenhed (en software-RAID-array udsendes), vi har beskrevet en gruppe værter og en initiator vært (iSCSI Initiator) er bundet til denne gruppe ... Nu mangler vi bare at kortlægge den virtuelle SCST-blokenhed til værtsgruppen. For at gøre dette skal du gå til navigationsmenuen i Enheder > Kort til værtsgruppe.

Vælg den virtuelle SCST-blokenhed.

Vælg SCST-målet.

Vælg den værtsgruppe, som initiativtagerværten var inkluderet i.

Derefter åbnes konfigurationsformularen LUN-a, som vil blive udsendt til netværket. Angiv LUN-nummeret (som standard er den første udsendelses-LUN tildelt nummeret 0), og gem indstillingerne ved at klikke Okay.

Du kan se den endelige konfiguration af udsendelsen af ​​virtuelle SCST-enheder ved at gå til menuen Enheder > LUN/Gruppelayout

Lad os nu beslutte, hvordan vi adskiller iSCSI-netværkstrafikken fra ESOS-serveradministrationstrafikken. Vi vil gøre det på en sådan måde, at disse typer trafik fuldstændigt adskilles på tværs af forskellige netværksgrænseflader.

For at gøre dette konfigurerer vi på ESOS-serversiden og på iSCSI Initiator-klientsiden separate netværksgrænseflader med IP-adressering forskellig fra den adressering, der bruges til serverstyring. For eksempel, i vores tilfælde bruges 10.1.2.0/24-netværket til at administrere serverne, derfor bruger vi et lille dedikeret undernet til 6 værter for at adskille iSCSI-trafikken - 192.168.168.0/29 (på netværksudstyrsniveau, du kan desuden isolere dette netværk til et separat VLAN).

Lad os først konfigurere en dedikeret iSCSI-netværksgrænseflade på ESOS-serversiden ved at gå til navigationsmenuen under System > Netværks indstillinger og vælge den relevante netværksadapter.

Lad os indstille den statiske IP-adresse 192.168.168.1/29 på denne grænseflade, angive undernetmasken, udsendelsesadressen og øget størrelse MTU- 9000 (teknologi Jumbo stel skal understøttes af netværksadapteren) for at forbedre ydeevnen ved overførsel af store mængder data.

Når vi gemmer indstillingerne, vil vi svare ja til spørgsmålet om genstart af netværket (alle netværksforbindelser med ESOS vil midlertidigt gå tabt).

Når netværksgenstartsproceduren er gennemført, vil vi modtage en oversigt over status for anvendelse af de nye indstillinger.

Lad os nu gå videre til opsætning på initiativtagerens værtsside.

ISCSI-initiatorkonfiguration

På siden af ​​vores virtualiseringsvært baseret på Windows Server, hvortil vi vil modtage diskkapacitet fra ESOS-serveren via iSCSI-protokollen, konfigurerer vi en dedikeret netværksadapter til brug i arbejdet med iSCSI-protokollen.

Deaktiver alt undtagen hvad vi kan få brug for på denne dedikerede grænseflade, når vi arbejder med iSCSI. Lad os for eksempel kun lade protokolunderstøttelse være TCP/IPv4 og QoS.

Ved at vælge en protokol TCP/IPv4 med knappen Ejendomme indstille IP-adressen fra netværket, som vi definerede for iSCSI-trafik, for eksempel 192.168.168.3/29. Lad adressen på standardgatewayen og DNS-serverne være tomme. Åbn avancerede indstillinger med knappen Fremskreden.

I fanen DNS deaktiver standardindstillingen for DNS-registrering, og på VINDER deaktivere support LMHOST og NetBIOS over TCP/IP.

Lad os vende tilbage til hovedfanen for egenskaberne for netværksgrænsefladen og kalde dialogen til konfiguration af netværksadapterens parametre ved at klikke Konfigurer.

I formularen, der åbnes, på fanen avancerede indstillinger Fremskreden finde muligheden for at understøtte store pakker Jumbo pakke og vælg den maksimalt mulige værdi (i vores eksempel er det 9014). I fanen Strømstyring deaktiver systemets evne til at deaktivere denne netværksadapter i strømbesparende tilstande - Tillad computeren at slukke denne enhed for at gemme tilstand.

Luk alle vinduer og gem med knappen Okay.

Lad os nu tjekke tilgængeligheden af ​​ESOS-serveren gennem den dedikerede netværksgrænseflade. Først med værktøjet tracert for at sikre, at trafikken dirigeres direkte mellem servere.

tracert -d 192.168.168.1

Brug derefter hjælpeprogrammet ping ved at aktivere flaget forbyd fragmentering (mulighed - f) og specificering af størrelsen på transmitterede pakker (valgmulighed - l)

ping 192.168.168.1 -f -l 8000

I tilfælde af at et sted, for eksempel på switchen, som ESOS-serverne og vores initiator-vært er tilsluttet, er support ikke aktiveret Jumbo stel, vi kan få beskeder" Pakken skal være fragmenteret, men DF indstillet. "I vores tilfælde var testen vellykket, så du kan fortsætte til proceduren for tilslutning af en iSCSI-disk.

Lad os gå til Windows Server Kontrolpanel, kalde appletten iSCSI-initiator og åbne fanen Opdagelse tryk på knappen Opdag portalen... Angiv IP-adressen på ESOS-serveren fra netværket til iSCSI-trafik i vinduet med registreringsindstillinger, og klik på knappen Fremskreden.

I form af avancerede registreringsindstillinger skal du vælge som den lokale adapter Microsoft iSCSI Initiator og den tidligere konfigurerede IP-adresse fra netværket til iSCSI-trafik er 192.168.168.3. Gem indstillingerne ved at klikke Okay indtil vi vender tilbage til hovedappletvinduet.

Gå derefter til fanen Mål hvor i afsnit Opdagede mål den tidligere nævnte skulle fremgå IQN vores ESOS-server med status Inaktiv... Det vil sige, at systemet har registreret det, men det er ikke tilsluttet endnu. Brug knappen for at oprette forbindelse til iSCSI Target Forbinde.

I forbindelsesvinduet, der åbnes, skal du være opmærksom på, at tegnet for at tilføje et forbundet mål til listen over foretrukne mål er aktiveret - Tilføj denne forbindelse til listen over Yndlingsmål(til efterfølgende automatisk forbindelse til målet i tilfælde af servergenstart). tryk på knappen Fremskreden.

I form af avancerede forbindelsesindstillinger vil vi eksplicit angive netværksgrænsefladerne fra netværket for iSCSI-trafik, som skal bruges til at overføre iSCSI-trafik til denne sessionsforbindelse. Det vil sige som Initiativtager IP vælg fra listen adressen på iSCSI-grænsefladen, der er tildelt på vores vært 192.168.168.3, og som Målportal IP vælg fra listen adressen på iSCSI-grænsefladen, der er tildelt på ESOS-serveren - 192.168.168.1.

Luk og gem vinduet Avancerede indstillinger og Opret forbindelse til målet og sørg for, at forbindelsesstatussen er ændret til Forbundet

Lad os se på fanen Yndlingsmål og sørg for, at det tilsluttede mål er på favoritlisten.

Sørg for, at i "Enhedshåndtering" / Enhedshåndtering (devmgmt.msc) I kapitel Diskdrev der er en ekstra SCSI-disk med det navn, som vi tidligere har defineret på ESOS-serveren for den virtuelle SCST-blokenhed.

Det næste trin er at initialisere den iSCSI-tilsluttede disk. For at gøre dette skal du gå til diskhåndteringskonsollen Diskhåndtering (diskmgmt.msc), vælg den tilsvarende disk og skift den til tilstanden Online.

Efter at disken har ændret sin status, initialiserer vi disken og formaterer den efter vores smag, for eksempel til NTFS-filsystemet, og indstiller en hvilken som helst lydstyrketiket, vi forstår. Fra nu af, i Windows grafiske grænseflade, vil denne disk blive tilgængelig for os til standard filoperationer.

På dette tidspunkt, hvis vi ser ind i konsollen på ESOS-serveren, vil vi se oplysninger om forbindelsessessionen for den initierende vært nederst på TUI'en.

Dette fuldender den grundlæggende opsætning med den enkleste iSCSI-konfiguration.

Den enkleste præstationskontrol

Efter at have tilsluttet disken via iSCSI, er det tilrådeligt at udføre i det mindste nogle simple ydelsesmålinger for at forstå, hvad vi fik til sidst, og hvad der kan forventes af sådan en disk.

Det er ikke værd at stole på de tal, som Windows Stifinder viser os, når vi kopierer store filer fra en lokal serverdisk til en iSCSI-disk, da vi ikke vil se objektiv information der. For eksempel, i mit tilfælde, når der kopieres flere store ISO-filer (med forskelligt indhold), blev hastigheden angivet i området 150-160 MB / s, hvilket adskiller sig væsentligt fra den reelle tilladte hastighed for et iSCSI-link mellem mine to servere ved 1Gbit/s (~ 125MB/s). Derudover vises hastigheden, der mere eller mindre ligner sandheden, når du kopierer den første fil, og når du kopierer efterfølgende filer, stiger den lidt (måske er filsystemets cache og andre andre caches på forskellige niveauer inkluderet i arbejdet) .

Til alle mulige målinger vil man altid bruge nogle "native" værktøjer, der ikke kræver installation af ekstra software, men det er desværre ikke altid muligt. På Windows-klientsystemer bruges værktøjet til at evaluere ydeevnen af ​​forskellige undersystemer, inklusive disken. WinSAT ( winsat disk ), men jeg fandt ikke dette værktøj i Windows Server 2012 R2. Så
Jeg kopierede to filer, WinSAT.exe og WinSATAPI.dll, fra det tilgængelige Windows 10 x64-klient-OS fra mappen% windir% \ System32 til den samme mappe på serveren. Nu kan du prøve at bruge dette værktøj ved at køre det fra kommandolinjen med administratorrettigheder.

winsat disk -drev T -tæller 3

Her efter nøgleordet disk indstillingen –drive angiver bogstavet for det drev, vi vil teste, og –count-indstillingen angiver antallet af testcyklusser.

Som jeg forstår det, tillader dette værktøj ikke test med store datablokke (mere end 1 MB), det vil sige, at det er mere velegnet til testsituationer med et stort antal små filer. I vores tilfælde er situationen den modsatte - sikkerhedskopiering af diske på virtuelle maskiner involverer et lille antal filer af en betydelig størrelse.

Et andet simpelt værktøj er værktøjet Diskspd(DiskSpd: Et robust værktøj til lagerydeevne ), som erstattede værktøjetSQLIO Disk Subsystem Benchmark Tool (SQLIO) ... Vi downloader værktøjet, pakker det ud på serveren og kører det med et sæt parametre, der svarer til konteksten for vores opgave.

cd / d C: \ Værktøjer \ Diskspd-v2.0.17 \ amd64fre \ Diskspd.exe -d60 -b1M -s -w100 -t1 -c100G T: \ io1.dat T: \ io2.dat

De parametre vi bruger betyder:
-d60: Testudførelsestid 60 sekunder
-b1M: Fungerer i 1MB blokke
-s: Udfør sekventielle adgangsoperationer
-w100: Lav en fuld skrivetest (ingen læsetest)
-t1: Antallet af arbejdstråde med målet (med filen T: \ io.dat)
-c100G: Opret 100 GB filer
Til sidst vises navnene på de filer, der er genereret til testen.

Lidt afvigende bemærker jeg, at vi i skrivende stund bruger software til opgaven med at sikkerhedskopiere Hyper-V virtuelle maskiner Veeam Backup & Replikering , derfor, når jeg vælger en blokstørrelse til at udføre test, vil jeg gå ud fra detaljerne i denne software. Som jeg forstod ud fra dokumentetDatakomprimering og deduplikering , VBR bruger 1024MB blokke i sikkerhedskopiering på SAN, og det er den blokstørrelse, vi vil bruge til test.

Til sammenligning, lad os køre testen igen med det samme sæt betingelser, men øge dens varighed til 5 minutter.

Det ses tydeligt her, at under langvarig belastning falder indikatorerne mærkbart. Jeg kan antage, at dette skyldes det faktum, at flaskehalsen i dette tilfælde bevæger sig fra området af netværksundersystemet til området med langsomme diske, der bruges på vores ESOS-serverside.

For fans af grafiske værktøjer kan et andet simpelt gratis værktøj være nyttigt til at udføre sådanne overfladiske tests af ydeevnen af ​​diskundersystemet på Windows. ATTO Disk Benchmark... Du kan downloade den fra linket: Disk Benchmark ... Brugerfladen er enkel og ligetil, og der er formentlig ikke noget at kommentere på.

Om nogle mere komplekse testværktøjer, som f.eks IOMetre , jeg siger ikke, da der inden for rammerne af vores opgave ikke er noget mål at håndtere benchmarks som sådan. Og indikatorerne for simple værktøjer opnås kun for at have et sammenligningsgrundlag i fremtiden, når vi mellem ESOS-serveren og Hyper-V-værten ikke vil have ét link, som på dette konfigurationstrin, men to links og den involverede Multipath-mekanisme.

Konfiguration af Multipath

Så vi har en disk tilsluttet via iSCSI og nogle grundlæggende benchmarks for ydeevnetest, som vi kan bygge videre på. Lad os nu prøve at forbedre disse indikatorer ved at tilføje endnu en gigabit-netværksadapter til ESOS-serveren og initiatorværten og kombinere deres arbejde ved hjælp af Multipath-mekanismen på initiatorværtssiden.

Lad os starte med at konfigurere ESOS-serveren. Gå til i hovednavigationsmenuen System > Netværks indstillinger, vælg en ekstra netværksadapter, der skal bruges til endnu en iSCSI-forbindelse, og konfigurer IP-parametrene. I vores eksempel bruges en statisk konfiguration, og den ekstra ESOS iSCSI-grænseflade er sat til IP-adressen 192.168.168.2/29, og størrelsen øges yderligere. MTU.

Vi gemmer netværksindstillingerne i ESOS og fortsætter med at konfigurere en ekstra netværksadapter på siden af ​​initiatorværten, det vil sige vores server baseret på Windows Server med iSCSI Initiator.

Vi konfigurerer, analogt med det første, det andet iSCSI-interface, og indstiller det til IP 192.168.168.4/29

Deaktiver den tidligere konfigurerede grænseflade med adressen 192.168.168.3 (iSCSI-disken vil falde af i dette tilfælde), og sørg for, at de yderligere konfigurerede iSCSI-grænseflader på ESOS-serveren og initiatorværten kan se hinanden.

I kontrolpanel-appletten iSCSI-initiator i fanen Opdagelse tilføje en ekstra detektionssti, der specificerer en masse 192.168.168.2 - 192.168.168.4

Siden tidligere har vi oprettet en iSCSI-forbindelse til målet uden det aktiverede flag multi-sti, så nu ville det være mere korrekt for os at deaktivere denne forbindelse og oprette den igen, men med det aktiverede flag multi-sti.

Fjern først den tidligere oprettede forbindelse fra opstart på fanen Yndlingsmål

Lad os nu gå til fanen Mål og afbryd (disken, initialiseret og tilsluttet i iSCSI-systemet, forsvinder fra Windows)

Derefter forbinder vi iSCSI-målet igen, men denne gang med muligheden aktiveret Aktiver multi-path(og glem ikke knappen Fremskreden lav en eksplicit flok grænseflader 192.168.168.1 - 192.168.168.3 )

Efter at have sikret sig, at målet er kommet ind i tilstanden igen Forbundetåbne dens egenskaber for at tilføje en anden forbindelse på en ekstra dedikeret grænseflade

I fanen Mål lad os gå til knappen Ejendomme til egenskaberne for det tilsluttede mål, og brug knappen Tilføj session for at oprette en anden forbindelse.

I øvrigt her ved knappen MCS vi vil være i stand til at sikre, at den første etablerede session faktisk bruger den dedikerede netværksgrænseflade, vi specificerede.

Så ved at bruge knappen Tilføj session tilføje en ekstra forbindelse til iSCSI Target, der angiver som grænseflader et ekstra par grænseflader, som vi konfigurerede tidligere (192.168.168.2 - 192.168.168.4 )

Nu skulle en registrering om den anden session vises på listen over sessioner.

Vi vil også se den oprettede ekstra session på ESOS-serversiden.

På siden af ​​initiativtagerværten, lad os se på snap-in'en "Enhedshåndtering" / Enhedshåndtering (devmgmt.msc), og sørg for, at i afsnittet Diskdrev en ekstra SCSI-disk med samme navn (ESOS01-MD0) er dukket op.

Det vil sige, at nu på Windows-serversiden ser vi faktisk den samme disk som to separate enheder. For at systemet skal kunne arbejde med denne disk som en enkelt enhed, ved at bruge begge iSCSI-netværkslinks til ESOS-serveren, skal vi aktivere support MPIO til iSCSI... For at gøre dette skal du gå til Windows Kontrolpanel, åbne appletten MPIO og i fanen Oplev Multi-Paths slå indstillingen til Tilføj understøttelse af iSCSI-enheder... Derefter trykker vi på knappen Tilføje og vi svarer bekræftende på spørgsmålet om genstart af serveren.

Efter genstart, lad os se igen på Device Manager-konsollen og sørge for, at vores iSCSI-disk nu vises som en enkelt enhed og har et navn ... Multi-Path Disk-enhed... Lad os åbne egenskaberne for disken og på fanen MPIO kontrollere, at disken er tilgængelig på to måder.

Mere detaljerede oplysninger om forbindelsesruter kan ses i kontrolpanelets applet iSCSI-initiator.

Her ved knappen MPIO vi vil se oplysninger om de anvendte forbindelser.

Dette fuldender den grundlæggende opsætning af Multipath.

Nu, for at evaluere ændringerne i hastigheden af ​​at arbejde med en iSCSI-disk, som vi modtog som et resultat af at organisere det andet link og opsætte Multipath, vil vi udføre en simpel test af lineær skrivning af store filer til disken, analogt med hvad vi gjorde tidligere:

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

At dømme efter, hvad Diskspd viser os i dette tilfælde, blev hver fil i gennemsnit skrevet med en hastighed på ~ 225MB/s, hvilket er lig med 1800Mb/s. Det vil sige, at vi som et resultat får en hastighed tæt på den samlede gennemstrømning af to organiserede iSCSI-links.

Samme test, men længere i tid (5 minutter):

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

Den gennemsnitlige værdi på ~ 48,5 MB/s, opnået ved arbejde med hver fil, ser væsentligt bedre ud end de tidligere opnåede 16 MB/s på et enkelt iSCSI-link.

Baseret på disse enkle målinger kan vi forstå, at takket være organisationen af ​​Multipath-forbindelsen øgede vi ikke kun dens tilgængelighed, men modtog også forbedrede ydeevneindikatorer. Og det her er godt.

ESOS USB Flash Hot Swap

I betragtning af at vi ved montering af budgetløsningen beskrevet i vores eksempel kunne bruge billige USB-drev, kan det i nogle tilfælde være nødvendigt at udskifte dette drev (f.eks. hvis det fejler). I betragtning af at ESOS er et Linux-system, der er fuldt tilpasset til at arbejde i RAM, er udskiftning af et USB-drev en meget enkel operation, hvis korrekte behandling er implementeret af udvikleren af ​​dette system.

Faktisk udskiftes drevet i nogle få enkle trin:

  • På et allerede indlæst og kørende ESOS-system skal du til enhver tid fjerne USB-drevet (det drev, der skal udskiftes), hvorfra dette system blev startet.
  • Vi forbereder en ny ESOS USB stick ved at bruge standardmetoden beskrevet i afsnittet "Forberedelse af en ESOS USB bootbar stick" ovenfor, og installerer denne stick i en kørende ESOS server.
  • Vi kalder proceduren for synkronisering af ESOS-konfigurationen, der kører i RAM, med filsystemet på USB-drevet. Menupunkt System > Synkroniseringskonfiguration

Derefter er det tilrådeligt at genstarte serveren og sørge for, at systemet starter op fra det nye USB-drev. Under den første opstart fra det udskiftede USB-drev vil ESOS udføre nogle serviceprocedurer, og på få minutter vil serveren være klar til at arbejde, efter at have indlæst den konfiguration, vi konfigurerede tidligere.

At dømme efter beskrivelsen af ​​dokumentet 13_Opgradering , opgraderes ESOS-serveren til en nyere version på nøjagtig samme simple måde, hvilket i høj grad forenkler vedligeholdelsen af ​​et sådant system.

Konklusion

Afslutningsvis vil jeg gerne sige, at vi i vores eksempel takket være ESOS-systemet formåede at presse det maksimale ud af diskkurven på en forældet server i alle henseender og få på virtualiseringsværten en diskkapacitet, der er ret acceptabel i ydeevne til opgaven med at sikkerhedskopiere virtuelle maskiner. Og jeg kan kun takke ESOS-udvikleren for det udførte arbejde og ønske projektet videre succesfuld udvikling.

Abstrakt: hvordan open-iscsi (ISCSI initiator i linux) virker, hvordan man konfigurerer det, og lidt om selve ISCSI-protokollen.

Sangtekster: Der er mange artikler på Internettet, der ganske godt forklarer, hvordan man opsætter et ISCSI-mål, men af ​​en eller anden grund er der praktisk talt ingen artikler om at arbejde med en initiativtager. På trods af at mål er teknisk mere kompliceret, er der mere administrativt ballade hos initiativtageren – der er mere uoverskuelige begreber og ikke særlig åbenlyse arbejdsprincipper.

ISCSI

Før vi taler om iSCSI - et par ord om forskellige typer fjernadgang til information i moderne netværk.

NAS vs SAN

Der er to metoder til at få adgang til data placeret på en anden computer: fil (når en fil anmodes om fra en fjerncomputer, og ingen bekymrer sig om, hvilke filsystemer det gøres), typiske repræsentanter for NFS, CIFS (SMB); og blokering - når der anmodes om blokeringer fra en ekstern computer fra diskmedier (svarende til hvordan de læses fra en harddisk). I dette tilfælde laver den anmodende part et filsystem på blokenheden for sig selv, og serveren, der giver blokenheden, kender ikke til filsystemerne på den. Den første metode kaldes NAS (netværk tilsluttet lager), og den anden kaldes SAN (storage area network). Navnene angiver generelt andre tegn (SAN betyder et dedikeret netværk før lagring), men det skete, at NAS er filer, og SAN'er er blokenheder over netværket. Og selvom alle (?) forstår, at det er forkerte navne, jo længere, jo mere bliver de fikset.

scsi over tcp

En af protokollerne til at få adgang til blokenheder er iscsi. Bogstavet "i" i titlen henviser ikke til Apple-produkter, men til Internet Explorer. I sin kerne er det "scsi over tcp". Selve SCSI-protokollen (uden bogstavet "i") er et meget komplekst design, da den kan fungere gennem forskellige fysiske medier (f.eks. er UWSCSI en parallel bus, SAS er en seriel bus - men de har samme protokol). Denne protokol giver dig mulighed for at gøre meget mere end blot "tilslut diske til computeren" (som opfundet i SATA), for eksempel understøtter den enhedsnavne, tilstedeværelsen af ​​flere links mellem blokenheden og forbrugeren, understøttelse af skift (ja , en SAS-switch, sådan er i naturen), forbinder flere forbrugere til en blokenhed osv. Med andre ord, denne protokol blev simpelthen bedt om som grundlag for en netværksblokenhed.

Terminologi

Følgende vilkår er vedtaget i SCSI-verdenen:
mål er den, der leverer blokenheden. Den nærmeste analog fra den almindelige computerverden er en server.
initiativtager- klienten, den der bruger blokenheden. Analog af klienten.
Wwid- unik identifikator for enheden, dens navn. En analog af et DNS-navn.
LUN- nummeret på "stykket" af disken, som der er adgang til. Den nærmeste analog er en partition på en harddisk.

ISCSI bringer følgende ændringer: WWID forsvinder, i stedet kommer konceptet IQN (iSCSI Qualified Name) - altså et rent navn, der ligner graden af ​​forveksling med DNS (med mindre forskelle). Her er et eksempel på IQN: iqn.2011-09.test: navn.

IETD og open-iscsi (Linux server og klient) bringer et andet meget vigtigt koncept, som oftest ikke er skrevet om i iscsi manualerne - portalen. Portal er groft sagt flere mål, som annonceres af én server. Der er ingen analogi med www, men hvis en webserver kunne blive bedt om at liste alle sine virtualhosts, ville det være den. Portal specificerer en liste over mål og tilgængelige IP'er, der kan tilgås (ja, iscsi understøtter flere ruter fra initiativtager til mål).

mål

Denne artikel handler ikke om target, så jeg giver en meget kort beskrivelse af hvad target gør. Han tager en blokenhed, smutter navnet og LUN til det og offentliggør det på sin portal, hvorefter han giver alle (tilladelse til at smage) adgang til det.

Her er et eksempel på en simpel konfigurationsfil, jeg tror, ​​det vil være klart ud fra den, hvad målet gør (en konfigurationsfil, der bruger IET-eksemplet):

Mål iqn.2011-09.example: data IndgåendeBrugerbrugernavn Pa $$ w0rd Lun 0 Sti = / dev / md1

(komplekst adskiller sig fra simpelt kun i eksportmuligheder). Så hvis vi har et mål, så vil vi forbinde det. Og det er her, den tricky del begynder, fordi initiativtageren har sin egen logik, det ligner slet ikke et trivielt mount til nfs.

Initiativtager

Open-iscsi bruges som initiativtager. Så det vigtigste er, at han har driftstilstande og tilstand... Hvis vi udsteder en kommando i den forkerte tilstand eller ignorerer tilstanden, vil resultatet være ekstremt nedslående.

Så driftstilstandene:

  • Søgsmål "s (opdagelse)
  • Opret forbindelse til målet "y
  • Arbejde med et forbundet mål
Fra denne liste er livscyklussen ganske forståelig - find først, tilslut derefter, afbryd derefter og tilslut derefter igen. Open-iscsi holder sessionen åben, selvom blokenheden ikke er i brug. Desuden holder det sessionen åben (selvfølgelig op til visse grænser), selvom serveren genstarter. En iscsi-session er ikke det samme som en åben TCP-forbindelse, iscsi kan transparent genoprette forbindelsen til målet Disconnect / Connect er operationer, der styres eksternt (enten fra anden software eller manuelt).

Lidt om staten. Efter opdagelse åben-iscsi husker alle fundne mål (de er gemt i / etc / iscsi /), med andre ord er opdagelse en permanent operation, SLET IKKE passende, f.eks. dns-opløsning. Fundne mål kan slettes manuelt (i øvrigt en almindelig fejl er, når open-iscsi, som et resultat af eksperimenter og indstillinger, en masse fundne mål "s, når de forsøger at logge ind på, hvor en masse fejl kryber ud på grund af det faktum, at halvdelen af ​​målet" er gamle konfig. linjer som ikke har eksisteret på serveren i lang tid, men jeg husker open-iscsi) Desuden giver open-iscsi dig mulighed for at ændre indstillingerne for det huskede mål "a" - og denne "hukommelse" påvirker det videre arbejde med målet "s selv efter dæmonen er genstartet / genstartet.

Bloker enhed

Det andet spørgsmål, der plager mange i starten, er, hvor ender det efter tilslutning? open-iscsi opretter, dog en netværksforbundet, men BLOKER SCSI-klasseenhed (det er ikke for ingenting, jeg siger det), det vil sige, den får et bogstav i / dev / sd-familien, for eksempel / dev / sdc. Det første fribogstav bruges, pga for resten af ​​systemet er dette en blokenhed - en typisk harddisk, der ikke er anderledes end den, der er tilsluttet via usb-sata eller bare direkte til sata.

Dette udløser ofte "hvordan kan jeg finde ud af navnet på blokenheden?" Panik. Det udskrives i det verbose output af iscsiadm (# iscsiadm -m session -P 3).

Bemyndigelse

I modsætning til SAS / UWSCSI er iSCSI tilgængelig for alle at forbinde. For at beskytte mod sådanne er der et login og password (kapitel), og deres overførsel til iscsiadm "y er endnu en hovedpine for begynderbrugere. Det kan gøres på to måder - ved at ændre egenskaberne for det tidligere fundne mål" og registrere login / adgangskode i konfigurationsfilen open-iscsi.
Årsagen til denne vanskelighed er, at adgangskoden og login-processen ikke er attributter for brugeren, men af ​​systemet. ISCSI er en lavprisversion af FC-infrastrukturen, og begrebet "bruger" i sammenhæng med en person ved tastaturet gælder ikke her. Hvis din sql-base er på iscsi-blok-enheden, så vil du selvfølgelig have, at sql-serveren starter sig selv, og ikke efter et minut af operatørens personlige opmærksomhed.

konfigurationsfil

Dette er en meget vigtig fil, fordi den udover login/adgangskode også beskriver opførselen af ​​open-iscsi, når den finder fejl. Det kan give en fejl "tilbage" ikke med det samme, men med en pause (for eksempel omkring fem minutter, hvilket er nok til at genstarte serveren med data). Det styrer også login-processen (hvor mange gange der skal prøves, hvor længe der skal ventes mellem forsøgene) og enhver finjustering af selve arbejdsprocessen. Bemærk, at disse parametre er ret vigtige for arbejdet, og du skal forstå, hvordan din iscsi vil opføre sig, hvis du fjerner strømkablet i f.eks. 10-20 sekunder.

Hurtig reference

Jeg kan ikke rigtig godt lide at citere let fundne mana og linjer, så jeg vil give et typisk scenarie for brug af iscsi:

Først finder vi det mål, vi har brug for, til dette skal vi kende IP / dns-navnet på initiativtageren: iscsiadm -m discovery -t st -p 192.168.0.1 -t st er kommandoen send targets.

Iscsiadm -m node (liste fundet til login)
iscsiadm -m node -l -T iqn.2011-09.eksempel: data (login, dvs. opret forbindelse og opret en blokenhed).
iscsiadm -m session (liste hvad der er forbundet til)
iscsiadm -m session -P3 (output det, men mere detaljeret - til allersidst af outputtet vil der være en indikation af, hvilken blokenhed der hører til hvilket mål).
iscsiadm - m session -u -T iqn.2011-09.eksempel: data (log ud af en bestemt)
iscsiadm -m node -l (log ind på alle detekterede mål)
iscsiadm -m node -u (log ud af alle mål)
iscsiadm -m node --op delete -T iqn.2011-09.eksempel: data (fjern mål fra fundet).

multisti

Et andet spørgsmål, der er vigtigt i seriøse beslutninger, er støtten fra flere ruter til kilden. Skønheden ved iscsi er, at den bruger en almindelig ip, som kan behandles på den sædvanlige måde, ligesom al anden trafik (selvom den i praksis normalt ikke rutes, men kun skiftes - belastningen er for tung der). Så iscsi understøtter multipath i "no resist"-tilstand. I sig selv kan open-iscsi ikke oprette forbindelse til flere IP'er af et mål "a. Hvis det er forbundet til flere IP'er af et mål" a, vil dette føre til fremkomsten af ​​flere blokenheder.

Der er dog en løsning - dette er multipathd, som finder diske med samme identifikator og behandler dem som forventet i multipath, med politikker, der kan tilpasses. Denne artikel handler ikke om multipath, så jeg vil ikke forklare mysteriet om processen i detaljer, men her er nogle vigtige punkter:

  1. Når du bruger multipath, skal du indstille små timeouts - skift mellem dårlige stier skal være hurtigt nok
  2. Under forhold med en mere eller mindre hurtig kanal (10G og højere, i mange tilfælde gigabits), bør belastningsparallelisme undgås, da evnen til at bruge biokoalesing går tabt, hvilket i nogle typer belastning kan ramme målet "y.