Archive

Posts Tagged ‘AIX’

ibm skraćenice – terminologija

October 22nd, 2009

IBM je poznat po tome da poseduje svoju terminologiju i skraćenice za iste stvari za koje drugi proizvođači koriste standardne nazive. Ovo je (delimični) spisak tih skraćenica koji ću vremenom proširivati kako mi koja skraćenica “padne pod ruku”. Deo skraćenica nije IBM-ov ali ih isti često koristi pa su i one navedene.

  • AIX – Advanced Interactive Executive (IBM’s implementation of the UNIX Operating System)
  • DASD – Direct Access Storage Device. (IBM’s term for a hard disk)
  • DDM – Disk Drive Module (IBM’s term for a hard disk)
  • RISC – Reduced Instruction Set Computer
  • HMC – Hardware Management Console
  • SPNC – System Power Control Network
  • MCM – Multi Chip Module
  • DCM – Dual Chip Module
  • CEC – Central Electronic Complex
  • CPC – Cluster Processor Complex
  • ASMI – Advanced System Management Interface
  • WebSM – Web based System Manager
  • PPAR – Physical Partition
  • LPAR – Logical Partition
  • LIC – Licensed Internal Code
  • LMB – Logical Memory Block
  • DLPAR – Dynamic Logical Partitioning
  • WPAR – Workload Partition
  • NIM – Network Installation Manager
  • BOS – Base Operating System
  • POST – Power on Self Test
  • SMIT – System Management Interface Tool
  • LPP – Licensed Program Products
  • ODM – Object Data Manager
  • RSPC – PowerPC Reference Platform
  • CHRP – Common Hardware Reference Platform
  • BLV – Boot Logical Volume
  • LVM – Logical Volume Manager
  • VGDA – Volume Group Descriptor Area
  • VGSA – Volume Group Status Area
  • LVCB – Logical Volume Control Block
  • HACMP – High Availability Cluster Multi-Processing
  • MWC – Mirror Write Consistency
  • SRC – System Resource Controller
  • NDAF – Network Data Facillity
  • LMT – Lightweight Memory Trace
  • RTEC – Real Time Error Checking
  • VMM – Virtual Memory Manager
  • IPC – Inter Process Communication
  • PSMD – Page Size Management Daemon
  • MPIO – Multi Path IO
  • PCM – Path Control Module
  • FFDC – First Failure Data Capture
  • HPM – Hardware Performance Monitor
  • PURR – Processor Utilization Resource Register
  • SPURR – Scaled Processor Utilization Resource Register
  • MLS – Multi Level Security (Trusted AIX)
  • APAR – Authorized Program Analysis Report
  • CKD – Count Key Data (zSeries)
  • DFSMS – Data Facility Storage Management System
  • ESCON – Enterprise System Connection
  • EPO – Emergency Power Off
  • FICON – Fibre Channel Connection
  • FC-AL – Fibre Channel Arbitrated Loop
  • FRU – Field Replaceable Unit
  • GDPS – Geographically Dispersed Parallel Sysplex
  • HCD – Hardware Configuration Data
  • IML – Initial Microcode Load
  • IPL – Initial Program Load
  • LSS – Logical Sub System
  • MAP – maintenance analysis procedure
  • MLC – Machine Level Control
  • MRPD – Machine Reported Product Data
  • MES – miscellaneous equipment specification
  • MTBF – mean time between failures
  • SDD – Subsystem Multipathing Device Driver
  • VPD – Vital Product Data
  • WWNP – worldwide port name
  • WWNN – worldwide node name

Luka Gerzic AIX, IBM P Serija, Storage , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

AIX bash

October 15th, 2009

Default shell pod AIX-om ume ponekad da bude kontra produktivan, pogotovu ako ste navikli na neke prečice koje ste do sad koristili. Evo kratkog uputstva kako da namestite bash pod AIX-om.

Najbolje bi bilo da instalirate AIX Linux Toolkit koji ste dobili uz AIX, ali ako isti nemate nije problem. Pakete možete skinuti sa sledeće lokacije: ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/. Zvanični info o IBM AIX Linux Toolkit-u možete pronaći na zvaničnom IBM sajtu. Ono što nama treba su 2 paketa iz sledećih direktorijuma:

ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/bash/

ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/coreutils/

Posle instalacije RPM paketa, potrebno je izmeniti sledeće:

