iSCSI Target on Windows Core

Czytając niniejszego bloga powszechnie wiadomo jaki mam stosunek do serwerów w wersji Core, a w szczególności do obecnie najnowszej wersji Windows Server 2008 R2 – głównie z racji natywnej obsługi PowerShella. Wracając jednak do tematu, gdy ostatnio przyszło mi się pobawić Microsoft iSCSI Target 3.3 byłem wielce zawiedziony. Pomimo, iż jest pełne wsparcie z poziomu PawerShella to sama wersja oprogramowania nie jest wspierana dla tych właśnie systemów.

Niemniej jednak uważam, że w informatyce nie ma rzeczy niemożliwych – a jedynie czasem trudnych do wykonania :). Dlatego i w tym przypadku da się nieco obejść tą blokadę.

Zanim jednak przejdę do meritum sprawy, musimy zgromadzić wymagane oprogramowanie i narzędzia. Głównym elementem jaki będziemy wykorzystywali jest narzędzie Orca wchodzące w skład pakietu Windows SDK.

Instalujemy w/w SDK z uwzględnieniem narzędzi developerskich (Developer Tools) i przechodzimy do zainstalowania paczki C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\Orca.Msi

Wyodrębniamy paczkę iscsitarget.msi z pakietu Windows Storage Server 2008 R2 dostępnego np. z zasobów MSDN czy TechNet i otwieramy go za pośrednictwem narzędzia Orca.

Odnajdujemy tabelę LunchCondition i usuwamy wartość IsSupportedSKU = „1”.

Następnie przechodzimy w menu do pozycji Tools->Options->Database, i upewniamy się czy pozycja “Copy embedded streams during “Save As”” zest zaznaczona.

Jeśli nie to zaznaczamy ją, klikamy OK. Następnie używamy opcji „Save as” i zapisujemy całość np. jako iscsitarget_core.msi.

Tak spreparowaną paczkę instalujemy na serwerze.

Z racji, iż posiadamy server Core dlatego nie mamy dostępu do graficznych narzędzi zarządzania w/w usługą. Można się jednak posłużyć dołączonym mudułem dla PowerShell’a.

Get-Module –ListAvailable
Import-Module MicrosoftIscsiTarget
Get-Command -module MicrosoftIscsiTarget

Pierwszą rzeczą jaką zrobimy to dodamy nowy target.

New-IscsiServerTarget –TargetName "MyTarget" –InitiatorId IQN:iqn.1991-05.com.microsoft:cl1.cds.pl –ComputerName core.cds.pl

Następnie tworzymy wirtualny dysk.

New-IscsiVirtualDisk c:\MyDisk.vhd –Size 500MB

Ostatnią rzeczą jaką wykonujemy na serwerze to powiązanie dysku wirtualnego z naszym targetem.

Add-VirtualDiskTargetMapping –TargetName "MyTarget" –DevicePath "C:\MyDisk.vhd"

I sprawdzamy czy poprawnie powiązano dysk – parametr LunMapping.

Get-IscsiServerTarget

Praktycznie to już wszystko jeśli chodzi o konfigurację iSCSI na serwerze Core. Dla sprawdzenia poprawności działania przechodzimy na w/w maszynę, do której podepniemy nasz utworzony dysk iSCSI. Łączymy się przy pomocy iSCSI Initiator do serwera i podłączamy nasz wirtualny dysk.

Jak widzimy operacja zakończyła się sukcesem gdyż w panelu Disk Management dodano nowy dysk.

PS. Rozwiązanie to zostało zaprezentowane tylko i wyłącznie do celów edukacyjnych. W normalnym środowisku nie zalecam stosowania go, gdyż nie jest one wspierane.

Źródła:
http://msdn.microsoft.com/en-us/windows/bb980924
http://blogs.technet.com/b/josebda/archive/2010/09/29/powershell-cmdlets-for-the-microsoft-iscsi-target-3-3-included-in-windows-storage-server-2008-r2.aspx

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s