forum

www.SAMURAJ-cz.com 

25.03.2017 Marian Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

iSCSI SAN síť a konfigurace na Windows Server 2012

Upraveno 24.02.2017 14:23 | vytvořeno 08.02.2017 16:41 | Samuraj - Petr Bouška |
Článek začíná obecným popisem technologie iSCSI a topologií SAN sítí. Pokračuje popisem základních operací pro zprovoznění iSCSI Initiator na Windows Serveru pro připojení k diskovému poli a mapování LUNu (disku). Včetně nastavení Multipathu pro více cest. Popis se věnuje verzi Windows Server 2012 R2, ale na jiných verzích Windows Sever je podobný.

Popisované postupy a screenshoty jsou z Windows Server 2012 R2. Pokud musíme použít starší verzi, tak se doporučuje Windows Server 2008 R2 SP1, postupy jsou velice podobné, ale verze 2012 přinesla určitá vylepšení. Nová verze Windows Server 2016 opět základní postupy nemění. V každém případě se vždy doporučuje mít nainstalované poslední opravy (hotfix), pro většinu OS je k dispozici oprava MPIO.

Základní termíny

SAN - Storage Area Network - speciální síť, která poskytuje přístup ke konsolidovanému datovému úložišti. Do sítě připojujeme cíl (Target), což je primárně diskové pole (Storage Array) či nějaké zálohovací zařízení, a zdroj (Initiator), což jsou standardně servery. Běžně v SAN síti probíhá blokový přenos a serverům se připojuje disk z pole, který se chová stejně jako lokální (vypadá identicky jako disk připojený na SATA a můžeme s ním provádět stejné operace). V SAN síti se primárně využívá protokolů Fibre Channel (FC) a Internet Small Computer System (iSCSI) pro blokový přenos (druhá možnost je souborový přenos a třeba protokol Network File System - NFS či Common Internet File System - CIFS).

iSCSI - Internet Small Computer Systems Interface - jedná se o blokově orientovaný storage protocol, který využívá Ethernet pro přenos. SCSI příkazy jsou zapouzdřeny do TCP/IP protokolu. TCP sice není tak efektivní jako FCP, ale při dnešních rychlostech sítí to již není problém. iSCSI vyžaduje minimálně rychlost 1 Gbps, dnes se standardně nasazuje na metalické sítě s rychlostí 10 Gbps.

LUN - Logical Unit Number - reprezentuje individuálně adresovatelné logické zařízení (jednotku). Z pohledu pole jde o soubor uvnitř Volume. Z pohledu klienta (serveru) jde o disk. Zjednodušeně se říká, že LUN je logický disk.

iSCSI Initiator - klient (standardně jde o server), který posílá SCSI příkazy přes síť, většinou se připojuje k LUNu, vyjednává připojení s Target.

iSCSI Target - standardně cílová adresa diskového pole, přes kterou se Initiator připojuje k LUNu a posílá na něj vstupně/výstupní požadavky.

IQN - iSCSI Qualified Name - unikátní iSCSI identifikátor initiatoru nebo targetu, příklad iqn.1991-05.com.microsoft:server.firma.local

Pozn.: V článku zmiňuji (pro mne) standardní situaci, kdy SAN síť obsahuje servery a diskové pole. Servery jsou Initiator a pomocí iSCSI si z pole, tedy Targetu, připojují disky (LUNy), které se na nich tváří jako lokální disky. Ale iSCSI Target nemusí být pouze specializované diskové pole (či zálohovací zařízení), ale může jít o server, který má lokální disky a ty poskytuje jiným serverům. Součástí Windows Server 2012 (pro 2008 R2 se dá stáhnout) je role (Server Role) iSCSI Target Server, která nám po přidání dovolí vytvořit Target a tedy vlastně diskové pole.

Síťové zapojení a konfigurace adaptérů

Pokud stavíme SAN síť pro iSCSI protokol, tak jsou všechny principy obdobné, jako pro Fibre Channel. Výhoda je, že můžeme využít klasickou kabeláž, Ethernetové přepínače (switch), apod., oproti specializovaným pro řešení Fibre Channel. V serverech můžeme využít standardní síťové karty (Network Interface Card - NIC), i když je lepší volit specializované iSCSI Host Bus Adapter (HBA), které mají HW podporu pro off-load TCP/IP a iSCSI protokolu.

I když tedy můžeme využít stejné síťové prvky (a v dnešní době je populární určitá konsolidace), tak se vždy doporučuje budovat oddělenou SAN síť (pokud to není možno, tak minimálně využít VLAN). Stejně tak mít určitě v serveru samostatné síťové karty pro SAN. Pořád máme zjednodušení v tom, že spravujeme stejné technologie jako pro LAN a vybavení může být levnější.