u direktorijumu /etc/security izmenite fajl login.cfg tako da sadrži sledeće:

default:
        sak_enabled = false
        logintimes =
        logindisable = 0
        logininterval = 0
        loginreenable = 0
        logindelay = 0

usw:
        shells = /bin/sh,/usr/bin/bash,<itd ...>
        maxlogins = 32767
        logintimeout = 60
        auth_type = STD_AUTH

Zatim izmeni shell za korisnika root (ili već ko želi bash shell):

# lsuser -a shell root
 root shell=/usr/bin/ksh
# chuser shell=/usr/bin/bash root 
# lsuser -a shell root
 root shell=/usr/bin/bash
# echo "alias ls='/usr/linux/bin/ls --color'" >> ~/.profile

I to je to, nameštanje prompt-a i ostalih bash zezalica prepuštam vama. Sa ovim ste dobili radni bash shell, i “obojene” direktorijume kao na linux konzoli.

Luka Gerzic AIX , , , , , ,

Konsolidacija nmon izveštaja

May 19th, 2009

U Aprilu sam napisao kratak uvodni tekst o NMON alatu i njegovim mogućnostima. Kao što znate izveštaj koji NMON može da generiše možete prebaciti uz malo muke u excel i tamo analizirati podatke, kreirati pite i grafikone za neku fensi prezentaciju. Međutim tada su neki postavili pitanje kako ubaciti izveštaje sa više različitih sistema (LPAR-a) i objediniti te podatke. Taj problem se rešava sa alatom koji se zove NMON Consolidator. U pitanju je set skripti koji će vam olakšati posao konsolidacije ovih podataka na jedno mesto. Naravno sve to možete potpuno automatizovati. Napomena je da iako je NMON podržan od strane IBM-a, i za njega sada možete dobiti zvaničnu IBM podršku, ovaj alat nema isti status, te ste prepušteni sebi ukoliko ga koristite.

Luka Gerzic AIX , , , ,

AIX 5.3 LVM intro, deo 1

April 26th, 2009

S obzirom da ima malo stručne literature na našem jeziku rešio sam da napišem par tekstova iz različitih oblasti AIX-a na srpskom. Nažalost, nemam mnogo slobodnog vremena, pa ću tekstove  uglavnom pisati iz delova, koje ću objavljivati na svom sajtu kako koji stignem da napišem. Ako se u međuvremenu pojave neke vesti ubacivaću ih između. Vrlo je moguće da ću starim tekstovima koje objavim dodavati slike (grafikone, tabele i crteže) kad ih budem uradio kasnije, pa proverite s vremena na vreme da nešto nije update-ovano u međuvremenu. Prvi tekst je na temu AIX LVM-a.

LVM (Logical Volume Manager) pod AIX-om je skup alata za kreiranje, modifikovanje, brisanje i kontrolu logičkih segemenata (logical volumes). LVM kontroliše disk resurse mapirajući fizičke diskove u logičke celine koristeći specializovane drajvere “iznad” tradicionalnih device drajvera samih fizičkih uređaja (u ovom slučaju hard diskova, u IBM terminologiji nazvani DASD’s tj. Direct Access Storage Devices).  Logički segmenti koje kreira LVM se eksportuju aplikativnom segmentu, i oni su potpuno nezavisni u odnosu na fizičku disk strukturu ispod.

Svaki individualni hard disk se pod AIX-om naziva Physical Volume (PV) i njegovo sistemsko ime je /dev/hdiskX (gde je X unikatni redni broj diska u sistemu). Svaki PV se dodeljuje Volume Grupi (VG) osim ukoliko se taj disk ne koristi kao RAW device ili kao SPARE disk (uglavnom nazvan HOT SPARE). Svaki PV je podeljen na tkz. Physical Partitions (PP) jednake fiksne veličine za zaj PV. Veličina PP-a zavisi od veličine samog PV-a.

Detaljan prikaz jednog PV-a (diska):
$ lspv hdisk0
PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg
PV IDENTIFIER:      00c4a37f07f270fd         VG IDENTIFIER     00c4a37f00004c000000011787d7173d
PV STATE:           active
STALE PARTITIONS:   0                        ALLOCATABLE:      yes
PP SIZE:            64 megabyte(s)           LOGICAL VOLUMES:  10
TOTAL PPs:          799 (51136 megabytes)    VG DESCRIPTORS:   2
FREE PPs:           44 (2816 megabytes)      HOT SPARE:        no
USED PPs:           755 (48320 megabytes)    MAX REQUEST:      256 kilobytes
FREE DISTRIBUTION:  00..00..00..00..44
USED DISTRIBUTION:  160..160..159..160..116

