Archive

Posts Tagged ‘virtual’

Par trikova na VIOS-u 1.5

June 9th, 2009

Jedna od novina koju je uveo VIOS ver. 1.5 je i mogućnost kreiranja virtuelnih scsi uređaja (hard disk ili optička medija) od regularnog fajla. Ova nova vrsta virtuelnih uređaja pruža veću fleksibilnost administratoru prilikom kreiranja i dodeljivanja resursa klijentima. U nekim slučajevima, ovakav vid konfiguracije (ukoliko se naravno ispravno iskonfigurišu svi parametri) može doprineti bržem pristupu ovim virtuelnim diskovima, što recimo može poslužiti prilikom instalacije ili restore-a klijenta.

Kreiranje ovakvih virtuelnih diskova je relativno jednostavno. Prvo definišete tkz. storage pool u VIOS-u koji sadrži fajlove koje želite da proglasite virtuelnim diskovima. Ovde dolazi do izražaja poznavanje rada LVM-a u AIX-u jer pogrešnom konfiguracijom možete degradirati performanse značajno. LVM dolazi “preko” ovih virtuelnih diskova koji su u stvari fajlovi, recimo na nekom brzom SAN-u, pa je bitno odabrati prave parametre prilikom particionisanja i konfigurisanja samo LVM-a. Bitno je napomenuti da IBM ne preporučuje kreiranje rootvg-a preko ovih virtuelnih uređaja (koji se baziraju na fajl-ovima). Kreiranje storage pool-a koji sadrži ovakav tip fajlova se vrši komandom mksp -fb unutar VIOS okruženja (padmin). Za kreiranje budućih virtuelnih disk fajlova koristi se komanda mkbdsp (obavezno pročitajte celokupan manual page za ovu komandu pre korišćenja). Za kreiranje virtuelnih optičkih diskova (čitaj cd/dvd-a) koristi se standardna mkvdev komanda sa opcijom -fbo. Virtuelni cd/dvd može se kasnije prebaciti u VMR (Virtual Media Repository) pa samim tim isti se može share-ovati kroz VIOS, a zahvaljujući tome što je u pitanju fajl a ne pravi cd/dvd uređaj, performanse za instalaciju recimo će biti drastično bolje. Idealna zamena za one koji nisu digli NIM za instalaciju recimo, ili nemaju gigabitni lan (u šta sumnjam al ajde). Da bi ste prebacili fajl u VMR koristite komandu mkvopt, a za aktiviranje tj “ubacivanje medije” koristimo komande loadopt i unloadopt. Ako vam je potrebno da kreirate bootabilni ISO fajl iz AIX-a čiji image hoćete da prebacite u VIOS VMR koristite regularnu komandu mkcd, (za DVD dodajte i flag -L). Kreiranje bootabilnog image fajla sa postojećeg CD-a recimo bi izveli ovako:

mkcd -r /cdrom -S -L -I /isoimgs

Ako ste ikad koristili mksysb komandu onda pretpostavljate da se i ona može iskoristiti u ovakvom okruženju. Procedura je vrlo slična, primer je mislim dat u man-u od mksysb komande.

Luka Gerzic AIX, Virtuelizacija , , , , , , , ,

Oblak

June 3rd, 2009

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.

Luka Gerzic Virtuelizacija , , , , , ,

Aix virtuelni diskovi

March 19th, 2009

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.

Luka Gerzic AIX, Virtuelizacija , , , , , , , , , , , ,