Archive

Posts Tagged ‘xen’

Red Hat 5.4

September 5th, 2009 No comments

Izašla je nova verzija popularnog Red Hat Enterprise Linux 5.4 . Glavna novina u novoj verziji je svakako implementirana podrška Kernel-based Virtual Machine (KVM) hipervizora na x86_64 platformi. KVM je čedo Izraelske kompanije Qumranet koju je kasnije kupio Red Hat. Popularnost KVM-a drastično je porasla od momenta kad je isti postao integralni deo Linux Kernel-a, što se dogodilo od verzije Linux Kernel-a 2.6.20. KVM podržava kako Intel VT tehnologiju tako i AMD-V i trenutno su podržane Linux i FreeBSD host platforme. U ovom momentu KVM dolazi kao kernel modul, međutim najavljeno je da će isti uskoro dobiti svoju sopstvenu syscall funkciju direktno unutar samog Linux kernel-a. Iako je KVM prevashodno fokusiran na x86 platformu, trenutno se rade portovi za S390, PowerPC i IA64 platforme. Sam po sebi KVM ne vrši emulaciju, već user-space program koristi /dev/kvm interfejs kako bi podesio adresni prostor za guest operativni sistem što je jedan od razloga njegove uske povezanosti sa QEMU-om. KVM je integralni deo Linux Kernel-a i nije ga moguće koristiti u paru sa XEN virtuelizacijom, i za jedan i za drugi morate koristiti poseban kernel. KVM virtuelizacija omogućava i 32 i 64 bitne verzije guest operativnog sistema bez ikakvih modifikacija nad istim u isto vreme. Od novina tu je i USB passtrough, međutim RH to smatra Technology Preview (TP) opcijom.

U novoj verziji izmene su usledile na etherboot paketu koji je dodat uz ovaj update, a omogućiće vam podizanje guest virtuelnih mašina preko Preboot eXecution Environment (PXE) protokola. Sam proces se odvija pre nego što je sam operativni sistem učitan tako da u određenim situacijama sam operativni sistem nema saznanja da je podignut preko PXE-a. Etherboot je limitiran na upotrebu uz KVM. Od novina tu je podrška za fencing (fencing je diskonektovanje nod-a sa klasterovanig zajedničkog storage-a, prilikom rada u klaster režimu) za IBM Power seriju koja je dodata, ali kao TP opcija za sve LPAR-e koji se kontrolišu preko HMC-a. Dodata je i podrška za Generic Receive Offload (GRO) i u samom kernelu i u userspace-u tj u alatu ethtool. GRO bi trebao da smanji opterećenje CPU-a prilikom dolazećih mrežnih konekcija i time poboljša performanse prilikom heavy duty saobraćaja. GRO koristi identičan princip rada kao i Large Receive Offload (LRO) sistem ali može biti primenjen na širi opseg transport protokola. Pored toga GRO podrška je pridodata i drajverima nekih popularnih mrežnih adaptera (npr. Intel Gigabit Ethernet Adapter). Još od 2007-e pominju se drastična poboljšanja prilikom korišćenja ove tehnike.

RH 5.4 u segmentu podrške fajl sistemima donosi nekoliko značajnih novina. RH sada sadrži i FUSE (Filesystem in Userspace) kernel module i korisničke alate, što omogućuje korisnicima da instaliraju sopstveni FUSE fajl sistem na RH kernelu. Pored toga dodata je podrška za XFS fajl sistem ali u TP modu. Ažuriran je CIFS (čitaj ispravljeni bug-ovi) a novina je i ext4 koji je takođe u TP modu.

Sve u svemu dosta novina, naravno i novih grešaka koje su se “provukle”. Kao što se vidi iz novina i izmena koje je RH uveo, očigledno je da se sve okreće ka i oko virtuelizacije, grid i cloud computeing-u, a na nama je da to sve probamo, testiramo i implementiramo.

Categories: Linux/BSD Tags: , , , , , , , ,

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.