LVM na identičan način tretira Redundant array of Independent Disk (RAID) disk polje (kao i bilo koji drugi disk). RAID polje koje sadrži veći broj diskova (u zavisnosti od tipa RAID-a) se tretira kao 1 disk. Prilikom instalacije AIX-a, sam AIX će po default-u automatski kreirati VG pod nazivom rootvg na koji će smestiti svoj operativni sistem. Budući PV-i mogu biti dodavani ovoj VG-i ili se mogu ubaciti u novu VG-u. Bitno je napomenuti da postoje neka pravila:

  • VG-a može sadržati 1 ili više PV-a
  • Isti PV se ne može deliti u više VG-a
  • Ceo PV postaje deo VG-e kada se isti pridoda VG-i
  • LVM-a ne zanima veličina PV-a oni mogu biti različite veličine

Kako bi AIX razlikovao PV-e, istim se dodeljuje tkz. Physical Volume ID (PVID). PVID možemo posmatrati kao neku vrstu serijskog broja koji se generiše tako što se kombinuje serijski broj mašine (koji se nalazi u EPROM-u) sa preciznim vremenom kreiranja samog PVID-a. PVID se zajedno sa sistemskom lokacijom (/dev/hdiskX) ubacuje u ODM. Prilikom podizanja sistema, disk konfigurator proverava PVID vrednost na disku sa PVID-em u ODM-u, ako se vrednosti podudare, disk dobija sistemsku lokaciju (/dev/hdiskX) i sam PV je spreman za upotrebu. Postoje određeni slučajevi kada se koriste dummy uređaji i kada se zbog okruženja PVID drugačije konfiguriše (primer su HACMP okruženja).

Prikaz PV-a na sistemu:
$ lspv
hdisk1          00c4a37f07f2a372                    dvg             active
hdisk0          00c4a37f07f270fd                    rootvg          active

Kada dodamo PV u VG, PV se deli na kontinuinalne segmente identične veličine koje nazivamo Physical Partitions (PP). PP je najmanji segment prostora koji se može alocirati.

Prikaz distribucije PP-va unutar hdisk0 PV-a:
$ lspv -p hdisk0
hdisk0:
PP RANGE  STATE   REGION        LV NAME             TYPE       MOUNT POINT
  1-1     used    outer edge    hd5                 boot       N/A
  2-160   used    outer edge    podaci              jfs2       N/A
161-168   used    outer middle  hd6                 paging     N/A
169-213   used    outer middle  podaci              jfs2       N/A
214-293   used    outer middle  hd1                 jfs2       /home
294-320   used    outer middle  hd3                 jfs2       /tmp
321-321   used    center        hd8                 jfs2log    N/A
322-322   used    center        hd4                 jfs2       /
323-341   used    center        hd2                 jfs2       /usr
342-342   used    center        hd9var              jfs2       /var
343-343   used    center        hd3                 jfs2       /tmp
344-344   used    center        hd1                 jfs2       /home
345-346   used    center        hd10opt             jfs2       /opt
347-426   used    center        hd2                 jfs2       /usr
427-479   used    center        hd3                 jfs2       /tmp
480-639   used    inner middle  podaci              jfs2       N/A
640-755   used    inner edge    podaci              jfs2       N/A
756-799   free    inner edge
Prikaz volume grupe dvg:
$ lsvg dvg
VOLUME GROUP:       dvg                      VG IDENTIFIER:  00c4a37f00004c000000011dbecd73a2
VG STATE:           active                   PP SIZE:        256 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      199 (50944 megabytes)
MAX LVs:            256                      FREE PPs:       69 (17664 megabytes)
LVs:                4                        USED PPs:       130 (33280 megabytes)
OPEN LVs:           4                        QUORUM:         2 (Enabled)
TOTAL PVs:          1                        VG DESCRIPTORS: 2
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         1                        AUTO ON:        yes
MAX PPs per VG:     32512
MAX PPs per PV:     1016                     MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable
$

