Archive

Author Archive

lquerypv disk info

October 21st, 2009 2 comments

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.

Categories: AIX Tags: , , , ,

IBM DS8700

October 19th, 2009 No comments

IBM forum 2009 koji se održao danas u hotelu Hyatt Regency (Beograd) prezentovan (mislim da mogu reći premijerno) novi enterprajz storage IBM DS8700. Zanimljivo je da su predviđanja iz marta 2009-te godine o kojima sam govorio u svom blog-u na temu  “DS8000 novosti za 1Q 2009” sada inkorporirane u novi DS8700 enterprajz storage. O ovome je špekulisao i The Register u julu ove godine.

Novi DS8700 dolaziće sa novim kontrolerima koji su bazirani na novim P6 procesorima (za keširanje), bržim I/O-om, disk enkripcijom ugrađenom direktno u diskove, podrškom sa SSD diskove (o čemu sam takođe govorio već). Uostalom slike uvek govore više od 100 reči. Evo slajdova sa prezentacije:

Categories: Storage Tags: , , , ,

AIX bash

October 15th, 2009 1 comment

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.

Categories: AIX Tags: , , , , , ,

Preuzimanje audio kanala iz flash player-a

October 6th, 2009 No comments

Recimo da želite da “skinete” neko predavanje koje ste slušali preko web browser-a iz flash player-a (koga ja to lažem?), tj hteli ste da skinete neku pesmu koje nema na torentu a vrti se na nekom sajtu iz flash player-a (youtube/myspace/facebook?), evo kako to možete da uradite:

Ako koristite pulseaudio, onda je ovo vrlo jednostavno. Potrebno vam je nekoliko alata, prvo treba vam pactl (Control a running PulseAudio sound server), zatim pacat (Play back or record raw audio streams on a PulseAudio sound server). Prvo potrebno je da otkrijete gde je stream koji ćete maznuti:

$ pactl list | grep -A2 ‘Source #’ | grep ‘Name: .*\.monitor$’ | cut -d” ” -f2
alsa_output.pci_8086_284b_sound_card_0_alsa_playback_0.monitor

Sve što onda treba da uradite jeste da pripremite sledeću “kobaju”:

$ parec –device=alsa_output.pci_8086_284b_sound_card_0_alsa_playback_0.monitor –format=s16le –rate=44100 –channels=2 | sox –type raw -s2L –rate 44100 –channels 2 – –type wav “Ime Izvođača – Neka pesma.wav”

Pustite audio/video zapis u vašem browser-u i okinite komandu iznad. Kad se audio/video zapis završi prekinite gornju komandu sa CTRL+C. Dobićete u radnom direktorijumu nekompresovani raw wav fajl koji možete kompresovati u mp3 na sledeći način:

$ lame -b 256 “Ime Izvođača – Neka pesma.wav” “Ime Izvođača – Neka pesma.mp3″
LAME 3.98 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 19383 Hz – 19916 Hz
Encoding Ime Izvođača – Neka pesma.wav to Ime Izvođača – Neka pesma.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (5.5x) 256 kbps qval=3
Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
10633/10633 (100%)|    0:14/    0:14|    0:15/    0:15|   18.921x|    0:00
———————————————————————————————————————————————————————————–
kbps        LR    MS  %     long switch short %
256.0       53.0  47.0        95.7   2.7   1.7
Writing LAME Tag…done
ReplayGain: -2.5dB

I to je to. Dobili ste mp3 fajl u istom radnom direktorijumu. Uživajte.

AIX saveti – zamena za lsof

October 1st, 2009 No comments

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
#
#
Categories: AIX Tags: , , ,

sms zavrzlame

September 29th, 2009 No comments

Naslov ovog teksta apsolutno nema veze sa SMS (Short Message Service) vašeg vam omiljenog GSM operatera, ako ste to pomislili, već sa M$ Winbows Systems Management Server klijent software-om.

Pre nekog vremena primetio sam da mi u regularnim intervalima ceo notebook “štucne” na par sekundi i onda se vrati u normalu kao da se ništa nije dogodilo. S obzirom da koristim linux kao main os, počeo sam da kopam po mašini ne bi li našao šta me to smara. Prvo naravno provera top-a, procesori slobodni, memorije nije da ima u izobilju ali je ima dovoljno, swap skoro da ga i ne koristim. Hmmm da vidimo šta radi disk. vmstat je odmah pokazao da se tu dešava nešto čudno:

Neobični upisi na disk od stane neke aplikacije u regularnim intervalima, gde se dešavalo da upis bude i po nekoliko desetina megabajta, prilično me je zaintrigiralo. S obzirom da sam našao šta kuca mašinu (prvo što sam bio pomislio bio je da neka aplikacija “kuca” procesor a ne disk), krenuo sam da čeprkam. Trebalo je naći koji proces od svih procesa na mašini ima potrebu da se igra sa diskom na ovako surov način. Idealan alat za to bio je iotop koji vam može prikazati koji proces radi šta sa diskom. I odmah se pokazalo:

Eh sad, vbox kod mene vrti Winblows XP korporativni (AD+Exchange stuff) na kome nema apsolutno ništa od software-a osim Outlook-a. Na samom WinXP-u, prva pomisao je da je virtuelna mašina iz nekog razloga ostala bez (1Gb) slobodne memorije pa ciklično swap-uje po disku. Međutim to nije bio slučaj. Da bih video koji proces pod Winblows-om kida disk, upotrebio sam jedan od besplatnih i veoma korisnih alata za uvid rad Winblows sistema. Sysinternals Process Explorer je odličan program i odmah je prikazao gde je problem:

Pošto ja nisam neki stručnjak za Winblows niti isti koristim za bilo šta osim za igranje i poneki email, raspitao sam se kod mojih kolega koji znaju dosta na tu temu. Procesi msiexec.exe startovan od stane  Winblows SMS je software-a gura zakrpe i programe mašinama koje su pod AD-om, po potrebi kada to administratori AD-a žele. Par trikova na AD-u, gpupdate /force i nekoliko restart-a kasnije problem je bio idalje tu. Međutim po savetu kolege posle brisanja \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CcmExec segmenta iz registry-a i opet restart-a, problem je prestao. Ako ne možete da se igrate sa registryem postoji i ručna privremena varijanta:

X:\WINXP\system32>sc stop ccmexec

SERVICE_NAME: ccmexec
TYPE : 10 WIN32_OWN_PROCESS
STATE : 3 STOP_PENDING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0×0)
SERVICE_EXIT_CODE : 0 (0×0)
CHECKPOINT : 0×0
WAIT_HINT : 0×0

Odmah da se ogradim. Ovakva akcija brisanja i zaustavljanja ovog servisa možda neće biti dobrodošla u vašem okruženju i pod polisama koje vi imate. Međutim ako imate ok admin-e koji imaju poverenja u to šta radite sa vašom radnom stanicom onda možete da primenite ovo što sam gore pomenuo kako vam mašina ne bi štucala s vremena na vreme. Naravno ovako nešto nećete ni primetiti ako niste pod AD-om.

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

Ajmo Jovo nanovo …

September 3rd, 2009 No comments

Svemu lepom dođe kraj pa i odmoru. Ima nešto više od metar dana od kako sam pisao poslednji tekst na blog-u, a razlog tome je poduži odmor od 3 nedelje koji sam proveo putujući kolima po Evropi. Ne, neću krenuti sa rečenicom “ehhh de smo mi a gde je Evropa”, jer to više ne može da se poredi. I dok još uvek sumiram svoje utiske, posle pređenih nešto više od 6000 km, vreme je da se vratim svojim svakodnevnim obavezama od kojih je jedna i praćenje svih novosti na net-u, a koje se tiču desno navedenih tema. Iako se nije puno toga dešavalo u poslednjih mesec/dva ima par novosti o kojima ću pisati narednih dana. Eto samo toliko za sad. Da prijavim da sam tu :)