IP SAN design se buduje stejně jako FC SAN. To znamená, že vytváříme dvě oddělené sítě (ve světě FC se mluví o Fabric), každá má jiný adresní rozsah a mezi sebou nejsou propojené (nejsou ani routované - jsou uzavřené). Je to z důvodu vysoké dostupnosti, pokud tento požadavek nemáme, tak můžeme vystačit s jednou sítí. Oddělení od běžné sítě má také vliv na zvýšenou bezpečnost. Pro další zabezpečení můžeme použít oboustrannou CHAP autentizaci. Na SAN síti se doporučuje používat Jumbo Frames (to znamená nastavit na switchích, serverech a poli).

Standardně existují čtyři cesty (může jich být i více, když máme více portů na kontroléru, ale většinou se pak využívá Link Agregation) mezi serverem (Initiator) a diskovým polem (Target). Máme dvě SAN fabricy (oddělené sítě / subnety), pole má dva kontroléry a každý je připojen do obou fabric (tedy má celkem 4 IP adresy), server má dvě síťové karty (2 IP adresy) a je připojen do každé fabricy. Server vidí v každé fabrice oba kontroléry pole, takže přes svoji jednu IP adresu může komunikovat na dvě IP adresy pole. Vždy je potřeba používat IP adresy ve stejné síti.

Zapojení SAN sítě (diskové pole, server)

Nastavení síťového adaptéru

Síťové adaptéry na Windows serveru, které vedou do IP SAN sítě, je velmi vhodné správně nakonfigurovat. Jde primárně o vypnutí všech zbytečných vlastností. Na IPv4 vypneme NetBIOS, registraci v DNS, apod. Celkově můžeme vypnout IPv6 (pokud nepoužíváme), sdílení souborů a tiskáren, klient MS sítě, atd.

Pokud jsme se rozhodli v SAN síti využívat Jumbo Frames, tak je musíme povolit na síťovém adaptéru ve Windows. Nejprve si vypíšeme rozhraní a aktuální MTU.

netsh interface ipv4 show subinterfaces

Pro vybraný interface pak změníme hodnotu MTU odpovídajícím způsobem.

netsh interface ipv4 set subinterface "Local Area Connection" mtu = 9000

Zjištění IQN na serveru

Protože iSCSI běží nad TCP/IP, tak pro síťovou komunikaci využíváme klasicky MAC a IP adresy. Pro jejich zjištění máme klasicky příkaz ipconfig /all.

Na poli ale potřebujeme znát IQN klienta (iSCSI Initiator), abychom mohli přiřadit LUN/Volume serveru. Na Windows Serveru jej můžeme zjistit několika způsoby (nejprve je dobré provést připojení na pole popsané dále).

Pomocí GUI:

  • otevřeme Server Manager - Tools - iSCSI Initiator
  • v iSCSI Initiator Properties se přepneme na poslední záložku Configuration a zde vidíme naše Initiator Name (IQN)

Dále můžeme využít řádkový příkaz iscsicli, který hned po spuštění vypíše IQN serveru.

C:\>iscsicli
Microsoft iSCSI Initiator Version 6.3 Build 9600
[iqn.1991-05.com.microsoft:server] Enter command or ^C to exit 

Na Windows Server 2012 R2 můžeme také využít PowerShell a cmdlet Get-InitiatorPort, který zobrazuje informace pro HBA initiator porty iSCSI, FC a SAS.

PS C:\> Get-InitiatorPort | FT -AutoSize
InstanceName          NodeAddress                      PortAddress    ConnectionType
------------          -----------                      -----------    --------------
ROOT\ISCSIPRT\0000_0  iqn.1991-05.com.microsoft:server ISCSI ANY PORT iSCSI 

Konfigurace Multipath

V SAN sítích se běžně využívá více fyzických cest mezi klientem a diskovým úložištěm. Hlavní důvod je dosažení vysoké dostupnosti (High Availability), ale je možné i dosažení vyššího výkonu (Load Balancing). Aby více cest fungovalo, tak se využívá techniky Multipath I/O. Pokud máme stejný disk (úložiště) dosažitelný více cestami, tak jej systém považuje za více různých disků (podle počtu cest). Multipath ovladač zajistí, že se disk interpretuje jako jeden s více cestami. Microsoft má vlastní implementaci Microsoft Multipath I/O (MPIO), která je součástí serverových OS.