Unutar svake VG-e jedan ili više Logical Volumes (LV) su definisani. LV-i su način grupisanja informacija lociranih na jednom ili više PV-a. LV-i su prostor na disku za skladištenje podataka koji deluju kao kontinualni aplikativnom nivou, ali oni mogu biti diskontinuirani na konkretnom PV-u. Upravo ovo omogućuje LV-u da bude proširen, relociran, da se prostire preko nekoliko različitih PV-a i da se njihov sadržaj replicira sa većom lakoćom i dostupnošću.

Prikaz distribucije logickih particija unutar PV-a hdisk0:
$ lspv -l hdisk0
hdisk0:
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
podaci                480     480     159..45..00..160..116 N/A
hd4                   1       1       00..00..01..00..00    /
hd8                   1       1       00..00..01..00..00    N/A
hd9var                1       1       00..00..01..00..00    /var
hd2                   99      99      00..00..99..00..00    /usr
hd6                   8       8       00..08..00..00..00    N/A
hd5                   1       1       01..00..00..00..00    N/A
hd1                   81      81      00..80..01..00..00    /home
hd3                   81      81      00..27..54..00..00    /tmp
hd10opt               2       2       00..00..02..00..00    /opt

Svaki LV sadrži jean ili više Logical Parititions (LP). Svaki LP odgovara barem jednom PP-u. Ako je LV mirrorovan onda se dodatni PP alocira kako bi sadržao kopiju(e) svake LP-e. Ove kopije se obično distribuiraju na različitim PV (zbog bolje dostupnosti) ali mogu zbog performansi biti postavljene na istom PV-u, mada se ova mogućnost uglavnom izbegava zbog minijaturnih dobitaka u performansama a većim rizikom (sem kod potreba za mirror-om).

Volume grupa bez mirror-a (identičan broj LP-a i PP-a):
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       1       1    closed/syncd  N/A
hd6                 paging     8       8       1    open/syncd    N/A
hd8                 jfs2log    1       1       1    open/syncd    N/A
hd4                 jfs2       1       1       1    open/syncd    /
hd2                 jfs2       99      99      1    open/syncd    /usr
hd9var              jfs2       1       1       1    open/syncd    /var
hd3                 jfs2       81      81      1    open/syncd    /tmp
hd1                 jfs2       81      81      1    open/syncd    /home
hd10opt             jfs2       2       2       1    open/syncd    /opt
podaci              jfs2       480     480     1    closed/syncd  N/A
Volume grupa sa mirrorovanim diskovima (duplo veći broj PP-a u odnosu na LP-e):
# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
hd5                 boot       1       2       2    closed/syncd  N/A
hd6                 paging     4       8       2    open/syncd    N/A
paging00            paging     8       16      2    open/syncd    N/A
hd8                 jfs2log    1       2       2    open/syncd    N/A
hd4                 jfs2       2       4       2    open/syncd    /
hd2                 jfs2       91      182     2    open/syncd    /usr
hd9var              jfs2       5       10      2    open/syncd    /var
hd3                 jfs2       129     258     2    open/syncd    /tmp
hd1                 jfs2       80      160     2    open/syncd    /home
hd10opt             jfs2       11      22      2    open/syncd    /opt
lg_dumplv           sysdump    8       8       1    open/syncd    N/A

LV-ovi mogu biti korišćeni na različite načine:

  • Unstructured – Ovo su tkz. RAW LV-i i imaju višestruke tipove namena. Ovaj prostor sistem koristi za tkz. Page Space (SWAP pod AIX-om) ili npr. kao Dump Space. Aplikacije DB2, ORACLE i drugi, ovakav prostor koriste u tkz. RAW modu gde sami određuju kako će podaci na tim LV-a biti raspoređeni.
  • Structured – Ako je LV-a namena da drži obične fajlove onda AIX na ovaj tip LV-a smešta neki File System (najčešće JFS2) kako bi se kreirala hierarhijska struktura direktorijuma i fajlova za operativni sistem.

Luka Gerzic AIX, Storage , , , , , , , , , , ,

nmon: besplatni alat za analizu performansi AIX-a i Linux-a

April 11th, 2009