Categories: Lično Tags: , ,

IBM Aquasar Supercomputer

July 7th, 2009 No comments

Do sada nisam pisao na temu super kompjutera, velikih cluster-a i ostalih egzotičnih mašina, ali ovde ću ipak napraviti izuzetak. U poslednjih nekoliko meseci koliko radim na projektu novog data centra, prilično vremena sam potrošio konsultujući se sa eminentnim stručnjacima na temu hlađenja, napajanja i zaštite data centra kako bi smo izabrali optimalno rešenje za naše potrebe. Kreirati idealno okruženje sa posebnim osvrtom na smanjenu potrošnju energije (čitaj smanjenje troškova), pritom koristeći trenutno dostupna rešenja nije nimalo lak posao. Upravo zbog toga, novi IBM-ov press release koji je izašao pre nekoliko dana me je prilično zainteresovao, jer obećava novu tehnologiju hlađenja sistema.

Krajem juna (2009-te) IBM je objavio da intezivno radi na novoj tehnologiji hlađenja svojih servera zajedno sa renomiranim švajcarskim institutom “Swiss Federal Institute of Technology Zurich” (ETH). A Podršku ovom projektu pružaju i IBM Switzerland kao i IBM R&D labaratorija u Boeblingen-u (Nemačka). Ako tome pridodamo i vest od pre mesec dana o izgradnji prvog IBM Nanoscale Exploratory Technology Lab-a (NETL, investicija od $90m) koji će biti posvećen istraživanjima na polju nanotehnologije upravo u Švajcarskoj, slika postaje jasnija. NETL centar bi trebao biti završen oko 2011 godine.

Entire countries are investing to compete in nanotechnology, said John Kelly, senior vice president and director of IBM Research, at the launch of NETL in Zurich today. “We view this investment as the bridge to the next 15 years. Nanotechnology will create the electronic components for future computers, be at the heart of many medical devices, and have first-order impacts on energy and the environment.”

Kada bi govorili samo o sistemu vodenog hlađenja u data centrima, to možda ne bi bilo toliko interesantno, da IBM nije počeo razvoj tehnologije hlađenja procesora i komponenti na najnižem mogućem nivou (za današnju dostupnu tehnologiju). Celokupna nova tehnologija razvija se zbog novog IBM cluster-a koji će prvi implementirati ova nova rešenja. Cluster koji nosi radno ime Aquasar Supercomputer bi trebalo da bude sastavljen od po dve BladeCenter šasije koje će imati mix bladeova QS22 sa IBM PowerXCell 8i procesorima kao i HS22 koji će nositi Intel Nehalem procesore unutar jednog rack ormana. Aquasar će biti prvi super kompjuter na svetu koji će direktno hladiti procesor “iznutra”.

I to nije sve. Toplota koju će disipirati celokupan data centar (svi rack ormani) iskoristiće se za zagrevanje prostorija same labaratorije u vidu podnog grejanja. Pored toga što Aquasar treba da smanji ukupnu disipaciju CO2 otprilike oko 30 tona po godini (po njihovim proračunima) u odnosu na postojeće sisteme istih karakteristika, Aquasar će smanjiti i potrošnju energije za oko 40%.  Nova tehnologija, tkz. chip-level water-cooling će omogućiti maksimalno iskorišćenje toplotne disipacije. Očekivana realna snaga novog cluster-a će biti oko 10 Teraflops-a a početak rada je najavljen za 2010-u godinu. Tim stručnjaka koji radi na ovom projektu tvrdi da je vodeno hlađenje ovih sistema i do 4000 puta efikasnije nego hlađenje vazduhom.