MPIO umožňuje použít Device Specific Module (DSM), které mohou vyvinout HW výrobci a optimalizovat pro své diskové pole. Součástí Windows je obecný Microsoft DSM pro Fibre Channel, iSCSI nebo SAS.

Přidání MPIO vlastnosti

MPIO je vlastnost (Feature) systému, kterou musíme přidat:

  • otevřeme Server Manager - Add roles and features
  • doklikáme se až na Features a zaškrtneme Multipath I/O
  • dokončíme průvodce

Nastavení MPIO

  • konfiguraci spustíme Control Panel - MPIO (nebo také pod Administrative Tools či ve Startu najdeme MPIO - mpiocpl.exe)
  • přepneme se na záložku Discover Multi-Paths
  • zaškrtneme Add support for iSCSI devices a klikneme na Add
  • dostaneme informaci, že je požadován restart a provedeme jej
  • po restartu znovu spustíme MPIO a na záložce MPIO Devices bychom měli vidět zařízení MSFT2005iSCSIBusType_0x9
Nastavení MPIO

Pozn.: Pro konfiguraci MPIO můžeme také využít řádkový příkaz mpclaim.

MPIO Policy - Load Balancing metody

Aby se mohlo využít více aktivních cest (rozvažování zátěže), tak pole musí podporovat Active/Active nebo lépe Asymmetric Logical Unit Access (ALUA). ALUA (také známé jako Target Port Groups Support - TPGS) jsou SCSI koncepty a příkazy pro definování prioritizace cest, popisuje port status a přístupové charakteristiky. Při použití ALUA může být cesta (LUN) ve stavu:

  • Active/Optimized
  • Active/Unoptimized
  • Unavailable
  • Transitioning

MPIO Policy

  • Fail Over Only - veškerá komunikace (I/O) jde přes jednu aktivní (Primary nebo Active/Optimized) cestu (nejde tedy o rozvažování zátěže), ostatní jsou záložní (Standby nebo Active/Unoptimized) a pouze při výpadku aktivní cesty se přepne na jednu záložní (v případě obnovení komunikace aktivní cesty se vrací zpět)
  • Round Robin - DSM může použít všechny dostupné cesty s rozvažováním pomocí Round Robin (IO se rozvažuje rovnoměrně, cesty se berou postupně od první až po poslední a opět se začne na začátku - kruh)
  • Round Robin with Subset - obdoba jako Round Robin, ale berou se pouze Active/Optimized cesty, pokud všechny selžou, tak se využijí Active/Unoptimized
  • Least Queue Depth - použije se cesta, kde je nejkratší fronta požadavků
  • Weighted Paths - nastavíme váhu pro každou cestu a to určí relativní rozložení požadavků
  • Least Blocks - použije se cesta, kde se aktuálně zpracovává nejmenší objem dat (I/O bloků)

Konfigurace iSCSI - připojení na pole

Pozn.: Výchozím předpokladem je, že server má jeden nebo více síťových interfaců zapojených do SAN sítě a nastavenu odpovídající IP adresu (například 192.168.10.10 a 192.168.20.10).

  • otevřeme Server Manager - Tools - iSCSI Initiator
  • pokud nám neběží služba Microsoft iSCSI Initiator Service, tak dostaneme dotaz, zda ji chceme spustit a nastavit na automatické startování
  • v iSCSI Initiator Properties vidíme na poslední záložce Configuration naše Initiator Name (IQN), které je důležité pro připojení LUNu na poli
  • vytvoření spojení na pole (Target Portal)
    • přepneme se na záložku Discovery a klikneme na Discover Portal
    • zde zadáme první IP adresu iSCSI host portu na kontroléru našeho pole (jedna ze 4 adres, příklad 192.168.10.1)
    • dále klikneme na Advanced a nastavíme
    • Local adapter - Microsoft iSCSI Initiator
    • Initiator IP - zvolíme IP adresu serveru ve stejné (fabrice) iSCSI síti (příklad 192.168.10.10)
    • potvrdíme OK a OK
Konfigurace iSCSI Initiator - Discover Portal
  • připojení k poli (Target)
    • přepneme se na záložku Targets a měli bychom zde vidět Target, například iqn.1992-08.com.netapp:aff
    • označíme Target (měl by být ve stavu Inactive) a klikneme na Connect
    • zatrhneme přidání mezi Favorite a Enable multi-path, klikneme na Advanced
    • opět nastavíme Local adapter (Microsoft iSCSI Initiator), Initiator IP (adresu na serveru na první cestu, 192.168.10.10), Target portal IP (měli bychom vidět všechny IP pole, zvolíme první na stejné cestě, 192.168.10.1)
    • potvrdíme OK a OK (stav by se měl změnit na Connected)
