Archive

Archive for the ‘AIX’ Category

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

lquerypv disk info

October 21st, 2009

Standardna komanda pod AIX-om ili VIOS-om da bi videli PVID je lspv i ona daje sledeći output:

# lspv
hdisk0          00c4a37f807b71bf                    rootvg          active
hdisk1          00c4a37f068cab36                    dvg             active
hdisk2          00c4a38f49fe2904                    bvg             active
hdisk3          00c4a37f4d58c8d7                    bvg             active

# lspv hdisk0
PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg
PV IDENTIFIER:      00c4a37f807b71bf VG IDENTIFIER     00c4a37f00004c000000012385c79fec
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:           174 (11136 megabytes)    HOT SPARE:        no
USED PPs:           625 (40000 megabytes)    MAX REQUEST:      256 kilobytes
FREE DISTRIBUTION:  14..00..00..00..160                        
USED DISTRIBUTION:  146..160..159..160..00

Istu informaciju možemo dobiti i preko ODM-a:

# odmget -q "name=hdisk0" CuAt
CuAt:
 name = "hdisk0"
 attribute = "unique_id"
 value = "3520200B75M0861101407210790003IBMfcp05VDASD03AIXvscsi"
 type = "R"
 generic = ""
 rep = "n"
 nls_index = 0

CuAt:
 name = "hdisk0"
 attribute = "pvid"
 value = "00c4a37f807b71bf0000000000000000"
 type = "R"
 generic = "D"
 rep = "s"
 nls_index = 11

Ili preko lsattr-a:

# 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 0                                Health Check Interval      True
hcheck_mode     nonactive                        Health Check Mode          True
max_transfer    0x40000                          Maximum TRANSFER Size      True
pvid            00c4a37f807b71bf0000000000000000 Physical volume identifier False
queue_depth     3                                Queue DEPTH                True
reserve_policy  no_reserve                       Reserve Policy             True

Ali postoji i jedna nedokumentovana komanda koja će isčitati informaciju direktno sa fizičkog diska:

# lquerypv -h /dev/hdisk0
00000000   C9C2D4C1 00000000 00000000 00000000  |................|
00000010   00000000 00000000 00000000 00000000  |................|
00000020   00000000 00000000 00000000 00000000  |................|
00000030   00000000 00000000 00000000 00000000  |................|
00000040   00000000 00000000 00000000 00000000  |................|
00000050   00000000 00000000 00000000 00000000  |................|
00000060   00000000 00000000 00000000 00000000  |................|
00000070   00000000 00000000 00000000 00000000  |................|
00000080   00C4A37F 807B71BF 00000000 00000000  |.....{q.........|
00000090   00000000 00000000 00000000 00000000  |................|
000000A0   00000000 00000000 00000000 00000000  |................|
000000B0   00000000 00000000 00000000 00000000  |................|
000000C0   00000000 00000000 00000000 00000000  |................|
000000D0   00000000 00000000 00000000 00000000  |................|
000000E0   00000000 00000000 00000000 00000000  |................|
000000F0   00000000 00000000 00000000 00000000  |................|

Sa parametrima 80 10 možemo dobiti samo deo sa PVID-em:

# lquerypv -h /dev/hdisk0 80 10
00000080   00C4A37F 807B71BF 00000000 00000000  |.....{q.........|
#

Komanda lquerypv može biti zgodna ako želite da uporedite da li vam se slažu PVID-evi na VIOS-u i na samom host-u kome ste dodelili diskove preko VIOS-a. To bi UVEK trebalo da budu isti PVID-evi, međutim može da se desi da isti budu različiti (što nije dobro), a još gore je ako vam ova komanda ne vraća ništa, jer ako lquerypv ne može da pročita informaciju sa diska nijedan drugi program neće moći. Ova komanda nije dokumentovana od strane IBM-a i nepostoji manual za nju, ali ona standardno dolazi uz AIX.

Luka Gerzic AIX , , , ,

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

AIX saveti – zamena za lsof

October 1st, 2009

Kako pronaći koji proces na AIX OS-u vam koristi koji mrežni port. Odgovor na ovo pitanje može biti krajnje jednostavno ako imate lsof, međutim ako nemate, onda postoje dva načina kako to možete saznati:

1. Lakši način – netstat + rmsock

# netstat -Aan | grep 33028
f100060000fa4398 tcp        0      0  *.33028    *.*      LISTEN
#
# rmsock f100060000fa4398 tcpcb
The socket 0xfa4008 is being held by proccess 274506 (java).
#
# ps -ef | grep 274506
 root 274506 159876   0   Sep 21      - 26:29 /usr/java14/.private142/jre/bin/java -Xquickstart -Xmx512m -Xms16m -Xmine4m -DMessageLang=C -Ddisplay=SRV-TEST:0.0 -DWINDOWID= -DWEBSM_ALL_PERMISSIONS_FOR_SECURE=true com.ibm.websm.refresh.WSMRefreshServer
#
#

2. Teži način – netstat + kdb

# netstat -Aan | grep 33028
f100060000fa4398 tcp        0      0  *.33028    *.*     LISTEN
# kdb
The specified kernel file is a 64-bit kernel.
Preserving 1414199 bytes of symbol table
First symbol __mulh
 START              END <name>
0000000000001000 0000000003E0C050 start+000FD8
F00000002FF47600 F00000002FFDC940 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F100070F00000000 F100070F10000000 pvproc+000000
F100070F10000000 F100070F18000000 pvthread+000000
PFT:
PVT:
id....................0002
raddr.....000000000071D000 eaddr.....F200800023000000
size..............00080000 align.............00001000
valid..1 ros....0 fixlmb.1 seg....0 wimg...2
(0)>
(0)> sockinfo f100060000fa4398 tcpcb
---- TCPCB ----(@ F100060000FA4398)----
 seg_next......@F100060000FA4398  seg_prev......@F100060000FA4398  
 t_softerror... 00000000 t_state....... 00000001 (LISTEN)
 t_timer....... 00000000 (TCPT_REXMT)
 t_timer....... 00000000 (TCPT_PERSIST)
 t_timer....... 00000000 (TCPT_KEEP)
 t_timer....... 00000000 (TCPT_2MSL)
 t_rxtshift.... 00000000 t_rxtcur...... 00000006 t_dupacks..... 00000000
 t_maxseg...... 000005A8 t_force....... 00000000
 t_flags....... 00000020 (RFC1323|COPYFLAGS)
 t_oobflags.... 00000000 ()
 t_template....@0000000000000000  t_inpcb.......@F100060000FA4290  
 t_iobc........ 00000000 t_timestamp... B1E72C01 snd_una....... 00000000
 snd_nxt....... 00000000 snd_up........ 00000000 snd_wl1....... 00000000
 snd_wl2....... 00000000 iss........... 00000000
 snd_wnd....... 0000000000000000 rcv_wnd....... 0000000000000000
 rcv_nxt....... 00000000 rcv_up........ 00000000 irs........... 00000000
 snd_wnd_scale. 00000000 rcv_wnd_scale. 00000000 req_scale_sent 00000000
 req_scale_rcvd 00000000 last_ack_sent. 00000000 timestamp_rec. 00000000
 timestamp_age. 00000046 rcv_adv....... 00000000 snd_max....... 00000000
 snd_cwnd...... 000000003FFFC000        snd_ssthresh.. 000000003FFFC000
 t_idle........ 00000046 t_rtt......... 00000000 t_rtseq....... 00000000
 t_srtt........ 00000000 t_rttvar...... 00000006 t_rttmin...... 00000002
 max_rcvd...... 0000000000000000        max_sndwnd.... 0000000000000000
 t_peermaxseg.. 000005A8 snd_in_pipe... 00000000
 sack_data.....@0000000000000000         snd_recover... 00000000
 snd_high...... 00000000 snd_ecn_max... 00000000 snd_ecn_clear. 00000000
 t_splice_with.@0000000000000000         t_splice_flags 00000000 

-------- TCB --------- INPCB  INFO ----(@ F100060000FA4290)----
 next........@0000000000000000  prev........@0000000000000000  
 head........@00000000041DCE00  faddr_6.....@F100060000FA42B0  
 iflowinfo... 00000000 fport....... 00000000 fatype...... 00000000
 oflowinfo... 00000000 lport....... 00008104 latype...... 00000000
 laddr_6.....@F100060000FA42C8  socket......@F100060000FA4008  
 ppcb........@F100060000FA4398  route_6.....@F100060000FA42E8  
 ifa.........@0000000000000000  flags....... 00000C00
 proto....... 00000000 tos......... 00000000 ttl......... 0000003C
 rcvttl...... 00000000 rcvif.......@0000000000000000  
 options.....@0000000000000000  refcnt...... 00000000
 lock........ 0000000000000000  rc_lock..... 0000000000000000
 moptions....@0000000000000000  hash.next...@F10001001669FF98  
 hash.prev...@F10001001669FF98  timewait.nxt@0000000000000000  
 timewait.prv@0000000000000000  inp_v6opts  @0000000000000000  
 inp_pmtu....@0000000000000000  

---- SOCKET INFO ----(@ F100060000FA4008)----
 type........ 0001 (STREAM)
 opts........ FFFF8006 (ACCEPTCONN|REUSEADDR|AUDIT)
 linger...... 0000 state....... 0080 (PRIV)
 pcb.....@F100060000FA4290  proto...@00000000041D1678  
 lock....@F1000600004176C0  head....@0000000000000000  
 q0......@0000000000000000  q.......@0000000000000000  
 q0len....... 0000 qlen........ 0000 qlimit...... 0032
 timeo....... 0000 error....... 0000 special..... 0E08
 pgid.... 0000000000000000  oobmark. 0000000000000000 

snd:cc...... 0000000000000000  hiwat... 0000000000040000
 mbcnt... 0000000000000000  mbmax... 0000000000100000
 lowat... 0000000000001000  mb......@0000000000000000  
 sel.....@0000000000000000  events...... 0000
 iodone.. 00000000          ioargs..@0000000000000000  
 lastpkt.@0000000000000000  wakeone. FFFFFFFFFFFFFFFF
 timer...@0000000000000000  timeo... 00000000
 flags....... 0000 ()
 wakeup.. 00000000          wakearg.@0000000000000000  
 lockwtg. FFFFFFFFFFFFFFFF 

MBUF LIST

rcv:cc...... 0000000000000000  hiwat... 0000000000040000
 mbcnt... 0000000000000000  mbmax... 0000000000100000
 lowat... 0000000000000001  mb......@0000000000000000  
 sel.....@0000000000000000  events...... 0000
 iodone.. 00000000          ioargs..@0000000000000000  
 lastpkt.@0000000000000000  wakeone. FFFFFFFFFFFFFFFF
 timer...@0000000000000000  timeo... 00000000
 flags....... 0000 ()
 wakeup.. 00000000          wakearg.@0000000000000000  
 lockwtg. FFFFFFFFFFFFFFFF 

MBUF LIST

 tpcb....@0000000000000000  fdev_ch.@0000000000000000  
 sec_info@0000000000000000  qos.....@0000000000000000  
 gidlist.@0000000000000000  private.@0000000000000000  
 uid..... 00000000 bufsize. 00000000 threadcnt00000000
 nextfree@0000000000000000  
 siguid.. 00000000 sigeuid. 00000000 sigpriv. 00000000
 sndtime. 0000000000000000  sec  0000000000000000  usec
 rcvtime. 0000000000000000  sec  0000000000000000  usec
 saioq...@0000000000000000  saioqhd.@0000000000000000  
 accept.. 00000000000E90F5  frcatime 00000000
 isnoflgs 00000000 ()       
 rcvlen.. 0000000000000000  frcaback@0000000000000000  
 frcassoc@0000000000000000  frcabckt 0000000000000000
 iodone.. 00000000          iodonefl 00000000 ()
 ioarg...@0000000000000000  refcnt.. 0000000000000001
 trclev........... 0001 

proc/fd:  67/44
proc/fd: fd: 44
 SLOT NAME     STATE      PID    PPID          ADSPACE  CL #THS

pvproc+010C00   67*java     ACTIVE 004304A 0027084 00000000304D0400   0 0011

(0)> hcal 004304A
Value hexa: 0004304A          Value decimal: 274506
(0)>
(0)> quit
#
# ps -ef | grep 274506
 root 274506 159876   1   Sep 21      - 26:27 /usr/java14/.private142/jre/bin/java -Xquickstart -Xmx512m -Xms16m -Xmine4m -DMessageLang=C -Ddisplay=SRV-TEST:0.0 -DWINDOWID= -DWEBSM_ALL_PERMISSIONS_FOR_SECURE=true com.ibm.websm.refresh.WSMRefreshServer
#
#

Luka Gerzic AIX , , ,

SEA failover delay

June 28th, 2009

Za one koji koriste VIOS (PowerVM) tehnologiju i SEA (Shared Ethernet Adapter) mislim da će sledeći hint biti vredan. Naime, u određenoj konfiguraciji vašeg vam dragog network admina kada se koristi Spanning tree protokol a nije uključena opcija portfast na portu gde vam je konektovan SEA, možete imati neželjeni efekat  produženog intervala za prebacivanje na drugi bekap port. Uzrok ovome može da bude to što vam je uključen Spanning Tree Protocol (STP) na tim switch portovima. Kako bi ste to prevazišli možete podesiti opciju portfast opciju na tim switch portovima. Opcija portfast (pdf) omogućuje swich-u da odmah prosledi pakete na port-u pre nego što je završio sa STP-om. Ponekad prilikom failback-a sa bekap nod-a na primarni nod može da se desi da switch nije spreman da uradi tansmit/receive paketa iako mu je došao signal da je link podignut, to dovodi do gubitka paketa. Iako je ovako nešto retko, i u dobro konfigurisanim okruženjima ne bi trebalo da se desi, isključivanjem STP-a možete biti sigurni da se to neće dogoditi.

Da bi “ručno” testirali failover možete probati sledeće komande:

Na VIOS-u:

 $ oem_setup_env
 # lsdev -Cc adapter |grep ent --> Dobićete koji je SEA adapter
 # entstat -d entX | grep State --> Proverite u kom je state-u (PRIMARY, ili BACKUP)

Podesite ha_mode na standby kod primarnog VIOS-a sa chdev komandom:

 # chdev -l entX -a ha_mode=standby

Resetovanjem nazad na auto, SEA bi trebalo da se vrati nazad na primarni VIOS:

# chdev -l entX -a ha_mode=auto

Postoji nekoliko vrsta provera, od gore pomenute, do fizičkog čupanja eth kablova, ili obaranja celokupnog VIOS sistema. Moja preporuka je da pre puštanja SEA u produkciju obavezno proverite sve mogućnosti i proverite vreme za koje će vam biti potrebno da se izvrše failover i failback funkcije.

Pored ovoga, preporučujem da proverite i ovaj APAR dokument na IBM sajtu, koji se tiče sličnog problema, prilikom korišćenja HA konfiguracije, a koji može biti da nije rešen na vašem trenutnom VIOS-u ili TL/SP-u. Evo šta kaže IBM:

When using SEA HA mode, and when attempting to force a failover using chdev command on primary VIOS, the failover may not happen for a few seconds. The delay has been seen to be anywhere between 10-35 seconds, depending on the traffic flowing between the client LPARs and the outside world.

Luka Gerzic AIX , , , , ,

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

AIX 6.1 inovacije

June 3rd, 2009

AIX 6.1 a možemo naći u 2 verzije: standardna u kojoj se nalazi samo osnovni AIX i enterprajz verzija koja dolazi sa WPM-om (Workload partition manager) i nekoliko Tivoli modula. Fokusiraćemo se na ovu drugu. Skorašnje inovacije koje prate AIX 6.1 su:

  • WPARs (Work load partitions): Virtuelizacija na nivou operativnog sistema u potpunosti podržana od strane Power hardware-a, donekle slična Solaris containers tehnologiji, omogućuje kreiranje višestrukih AIX 6.1 okruženja u okviru jedne AIX  6.1 instance. Aplikativni WPAR-ovi koji mogu biti pokrenuti unutar tkz. globalne instance mogu biti kreirani za par sekundi što omogućuje brzo testiranje aplikacija pre puštanja u produkciju.
  • Live partition mobility: Omogućava premeštanje particija sa jednog sistema na drugi bez restartovanja aplikacija ili bilo kakvog prekida u pružanju servisa kranjim korisnicima. Pored toga omogućuje konsolidaciju resursa kako bi se smanjila nepotrebna potrošnja istih u periodima slabije iskorišćenosti ili prilikom održavanja samih servera.
  • Konkurentni update AIX 6.1 kernela: omogućuje update sistema bez potrebe da se isti resetuje kako bi se primenile izmene.
  • Dynamic tracing: olakšava debugovanje sistema ili aplikacije
  • Enhanced functional recovery routine: set instrukcija koje prate rad sistema i u slučaju problema ili grešaka koje bi inače mogle da obore sistem iste zamrznu i omoguće nastavak rada samog sistema.
  • AIX 6.1 dolazi sa predefinisanim setom tjuning parametara kako bi se izvukao maksimum iz sistema.
  • Updateovan NIM sada podržava NFS v4
  • Nova IBM Director konzola za AIX 6.1

Što se tiče bezbednosti AIX operativnog sistema takođe su uvedene neke novine:

  • RBAC (Role-Based Access Control) rutine
  • Trusted AIX 6.1 sada pokriva sve USA gov. bezbednosne standarde i zahteve
  • Enkripcija JFS fajl sistema kroz jače algoritme i povećan nivo bezbednosti.
  • Mogućnost čuvanja bezbednosnih polisa i templejta u LDAP-u.
  • Minimum aktivnih servisa prilikom prve instalacije

Za više detalja evo nekoliko linkova:

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