Chip-level hlađenje sa temperaturom vode od 60 stepeni celzijusa je dovoljno da drži sistem daleko ispod maksamlnih 85 stepeni celzijusa što dozvoljava slabije oscilacije u temperaturi. Moje neko razmišljanje, na temu ovog sistema se odnosi na deo gde ne verujem da će koristiti čistu vodu zbog kamenca, već će to možda biti neka vrsta glikola. Pored toga nigde još nije objavljeno kako će se vršiti filtriranje te tečnosti, jer najmanja prljavština može da napravi ozbiljan problem prilikom hlađenja ovako delikatnog sistema. Primera radi kada se vare cevi za hlađenje unutrašnji deo zavarene cevi nosi u sebi opiljke koji se tek posle izvesnog vremena pojave na filteru, što nije problem na velikim sistemima gde su prečnik cevi i ventila nekoliko hiljada puta veći nego što će ovde biti slučaj. Možemo samo da pretpostavimo da će servisiranje ovakve opreme biti obavezno (barem u  trajanju garancije ovakvog sistema) od strane IBM-a, što naravno neće biti jeftino.

I za kraj, video koji govori više od 1000 reči:

IBM XIV storage

July 5th, 2009 No comments

Od kako je IBM kupio XIV početkom prošle 2008-me godine, šuškalo se na sve strane o misterioznom XIV (iks-aj-vi) storage sistemu na koga je IBM bacio oko. Čini mi se da su od jun/jul/avgusta 2008-me počeli da se pojavljuju tekstovi po net-u o IBM-u i XIV-u. To verovatno ne bih ni zapazio da EMC u  isto vreme nije digao priličnu prašinu na tu temu, uglavnom po blogovima svojih razvojnih inžinjera, što i ne čudi kad je jedan od ključnih ljudi za razvoj XIV-a bio upravo čovek koji je otišao iz EMC-a. A zna se kako naš narod kaže, “za dobrim konjem se prašina diže”. U međuvremenu izašli su i IBM najave njihovih novih proizvoda (XIV hardware i XIV SSS v10 software). I onda je sve krenulo već svojim uobičajnim tokom. Od tada stigla je i prva izmena u konfiguraciji već početkom februara 2009-te.

IBM je XIV stavio u svoju tier 1 grupu, što znači da on spada u grupu High-end and Enterprise Disk systems kod IBM-a. Poređenja radi DS8000 serija je u istoj grupi sa ovim storage sistemom. Onda je odmah jasno koliko je ozbiljan uređaj u pitanju. Zbog čega je ovaj storage digao toliku prašinu? Zbog svog koncepta tj interne logike i arhitekture. XIV donosi potpuno novi koncept grid arhitekture standardnih (čitaj jefitnih) komponenti čije performanse, dostupnost i lakoća korišćenja nadmašuju sve dosadašnje storage sisteme. Sve to naravno ide uz cenu (ne samo cenu samog “gvožđa”) već gubitka prostora kojim raspolažete u odnosu na RAW prostor koji dolazi uz sam XIV, kao primer navešću osnovnu konfiguraciju koja stiže sa 72TB raw prostora. Od tih 72TB vi možete da iskoristite za svoje potrebe 27TB (ne nije šala). Za one koji ne veruju IBM XIV fact sheet (pdf). Pored gubitka prostrora postoje još neke mane ovog storage-a kao što je malo jača potrošnja struje (9kW po full reku), enormna količina toplote (26K BTU/satu) koju ovaj uređaj disipira (neki su imali problema da isti rashlade dovoljno) kao i fixne konfiguracije samog uređaja. Ovu poslednju “manu” su vrlo brzo shvatili pa su  u Avgustu 2008-e izbacili nove moguće konfiguracije ovog storage-a. Evo tabele koja ilustruje trenutne moguće kombinacije (sortirano po raspoloživom prostoru):

Broj modula 6 9 10 11 12 13 14 15
Prostor za korišćenje (TB) 27 43 50 54 61 66 73 79
Interfejs moduli 3 6 6 6 6 6 6 6
Data moduli 3 3 4 5 6 7 8 9
Diskovi 72 108 120 132 144 156 168 180
Fibre Channel portovi 8 16 16 20 20 24 24 24
iSCSI Portovi 0 4 4 6 6 6 6 6
Keš memorija (GB) 48 72 80 88 96 104 112 120