Konfigurace iSCSI Initiator - Connect To Target
  • zatím se nám nastavila jedna cesta (Session), potřebujeme přidat všechny ostatní
    • označíme Target a klikneme na Properties
    • klikneme na Add session a postupujeme stejně jako v předchozím bodě (Connect To Target) pro zbývající tři cesty
    • zatrhneme přidání mezi Favorite a Enable multi-path, klikneme na Advanced
    • nastavíme Local adapter (Microsoft iSCSI Initiator), Initiator IP (postupně první (192.168.10.10) a druhou (192.168.20.10) adresu na serveru), Target portal IP (volíme další adresy ve stejné síti jako Initiator, takže nejprve 192.168.10.2 a potom 192.168.20.1 a 192.168.20.2)
    • potvrdíme OK a OK a pokračujeme pro další cestu
Konfigurace iSCSI Initiator - Add session

Pozn.: Pro různé iSCSI operace můžeme využít řádkový příkaz iscsicli.

Operace s disky

Přidání nového disku - namapování LUNu

Na straně Windows serveru je tato operace velmi jednoduchá (hlavní práce se provádí na poli). Na diskovém poli vytvoříme LUN pro náš server (přiřadíme jeho IQN), na Windows Serveru jej pak pouze inicializujeme.

  • spustíme Disk Management
  • klikneme na Action - Rescan Disks
  • přidělený disk (Volume - LUN) by se měl zobrazit jako offline  a neinicializovaný
  • klikneme na něj pravým tlačítkem a zvolíme Online, poté Initialize Disk (vybíráme typ MBR nebo GPT)
  • pak již můžeme na disku vytvořit Volume (Partition)
Disk Management - Online

Nastavení MPIO pro LUN (disk)

Pokud máme diskové pole připojeno více cestami, a tedy namapovaný LUN, ke kterému vede více cest, tak můžeme nastavit využití těchto cest (Load Balancing Policy) a podívat se na detaily o připojení.

  • spustíme Disk Management
  • klikneme pravým tlačítkem na náš disk z pole (musíme klikat přímo na disk ne na volume, tedy vlevo, kde je napsáno Disk číslo) a zvolíme Properties
  • přepneme se na (novou) záložku MPIO
  • v položce Select the MPIO policy můžeme vybrat metodu pro Load Balancing (běžně se používá Round Robin With Subset)
  • vidíme jaký je použitý DSM a také jednotlivé cesty, které můžeme rozkliknout
MPIO disk Properties

Zvětšení velikosti disku (LUNu)

Nejprve provedeme změnu na diskovém poli a následně upravíme v OS.

  • spustíme Disk Management
  • klikneme na Action - Refresh
  • u disku bychom měli vidět rozšířenou část jako Unallocated
  • můžeme zvětšit náš oddíl pomocí Extend Volume nebo přidat nový
Disk Management - zvětšení disku
zobrazeno: 1416krát | Komentáře [6]

Autor:

Související články:

Computer Storage

Ukládání dat je v počítačovém světě rozsáhlá a komplexní problematika.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře

  1. [1] Martin P

    Tato stranka je skutocne uzasna a rad by som sa podakoval, pretoze je malo stranok ako tato, kde autor skutocne pise zrozumitelne. Velmi,ale skutocne velmi mi pomaha tato stranka a verim ze nie len mne. Author ma u mna minimalne pivko,alebo slivovicku v neobmedzenom mnozstve ;)

    Čtvrtek, 09.02.2017 05:10 | odpovědět
  2. [2] Honza

    Skvělý článek, mohl bych poprosit o vysvětlení jednotlivých typů MPIO policy?

    Čtvrtek, 09.02.2017 07:49 | odpovědět
  3. [3] marrtty

    Díky za článek!!!

    Čtvrtek, 09.02.2017 13:17 | odpovědět
  4. [4] Samuraj

    Děkuji za pozitivní reakce :-).

    Docela mne překvapil velký ohlas k tomuto článku (původně jsem nevěděl, jestli ho vůbec zveřejňovat). Tak jsem doplnil nějaké drobnosti, třeba ty MPIO policy. A na podobné téma přijdou další články.

    Čtvrtek, 09.02.2017 18:25 | odpovědět
  5. [5] Vrbik

    Super článek, děkuji!

    Úterý, 14.02.2017 01:10 | odpovědět
  6. [6] marrtty

    odpověď na [1]Martin P: ... pivko za článek ;-)

    Středa, 01.03.2017 11:00 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O


Ochrana proti SPAMu, zdejte následující čtyři znaky image code

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách