Archive

Posts Tagged ‘Virtuelizacija’

Oblak

June 3rd, 2009 1 comment

Ne, ne govorim o stratusima, stratokumulusima,  kumulusima i ostalim skupovima kapljica vode ili leda u našoj atmosferi. Sve popularniji termin u IT-u je tkz. cloud computing, ili ako prevedemo na naš jezik, hmm kako bi to uopšte preveli a da ima neko normalno značenje? Računari na oblacima možda? :) Kako sve češće pričam o Cloud computing-u, pa me sve češće pitaju o čemu to ja to dođavola govorim, rešio sam da napišem jedan kraći intro o toj temi (slobodno linkujte na ovaj tekst ako i vi imate sličnih pitanja).

Elem, definicija cloud computing-a (u daljem tekstu CC) bi bila nešto slično sledećem: CC je stil korišćenja računarskih resursa koji su dinamički skalabilni i često virtuelizovani, a koji pritom pružaju korisniku svoje resurse preko internet-a. Korisnici tih resursa ne moraju da poseduju znanje, ekspertizu ili kontrolu nad tom tehnologijom da bi je u potpunosti koristili.

Najčešći slučaj korišćenja CC-a je u slučaju kada posao zahteva on-line aplikacije kojima se pristupa putem web browser-a, dok se sama aplikacija i podaci nalaze na CC resursima tj negde na Internet-u. Termin Oblak (Cloud) se ovde koristi kao metafora za Internet, a što je bazirano na aktuelnom prikazu samog Internet-a na mrežnim diagramima i predstavlja abstrakciju veoma kompleksne infrastrukture koju sakriva.

Ko sve koristi CC? Naravno najveće IT kuće u svetu na prvom mestu: IBM, Amazon, Google, Microsoft, Yahoo itd. Pored njih, ovaj koncept počinju da primenjuju i neke od najvećih svetskih kompanija poput  General Electric i Procter & Gamble, koji nisu IT kuće jer shvataju velike prednosti koje CC nudi. Nekoliko domaćih firmi u Srbiji (verovali ili ne) koristi ove resurse aktivno već neko vreme.

Postoje 4 tipa CC-a.

  1. Javni – Resursi dostupni klijentima iz celog sveta, provajder CC-a naplaćuje resurse po sopstvenim cenovnicima za određene tipove usluga. Svako može da zakupi resurse.
  2. Privatni - Velike kompanije koje imaju potrebu za ovakvim vidom servisa za svoje interne potrebe kreiraju ovakav vid CC-a i ovaj tip nije moguće platiti tj iznajmiti. Dobar primer je recimo vojska ili gov. institucije.
  3. Hibrid – miks prethodna dva, delom javni delom privatni CC. Najčešći slučaj su privatne kompanije koje imaju višak resursa koji prodaju kako bi tako recimo isplatile svoje operativne troškove.
  4. Community – Nekoliko različitih organizacija (čitaj firmi) koristi iste CC resurse.

5 Osnovnih karakteristika CC-a:

  1. Po potrebi, tkz. self service
  2. Sveprisutni pristup resursima, bilo odakle, bilo kad
  3. Potražnja resursa nezavisno od lokacije na kojoj se nalazite
  4. Rapidna agilnost, što znači dinamička implementacija i deimplementacija resursa po potrebi korisnika
  5. Plaćanje po sistemu koliko potrošite resursa toliko plaćate, ni paru više od toga.

CC može isporučiti 3 modela servisa:

  • PaaS (Platform as a service) – Korisnik koristi hosting okruženje za njihove aplikacije. Sam korisnik kontroliše aplikacije koje se pokreću u tom okruženju, gde sam korisnik ima određena prava nad operativnim sistemom, ali nema potpuna prava nad operativnim sistemom, mrežom ili hardware-om koji ta aplikacija koristi.
  • SaaS (Software as a service) – Korisnik koristi neku aplikaciju, ali nema kontrolu nad samim operativnim sistemom na kome se vrti ta aplikacija, niti ima kontrolu nad hardware-om ili mrežom nad kojim se ta aplikacija oslanja.
  • IaaS (Infrastructure as a service) – Korisnik koristi sve resurse na sistemu ali nema uticaj nad cloud infrastrukturnim resursima nad kojim leži virtuelizovani hardware. Tačnije korisnik ima mogućnost direktnog upravljanja operativnim sistemom, procesorskom snagom, količinom memorije i prostorom na diskovima.

E sad, kako smo ovo sve lepo podelili i opisali, da napišem i neka 4 najčešća slučajeva (tkz. real life primeri) korišćenja CC okruženja:

  1. Hardware on Cloud – Virtuelni server koji radi u Cloud okruženju. Sam korisnik pokreće server, primenjuje i kontroliše aplikacije na istom. Po potrebi duplicira celu mašinu i pokreće još N instanci (koliko god da mu je potrebno). Ovo možemo porediti sa praktično serverom koji je u sobi pored nas, samo nije tu nego je negde na cloud-u (čitaj na Internet-u). Ista prava i privilegije važe, nema razlike sem u lokaciji.
  2. Disk drive on Cloud - Klasični storage uređaj, ali na Internet-u. Treba vam da smestite ogromnu količinu podataka negde i da ne razmišljate puno gde se to nalazi, da li je to bekapovano, itd. Sve što kasnije treba da znate jeste gde ste stavili sve te podatke. Podržani su različiti protokoli, i u zavisnosti od ugovora koji potpišete sa Cloud provajderom možete ih birati.
  3. Database on Cloud – Baza kojoj preko specifičnog query jezika možete pristupiti bilo odakle.
  4. Application on Cloud – Neki software, aplikacija koja funkcioniše potpuno identično kao da ste je instalirali na server u sobi pored vaše, samo što se server nalazi negde na Internet-u. Dobar primer za ovo su recimo Facebook aplikacije. Napravite aplikaciju, treba vam masivna snaga da to pustite na Facebook, pljusnete je na Cloud, plaćate određeni fee za ovu uslugu, i od zarade odbijete deo za to. Neki su zaradili lepe pare ovako, a pritom ne poseduju niti jedan jedni server u svom vlasništvu.

Naravno u celoj priči postoji 101 finesa, oko izrade celog projekta, testiranja, postavljanja i aktiviranja resursa, planiranih proširenja, ali o tome neki drugi put. Ovo je bio samo intro o Cloud computing-u. Za sva eventualna pitanja, sugestije ili kritike stojim vam na raspolaganju.

VIOS 2.1 gladan za memorijom

April 3rd, 2009 No comments

Ako koristite sve prednosti virtuelizacije na IBM P seriji koristeći VIOS-e do sada ste na starom 1.5.x.x VIOS-u mogli da se prošvercujete sa minimumom od 512MB memorije za neke manje i srednje opterećene sisteme. To sa novim VIOS-om 2.1 neće proći. Naime novi VIOS 2.1 zahteva da ima minimum 1GB memorije da bi isti mogao da se podigne uopšte. Po VIOS 2.1 Release Notes-u svaki LHEA (Logical Host Ethernet Adapter) port dodeljen VIOS serveru zahteva minimum 612MB memorije. I ne nisam pogrešno otkucao, za svaki port po 612MB memorije. I to nije sve. Na tu cifru (612MB) treba dodati još i osnovnu memoriju koju je VIOS 1.5.x.x do sada zahtevao što je 512MB. Evo primera, ako npr. imate dva (2) LHEA matematika je sledeća: 612MB x2 + 512MB = 1736MB RAM-a za jedan VIOS + isto toliko ako imate dual VIOS setup. Na to dodajte i oko minimum 16GB prostora na diskovima za instalaciju VIOS-a. Ako ne prosledite dovoljnu količinu memorije VIOS će se “zaglaviti” tokom boot procesa odmah posle instalacije. Čini se da IBM misli da memorija za P seriju nikad nije bila jeftinija. Doduše nisam siguran da će VIOS 2.1 ući u produkciju kod ljudi koji još uvek vrte 1.5.x.x u nekom bližem periodu. Ko nije uzeo skoro P6 mašinu sa licencama za VIOS mislim da neće prelaziti na 2.x VIOS ako baš ne bude morao.

VMware mobile virtuelizacija

March 24th, 2009 No comments

VMware je prikazao svoju novu mobilnu platformu za virtuelizaciju koja vam omogućava da na svom mobilnom telefonu pokrenete 2 operativna sistema (na video snimku se vidi kako demonstrator pokreće Window$ CE i Google Android na istom telefonu). Iako je u pitanju preveliki i nimalo praktični Nokia N800 (da ne kažem cigla), prikaz njihovog hypervisor-a i nove tehnologije je itekako zanimljiv.

Ovo bi generalno trebalo da znači da u budućnosti možemo da očekujemo jednostavnu migraciju svog radnog okruženja (operativnog sistema) sa jednog na drugi mobilni telefon.Više detalja na originalnom članku koji je preneo ITPro časopis.

IBM Ensembles

March 24th, 2009 No comments

Virtuelizacija postaje više nego trendi proteklih meseci. Veliki igrači poput Micro$oft-a, Citrix-a, VMWare-a, SUN-a i Cisco-a (koji se među poslednjima uključio), govore o potpunoj virtuelizaciji x86 platforme. Sada se najviše priča o tkz. VDOS-ima (Virtual Datacenter Operating System), i potpunoj virtuelizaciji na nivou data centra. Međutim svedoci smo da IBM (koji je izmislio virtuelizaciju u IT svetu) praktično tihuje, i osim na polju P serije i SVC-a ništa ili vrlo malo radi na virtuelizaciji, ili smo barem tako mislili. U poslednje vreme šuška se u Austin-u (USA Texas) o novom projektu koji se bliži kraju. Zovu ga IBM Ensembles (New Enterprise Data Center initiative). Njegova definicija ovog po IBM-u je: “Pool of like systems that is manageable as a single system”.

Glavne komponente ovog sistema bi trebalo da budu:

  1. Pool kompatibilnih sistem nodova (N fizičkih servera koji ne moraju da budu homogenog tipa)
  2. Virtualni resursi sa mogućnošću mobilnosti preko svih platformi (nodova)
  3. Virtuelizovani mrežni switch za interkonekciju Esembles nodova
  4. Virtualizatori resursa (u nedostatku boljeg prevoda) – hypervizori, I/O virtuelizatori itd.
  5. Esemble menadžment platforma (konzola) za fizičke i virtuelne Esembles resurse
  6. Lokalni Esembles software za optimizaciju, performanse, iskorišćenost energije (green stuff), bezbednost sa inteligentnim podešavanjima (čitaj profilima)
  7. Multi sistem servisi (lokovanje, keširanje, queue-ing …) koji će biti integrisani sa nekim Esemble nodovima (čitaj koji to budu podržavali)

Migracija virtuelnih mašina uživo sa jednog servera na drugi je ključna opcija, pogotovu kada data centri sve više koriste virtuelizaciju i postavljaju kritične aplikacije na virtuelne servere. IBM je podržao ovu vrstu migracije na Power 6 arhitekturi negde u maju 2007 godine, i ova tehnologija će igrati ključnu ulogu zajedno sa SVC-om u Esembles sistemu. Iako nova Power 7 arhitektura treba da se pojavi tek 2010-te godine već sada se govori o novim mogućnostima deljenja memorije i I/O-a (!) među serverima (po istom principu po kome se to radi sada između LPAR-ova). Deo ovoga već sada može da se vidi u beta verziji i zove se IBM Active memory Shareing.

Sve u svemu, naredne 2 godine će definitivno biti zanimljive po pitanju virtuelizacije i IBM-a. Do sada su naši menadžeri vikali “konsoliduj, konsoliduj…” “agregiraj agregiraj …” a sada će vikati “moramo da smanjimo kompleksnost naših sistema … ” “virtuelizuj, virtuelizuj…”.

Aix virtuelni diskovi

March 19th, 2009 No comments

Virtuelizacija, prošlost i sadašnjost

Modam da priznam da sam davno bio vrlo skeptičan kada je virtuelizacija u pitanju. Sećam se kada je ceo bum oko konsolidacije resursa u data centrima počela da “buja” u inostranstvu pojavom aplikacija poput vmware-a, xen-a i ostalih tu negde oko 1999-te ili 2000-te. Da budem iskren daleko od toga da neke od vidova primitivne virtuelizacije do tada nisam koristio, pa praktično da nije bilo servera koji još davnih 90-tih godina nisam bio chroot-ovao (linux) ili jail-ovao (fbsd), o Ensim-u da i ne govorim. Ali naravno to (izolacija dela fajl sistema) ne može ni približno da se poredi sa današnjim alatima za virtuelizaciju ne samo operativnog sistema već celokupnog hardware-a. Ako se dobro sećam mislim da je IBM još davnih 60-tih godina radio na projektu M44/44X koji je u konceptu bio okrenut ka nekoj vrsti primitivne virtuelizacije podržane od strane hardware-a, u neku ruku deljenjem memorije itd. Tako da sama virtuelizacija je prisutna već zaista dugo u IT-u, samo nije bila toliko rasprostranjena i korišćena (ne računam mainframe to je ipak liga za sebe). Tih godina bilo mi je itekako interesantno da se igram sa vmware-om u cilju testiranja raznih aplikacija ili samih operativnih sistema bez bojazni da ću nešto da spržim ili onesposobim, jer za mene su vmware, vbox, xen i ostali alati tog tipa bili i ostali idealni alati za testground. Danas smo svedoci da se virtuelizacija primenjuje svuda, a među poslednjima ulazi i veliki Cisco sa svojom vizijom blade servera i virtuelizacijom celokupnog data centra.

AIX virtuelizacija

IBM je sa derivatom AIX-a u vidu tkz. VIOS (virtual i/o server) i debelom pordrškom hardware-a zaista kreirao solidnu platformu za virtuelizaciju. Kreiranjem particija (LPAR,DLPAR…) na IBM pSeriji dobijate različite mogućnosti virtuelizacije hardware-a koji posedujete. Ako se odlučite da maksimalno iskoristite hardware koji vam je na raspolaganju, trebali bi da se odlučite za kreiranje VIOS redudantnog okruženja (podrazumeva kreiranje 2 VIOS servera) kojima dodeljujete kompletan fizički hardware koji taj server poseduje. Naravno da bi ste ovo mogli da koristite morate da imate licencu za PowerVM od strane IBM-a i da imate dovoljno hardware-a u samoj mašini. Kada gledate IBM Power hardware nemojte uopšte praviti poređenje sa PC hardware-om, tipa ima manje GHz ili pa BUS na mom kućnom (nabudženom) kompu radi brže itd. To jednostavno ne može da se poredi jer su u pitanju potpuno različite arhitekture. Elem, da se vratim na temu virtuelizacije. Kada ste VIOS serverima dodelili sav hardware iz vaše mašine (podela kojem VIOS serveru ide koji hardware je izuzetno važna), počinje prava igranka. Kreiranje novih DLPAR-ova sada ide preko VIOS servera koji im dodeljuju virtuelne uređaje. Znači novi DLPAR će dobiti virt. procesor, virt. memoriju, virt. eth, virt. diskove itd. Prava zajebancija je u tome da novokreirani DLPAR dobije tkz. multipath koristeći oba VIOS servera za svoje I/O uređaje. Ovime dobijate potpunu redudantnost jedne instance koja sada može da dobija resurse preko dve putanje. Za potrebe IBM skupa pod temom “Preporučeni hardware za SAPgde sam držao prezentaciju pod nazivom: “IBM Customer story – DELTA M Transition to enterprise” napravio sam sledeću ilustraciju koja, čini mi se lepo ilustruje ovo o čemu sam govorio u tekstu iznad:

Kao što se vidi na ilustraciji, prostor se uzima sa nekog SAN-a preko FC-a, zazim se preko fizičkog hardware-a koji kontrolišu VIOS-i (tačnije Hypervisor, ali o tome neki drugi put), virtuelizovani hardware (u ovom slučaju diskovi) prosleđuju DLAPR-ovima koji imaju po 2 SCSI kontrolera koji vide neki prostor preko 2 putanje, što zovemo multipathing (MPIO).

Kako to izgleda u AIX-u multipath (2):