Neki će primetiti da nisam naveo u gornjoj tabeli raw prostor koji, kako bi se video gubitak u prostoru. S obzirom da su u pitanju jeftini SATA diskovi i da cena ovog storage sistema nije straobalno velika kao kod recimo DS8000 serije, ovaj gubitak u prostoru ne bi trebao da vas mnogo brine (čitaj boli).

Ok na stranu sve te negativne strane ovog uređaja. IBM ne bi ovoliko reklamirao ovakav storage, i ne bi ga prihvatile mnogobrojne firme tako brzo da on nema neku realnu težinu. Skoro sam prisustvovao IBM Forumu dinamične infrastrukture, koji se održao u Holiday Inn hotelu, u Beogradu  7.Maja ove godine. Na tom forumu između ostalog prezentovan je i XIV storage po prvi put u Beogradu. Još tada sam hteo da napišem par reči na temu XIV-a, ali mi moje obaveze to nisu dopustile, pa se evo 2 meseca kasnije ispravljam. Da krenemo odmah od arhitekture samog storage-a. S obzirom da slika govori 1000 reči, evo interne arhitekture (klik na slidžu za veću rezolociju):

Iz same arhitekture se odmah vidi drugačiji tkz. grid pristup arhitekturi ovog sistema. Za razliku od “starih” (?) sistema, XIV dolazi kao prazan rek sa backbone-om, 3 APC UPS sistema, i brojem modula koje ste izabrali prema kapacitetu storage-a. Svaki modul sadrži svoju sopstvenu disk grupu, memoriju, procesore i interfejs portove. Upravo tu leži glavna prednost ovog storage-a u odnosu na sve ostale storage sisteme i njihove performanse. 12 SATA diskova (1TB veličine), 8GB obične ram memorije, 1 quad core intel procesor i u zavisnosti od tipa modula ethernet, fibre channel ili iscsi moduli. Sama interna logika je bazirana na FC (do 4 Gbps) i TCP/IP protokolima pa je i zbog toga cena ovog uređaja drastično manja u odnosu na konkurenciju. Koristeći (jefitnu) tehnologiju i veoma kvalitetan software XIV donosi i novosti na polju kontrole podataka time što ravnomerno distribuira vaše podatke po celom storage-u i time potpuno eliminiše tkz. hot spots. Odličan pregled XIV mogućnosti daje i IBM product overview (pdf). O redudansi samog sistema nema potrebe trošiti previše reči, sve je redudantno (po N+1 sistemu) a tkz. fensi naziv “self healing” je marketinški naziv za segment software-a koji brine da se rebuild prilikom otkaza diska vrši najbrže moguće brzom preraspodelom podataka unutar storage-a (Između ostalog ovo je jedan od glavnih uzroka što sam storage “pojede” onoliki prostor za sebe) što u proseku traje oko 30 min. za 1 disk od 1 TB. Kako izgleda sam storage (uz direktno poređenje sa DS8000 serijom) možete videti na sledećem video snimku:

Sam storage raspolaže veoma intuitivnim i izuzetno jednostavnim GUI-em (što i ne čudi, jer ga nije pravio IBM već Izraelci) tako da praktično neko ko veoma malo poznaje ovakve sisteme, i bez nekog velikog iskustva, može da radi na istom. Naravno dozvolili su i klasičan CLI za nas koji volimo da prčkamo po internim stvarima ili ukoliko želimo da neke stvari automatizujemo. Na ovom linku je XIV prezentacija GUI software-a pa možete i sami videti o čemu pričam. Predstavljanje XIV-a na IBM Pulse 2009 konferenciji možete pogledati na ovom kraćem video snimku:

Categories: Storage Tags: , , , ,