Microsoft iSCSI Software Target 3.3 QFE

O iSCSI pisalem wielokrotnie. Na przyklad tu, tu i tu. Mozna powiedziec, ze lubie ten protokól i choc wiem, ze nie zawsze jest idealnym wyborem – uwazam, ze warto przynajmniej wiedziec  jak dziala i kiedy dobrze sie sprawdzi. Dla typowego ITPro, najcenniejsza cecha iSCSI jest latwosc zastosowania w srodowiskach laboratoryjnych. Wykorzystanie "prawdziwej" macierzy nie zawsze jest osiagalne. A maszyne wirtualna z targetem iSCSI mozna uruchomic w kilka minut, nawet majac tylko kilka GB przestrzeni dyskowej na laptopie. To wystarczy do zbudowania testowego klastra, czy przecwiczenia rozwiazan bezdyskowych.

Historia dostepnosci programowego targetu iSCSI jest dosc ciekawa. Najpierw dostepny byl on wylacznie jako fragment Windows Storage Server. System ten dostepny byl jedynie jako OEM na wybranych serwerach i mimo, ze dosc ciekawy – w praktyce byl nieosiagalny dla typowego administratora. Podczas Summitu MVP w 2008 roku, grupa MVP praktycznie wymusila na odpowiedzialnych za ten system osobach udostepnienie go dla wybranców. Niedlugo pózniej, udalo sie wynegocjowac szersza dostepnosc, w ramach subskrypcji TechNet. Odtad, specjalisci IT mogli pobrac wersje instalacyjna tej edycji systemu wraz z instalatorem programowanego targetu iSCSI. Instalator ten mial jedna niemila ceche: weryfikowal, czy system operacyjny to edycja Storage Server. Tak wiec, dla potrzeb nawet najprostszego targetu iSCSI, w praktyce nalezalo uruchomic dedykowany system. Ewentualnie, mozna bylo uzyc programu ORCA udostepnianego w ramach Platform SDK i przeedytowac plik MSI. Nie bylo to rozwiazanie zgodne z licencja, ale potrafie zrozumiec tych, którzy uzywali go w srodowiskach laboratoryjnych. Nastepnie, w kwietniu 2011 opublikowana zostala wreszcie wersja "normalna". Mozliwa do zainstalowania na dowolnym serwerze i pozwalajaca na przyklad na zbudowanie malego klastra na laptopie wyposazonym w 2GB pamieci RAM. Wreszcie oficjalnie, bez kombinowania i naruszania warunków licencji.

Target iSCSI przechowuje swoje dane w plikach VHD. Format ten jest bardzo elastyczny i pozwala na rózne cuda takie jak dynamiczne przydzielanie miejsca czy tworzenie dysków róznicowych. Problem w tym, ze w przypadku programowego targetu iSCSI, dosc dlugo, jedynym obslugiwanym sposobem przechowywania danych byly dyski "fixed size". Ogranicza to czasem administratora i choc przestrzen dyskowa zwykle jest niedroga, to jednak niektóre scenariusze musialy byc mocno ograniczone ze wzgledu na to wymaganie.

I tu pojawia sie tytulowy Microsoft iSCSI Software Target 3.3. Jeszcze cieply, bo jego ostatnia wersja zostala opublikowana 24.03.2012. Najwazniejsza zmiana w wersji 3.3 jest mozliwosc wspólpracy z dyskami róznicowymi, przy czym nalezy miec swiadomosc, ze musza byc to dyski stworzone przez ten target a nie na przyklad przez interfejs Hyper-V. Tytulowy QFE (Quick Fix Enginnering, czyli po prostu hotfix) zapewnia "swiadomosc" Windows Server 8, poza tym nie wnoszac wiele znaczacych zmian. Tworzenie dysków róznicowych nie jest dostepne ani w GUI ani w PowerShellu, wiec wymaga drobnego tricku i zaprzagniecia do pracy WMI. Klasa WT_Disk ma dwie metody, z czego jedna brzmiaca dosc ciekawie: NewDiffWTDisk

wt_disk1

Dokumentacja niby jest, ale jakas taka niepelna... Mówi na przyklad, ze metoda dziala dopiero w Windows Server 8, ale to nie jest prawda. Na Windows Server 2008 R2 dziala równie sprawnie. Wystarczy wpisac (gwmi -namespace "root/wmi" -list "WT_Disk").NewDiffWTDisk("c:\2.vhd", "c:\1.vhd", "", $true) i dostaniemy dysk róznicowy dostepny przez iSCSI.

A gdzie róznicowe dyski przydaja sie w praktyce? Na przyklad w rozwiazaniach wykorzystujacych wirtualizacje. Tworzymy dysk, instalujemy na nim wzorcowa maszyne, koniecznie uruchamiamy sysprep, po czym chcac stworzyc nowa maszyne wirtualna, po prostu tworzymy dysk róznicowy i przez iSCSI podpinamy go tam, gdzie jest potrzebny. Otrzymujemy maszyny  zgodne ze wzorcem i zajmujace niewiele miejsca. Dodatkowo, czas powolania nowej maszyny do zycia mozna liczyc w sekundach. W klastrach mozna próbowac tworzyc podobne rozwiazania z wykorzystaniem CSV, ale nie wszedzie sa klastry i nie zawsze ten sposób jest dobry.

Tak wiec, niezaleznie od tego, czy komus targety jedza z reki, czy tez programowe iSCSI jest zupelna nowoscia – warto po najnowsza wersje siegnac. Umie niemalo i nieraz moze uproscic eksperymenty.

Autor: Grzegorz Tworek [MVP]

PS Jedna z zalet iSCSI jest mozliwosc szybkiego zbudowania taniego i dzialajacego rozwiazania. Nalezy jednak pamietac, ze budujac rozwiazanie pamieci masowej z tanich elementów dostaniemy "tani" rezultat. Ani wydajnosc ani niezawodnosc takiego systemu nie bedzie zachwycajaca. Wydaje mi sie nawet, ze samodzielne stworzenie dobrego produkcyjnego rozwiazania iSCSI jest trudniejsze i wcale niekoniecznie tansze niz zastosowanie profesjonalnej macierzy dyskowej. Tak wiec przed zastosowaniem programowego targetu iSCSI w rozwiazaniu produkcyjnym, warto dobrze sie zastanowic.