# lspath
Enabled hdisk1 vscsi0
Enabled hdisk1 vscsi1
Enabled hdisk0 vscsi0
Enabled hdisk0 vscsi1
# lsattr -El hdisk0
PCM             PCM/friend/vscsi                 Path Control Module        False
algorithm       fail_over                        Algorithm                  True
hcheck_cmd      test_unit_rdy                    Health Check Command       True
hcheck_interval 60                               Health Check Interval      True
hcheck_mode     nonactive                        Health Check Mode          True
max_transfer    0x40000                          Maximum TRANSFER Size      True
pvid            00c4a37f07f270fd0000000000000000 Physical volume identifier False
queue_depth     3                                Queue DEPTH                True
reserve_policy  no_reserve                       Reserve Policy             True

Na VIOS-a multipath (4):

DEV#:   1  DEVICE NAME: hdisk1  TYPE: 2107900
SERIAL: XXXXXXXXXXXX
==========================================================================
Path#      Adapter/Path Name          State     Mode     Select     Errors
    0           fscsi0/path0           OPEN   NORMAL    3990063          0
    1           fscsi0/path1           OPEN   NORMAL    3946001          0
    2           fscsi1/path2           OPEN   NORMAL    3949402          0
    3           fscsi1/path3           OPEN   NORMAL    3942870          0

Algoritam multipath-a može biti failover ili round_robin za diskove. U režimu failover-a sav I/O se šalje preko jedne predefinisane putanje. Ovaj algoritam čuva informaciju o definisanim putanjama prema redosledu koji je opisan u ODM-u. Ako se putanja kojom se salje I/O prekine ili prebaci u status disabled, automatski sledeća definisana putanja postaje aktivna. Ove opcije se kofnigurišu preko path_priority opcije. U režimu round_robin algoritam distribuira I/O preko svih definisanih i enable-ovanih putanja. Prioritet putanje se određuje takođe preko path_priority opcije. Ukoliko neka putanja pređe u režim failed ili disabled taj path se više ne koristi za slanje I/O-a već se prelazi na prvu sledeću definisanu putanju. U tom slučaju se preračunava procenat I/O-a koji će biti distribuiran preko ostatka putanja koje su dostupne. Praćenje rada failover-a u toku recimo prekida jedne putanje može se videti na sledeći način:

Na slici iznad prikazao sam kako izgleda testiranje pada jedne putanje, čiji prekid sam izazvao jednostavnim otkačinjanjem fiber optičkog kabla sa FC kartice. U trenutku prekida aktivno je bilo upisivanje podataka na traženi disk (klikni na link za sliku).

Prednosti virtualizacije

Ako je virtuelizacija podržana od strane hardware-a, onda su prednosti mnogobrojne. Za početak drastično smanjenje downtime-a, lakoća prilikom modifikacije samog DLPAR-a u vidu dodavanja ili oduzimanja (heh, ovo bi voleo da vidim da mi moji DBA traže) resursa (procesora, memorije ili diskova). Kada ovakvom (da ne kažem idealnom) produkcionom okruženju pridodate i AIX-ov LVM, onda stvari postaju prava pesma. Naravno kad sve prethodno dobro iskonfigurišete, istestirate i proverite. Pored toga kreiranje virtuelnog okruženja omogućuje konsolidaciju resursa kojim raspolažete, dobijate idealno sandbox test okruženje (meni nekako lepše zvuči testground), tu je i mogućnost pokretanja starih tkz. legacy aplikacija na starijim operativnim sistemima zarad potreba tranzicije na nova okruženja, virtuelizacija vam omogućava i lakšu migraciju kako resursa tako i celokupnih radnih (ili testnih) okruženja itd.

… i mane

A mane? Pa jedna od mana je što planiranje, konfiguracija i dokumentovanje svega što radite na ovakvom sistemu zahteva prilično vremena. Poznavanje rada ovakvog sistema zahteva brojne obuke, mnogo sati za konzolom i prethodno iskustvo u radu sa unix operativnim sistemima. Naravno uvek može da se uradi i na “oruk” fazon, ali rezultati onda budu, pa veoma problematični.

Eto, toliko o AIX virtuelizaciji diskova, u narednom periodu objaviću još nekih tekstova na ovu temu. Znam da nas u Srbiji ima jako malo, ali to nije razlog da ne napišem ovakav tekst na našem jeziku.