Pre nego što krenem da pišem o samom NMON-u, za one koji ga već uveliko koriste jedna dobra vest. NMON je konačno postao sastavni deo AIX-a od verzije 5.3 TL9 kao i uz 6.1 TL2 (u šta ulazi i VIOS 2.1). Naime IBM je konačno uvrstio ovaj alat u svoj support base, tako da će sada NMON dolaziti standardno uz sam AIX. Nova verzija NMON-a se zove topas_nmon, sadrži sve mogućnosti i opcije kao i klasični nmon 12e. Stara (klasična) verzija nmon-a će biti još neko vreme podržana, međutim sav razvoj se prebacuje na topas_nmon.  Dosadašnja praksa je bila da se NMON ažurira na otprilike svakih 6 meseci, sada će to biti prilikom svakog update-a AIX-a kroz IBM support kanale. Verzija NMON-a za linux neće biti poremećena novim statusom, i nastavlja svoj “život” kao i do sada.

Za one koji ga do sada nisu koristili, ili koji su samo čuli o ovom programu, pre svega evo malo informacija. NMON je skraćenica od Nigel’s Monitor (po autoru programa). Ovaj besplatni alat će vam omogućiti detaljan uvid u rad vašeg AIX /Linux sistema. Sam NMON ima mogućnost prikaza podataka na više načina. Direktno na ekran preko vama omiljenog terminala, ili direktno u fajl za kasniju obradu i analizu. Ako koristite ovu drugu opciju postoje različite vrste parsiranja podataka koje su drugi kreirali, a istakao bih NMON Analyser Excel spreadsheet koji će vam output fajl parsirati i prikazati lepe i zanimljive grafikone ili izveštaje. Uz manje parsiranje output fajl možete provući i kroz rrdtool i kreirati sebi lepe realtime grafikone opterećenja pojedinih sistema koji vas interesuju, a iste kasnije lako možete prikazati na web-u (ili nekom fensi izveštaju). NMON može prikazati sledeće informacije:

  1. CPU utilizaciju
  2. Iskorišćenost memorije
  3. Različite statistike Kernel-a
  4. Disks I/O, transfer statuse, i read/write odnose
  5. Slobodan prostor na disk sekcijama
  6. Disk adaptere i njihove performanse
  7. Mrežne I/O odnose, iskorišćenost i performanse
  8. Swap (page space) utilizaciju, slobodan prostor itd.
  9. Specifikacije CPU-a i AIX-a
  10. IBM HTTP Web cache
  11. Custom disk grupe
  12. Specifikaciju samog hardware-a (mašine) i njene resurse
  13. Asynchronous I/O – (samo na AIX-u)
  14. Workload Manager (WLM) – (samo na AIX-u)
  15. IBM TotalStorage® Enterprise Storage Server® (ESS) disks – (samo na AIX-u)
  16. Network File System (NFS)
  17. Dynamic LPAR (DLPAR) changes – (samo na AIX-u i IBM pSeriji)

Startup NMON-a izgleda ovako:

Na početnom ekranu NMON-a birate njegove opcije prikaza. Nemoguće je prikazati sve opcije NMON-a na jednom ekranu, ali mislim da ovaj screeny dobro ilustruje deo mogućnosti ovog alata:

Na gore prikazanoj slici, NMON prikazuje aktivnost virtuelnih CPU-a, iskorišćenost memorije, swap-a, mreže, I/O volume grupa koje sistem poseduje, virtuelnih diskova koji su dodeljeni sistemu, top procese i detaljne statistike AIX kernela. Ovo naravno nije sve što NMON može da prikaže adminu sistema, kao što sam gore napisao, mogućnosti su velike. Fino tjuniranje sistema sa direktnim uvidom u efekte vašeg prčkanja možete videti odmah, vrlo detaljno sa samo par komandi. O situacijama kada treba da ustanovite šta “guši” vaš AIX sistem neću ni da govorim. Ovo je jedan od must have alata za svakog AIX admin-a.

A evo kako to može da izgleda u praksi prilikom nadzora rada jednog LPAR-a, gde je fokus na disk sekciji (klikni da veću fotku):

Luka Gerzic AIX, IBM P Serija, Linux/BSD , , , , , , , ,

VIOS 2.1 gladan za memorijom

April 3rd, 2009

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.

Luka Gerzic AIX, IBM P Serija , , , , , , , , , ,

Nova “svmon” opcija za uvid u dostupnu memoriju

March 24th, 2009

Nova opcija za svmon koja dolazi sa AIX 5.3 TL9 ili AIX 6.1 TL2 će sada ispisivati novu vrednost pod nazivom “available memory”. Ovo je količina memorije dostupna aplikacijama. Ova vrednost sadrži i file cache zauzeće memorije. Ideja sa ovom opcijom je da korisnik resursa servera može da koristi dostupnu memoriju (available memory) bez bojazni da će sistem krenuti da koristi swap (page). Tek kada dostupna memorija ponestane sistem kreće da koristi page space (swap). Do sada je bilo relativno teško ustanoviti dostupnu (aplikativnu) memoriju na AIX serveru.

# svmon -O summary=basic,unit=auto
Unit: auto
----------------------------------------------------------------------------
size       inuse        free         pin      virtual    available memory
1.00G     631.20M     392.80M     266.27M     514.46M    465.14M

pg space 512.00M       6.56M

work        pers        clnt       other
pin         223.02M          0K          0K       43.3M
in use      514.46M         88K     116.66M

Luka Gerzic AIX , ,

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 , , , , , , , , , , , ,

AIX hexspeak

March 18th, 2009
(gdb) break *main+32
Breakpoint 1 at 0x1006620c

(gdb) run
Starting program: /home/stinger/test
Breakpoint 1, 0x1006620c in main ()

(gdb) info reg
r0             0x100001ec       268435948
r1             0x2ff22ce0       804400352
r2             0x200116b0       536942256
r3             0x1      1
r4             0x10070ba0       268897184
r5             0x5      5
r6             0x0      0
r7             0x2ff22ff8       804401144
r8             0x0      0
r9             0x20010ce4       536939748
r10            0xffffffff       -1
r11            0x0      0
r12            0x48244882       1210337410
r13            0xdeadbeef       -559038737
r14            0x1      1
r15            0x2ff22dac       804400556
r16            0x2ff22db4       804400564
r17            0x0      0
r18            0xdeadbeef       -559038737
r19            0xdeadbeef       -559038737
r20            0xdeadbeef       -559038737
r21            0xdeadbeef       -559038737
r22            0xdeadbeef       -559038737
r23            0xdeadbeef       -559038737
r24            0xdeadbeef       -559038737
r25            0xdeadbeef       -559038737
r26            0xdeadbeef       -559038737
r27            0xb      11
r28            0x20000ba6       536873894
r29            0x10000000       268435456
r30            0x1      1
r31            0x2ff22ce0       804400352
pc             0x1006620c       268853772
ps             0x2d0b2  184498
cr             0x42244242       1109672514
lr             0x100001ec       268435948
ctr            0x1006ce0c       268881420
xer            0x0      0
fpscr          0x0      0
vscr           0x0      0
vrsave         0x0      0
(gdb)

Luka Gerzic AIX , , , ,

Logical drive 2Tb limit

March 18th, 2009

Ako nikad ranije niste radili sa storage sistemima većih kapaciteta (što je malo verovatno s obzirom da je sada prostor (po GB) nikad jeftiniji, može vam se desiti da se iznenadite kao i ja pre 2-3 godine kada sam saznao da većina IBM storage sistema (DS4700, DS4800 a i DS8300) imaju limit od 2 Tb na veličini logičkog prostora. Šta to praktično znači? Recimo da imate brdo jeftinih 500GB SATA diskova u jeftinom DS4700 storage-u i da želite da kreirate, recimo polje od 5TB za potrebe bekapa. Neprijatno ćete se iznenaditi da vam administrativni panel (IBM Storage Manager ver. 09.60) neće dozvoliti da kreirate logički disk veći od: 2,03 TB (2,186,134,159,360 Bytes). Što znači da morate kreirati 3 disk polja 2x 2TB i 1x 1TB i kao takve ih eksportovati (mapirati) hostu koji će ih koristiti (što generalno nije problem ako koristite AIX jer onda verovatno imate volume grupe,  ili neki linux/bsd sa njihovim lvm alatima koji rade perfektno dok za neke winbl0ws-e …), a zatim da ih putem nekog alata na samom hostu spajati u jedan veliki logički drajv ili ih mount-ovati ponaosob. Pitanje je kada će se proizvođači poput IBM-a setiti da treba da pređu sa 32-bitnog okruženja na 64-bitno i na storage-ima. Zar još uvek živimo u 90-tim? Kakav će uticaj na performanse i gubitak prostora imati ovakav setup, ostavljam vama na razmišljanje. Lično, nisam bio nimalo oduševljen.

Luka Gerzic Storage , , , , , , , , , , , ,