Ubuntu Jam 2010

| August 31st, 2010

Nedavno (pre 2 dana, 29. Avgusta 2010) bio gost na sajtu www.ubuntu-rs.org gde sam odrzao predavanje o EUnet Grid tehnologiji. Samo predavanje je bilo putem IRC-a, nakon chega su usledila pitanja korisnika

Evo kako je to izgledalo:




Ubuntu global Jam konverzacija na #ubuntu-rs (Sun 29 Aug 2010 06:58:58 PM CEST)

Legenda: predavač, komentar, pitanje

(06:58:58 PM) The topic for #ubuntu-rs is: Dobrodošli na kanal Ubuntu zajednice Srbije | http://www.ubuntu-rs.org | Novi ste ovde? Pročitajte: http://bit.ly/baXOwJ| Ubuntu Globaj Jam, večeras u 19h: http://loco.ubuntu.com/events/team/322/detail/ | Za pitanja koristite #ubuntu-rs-jam sobu


(07:13:21 PM) uros1: E sad zvanično dobro veče svima, dobrodošli na ovogodišnji Global Ubuntu Jam event LoCo time Srbije

(07:13:36 PM) uros1: za početak dobrodošlica Igoru Davidu

(07:13:48 PM) igordavid: hvala :)

(07:13:58 PM) uros1: administratoru EUnet-a, i našeg predavača na ovom eventu

(07:14:19 PM) uros1: predstavlja se grid tehnologija, koja, usput, tera i naš sajt, forum, itd

(07:14:35 PM) uros1: pa igore navali…

(07:14:50 PM) igordavid: hvala urose na uvodu

(07:15:25 PM) igordavid: dakle, kao sto je uros rekao, danas cemo pricati i razgovarati o Grid tehnologiji, koju je kreirala firma 3tera iz Majamija

(07:15:32 PM) igordavid: njihov web sajt je http://www.3tera.com

(07:16:12 PM) igordavid: za ucesnike ovog jam-a je unapred bio pripremljen link sa nekom dokumentacijom, koliko sam video par ljudi je pogledalo o cemu se radi

(07:16:22 PM) igordavid: i vec postavilo neka pitanja na forumu ubuntu-rs.org

(07:16:32 PM) igordavid: i dobila odgovore :)

(07:16:37 PM) combuster: istina

(07:17:10 PM) igordavid: pored ubuntu-rs.org sajta koji se trenutno nalazi na Gridu, kreirali smo i Ubuntu server

(07:17:28 PM) igordavid: nesto o samoj tehnologiji EUnet grida:

(07:17:51 PM) igordavid: Grid se sastoji od n nodova (servera), medjusobno povezanih gigabitnom mrezom

(07:18:24 PM) igordavid: svaki server ima 2 interfejsa, jedan za interni drugi za javni saobracaj

(07:18:45 PM) igordavid: prilikom instalacije grid-a, jedan server se proglasava za tzv "distribucioni" server

(07:19:02 PM) igordavid: na koji se preuzmu instalacioni paketi sa 3tera izvora

(07:19:09 PM) igordavid: taj distrib server moze da bude i obican laptop

(07:19:56 PM) igordavid: zato sto se sa njega samo vrsi instalacija

(07:20:52 PM) igordavid: u toku instalacije, podese se odredjeni conf parametri grida

(07:21:11 PM) igordavid: ip adrese koje ce se koristiti, razni interni grid parametri, itd

(07:22:10 PM) igordavid: u toku instalacije grida, definisemo i IP adresu tzv kontrolera

(07:22:27 PM) igordavid: preko kojeg upravljamo sa svim virtuelnim serverima

(07:22:54 PM) igordavid: dakle, nakon zavrsene instalacije, postoji kontroler, kojem pristupaju admini i kreiraju/modifikuju virtuelne servere

(07:23:30 PM) igordavid: ukratko, to bi bio proces instalacije grida, nakon cega imamo grid od n nodova tj servera

(07:24:21 PM) igordavid: posle instalacije, cela prica se vrti oko kontrolera tacnije preko kontrolera se sve obavlja za korisnike

(07:24:42 PM) igordavid: kontroler ima svoj GUI a moze se raditi i preko shell-a

(07:25:06 PM) igordavid: i ovde zapravo pocinje prava "snaga" Applogic Grid-a

(07:25:27 PM) igordavid: ukoliko neko nije pogledao link kako to izgleda, to moze uciniti ovde:

(07:25:29 PM) igordavid: http://www.3tera.com/AppLogic_demo.php

(07:26:18 PM) igordavid: dakle, kao sto vidimo na ovom linku, mi mozemo da kreiramo nove virtuelne servere (oni to zovu "aplikacije") preko Applogic GUI-a

(07:26:48 PM) igordavid: nakon sto odaberemo kreiranje nove aplikacije, ulazimo u poseban prozor

(07:27:04 PM) igordavid: sa leve strane imamo spisak tzv "appliance-a" a sa desne strane imamo prazan canvas

(07:27:38 PM) igordavid: appliance mozemo da posmatramo kao virtuelne servere sa predefinisanim i unapred instaliranim servisima

(07:28:07 PM) igordavid: dakle svaka od ovih kucica sa leve strane je jedan virtuelni server koji unapred ima instaliran neki servis, i interfejse

(07:28:58 PM) igordavid: kreiranje aplikacije – virtuelnog servera se obavlja prevlacenjem tih kucica sa leve strane u desni prazan prostor, canvas

(07:29:40 PM) igordavid: nakon prevlacenja appliance-a u desno, Applogic kreira instancu istog, tako da taj virtuelni server mozemo da modifikujemo po potrebi

(07:30:31 PM) igordavid: ukoliko zelimo da modifikujemo server i posle da ga takvog modifikovanog i koristimo, radimo tzv "branchovanje"

(07:31:04 PM) igordavid: (ja se unapred izvinjavam sto koristim strane izraze tipa appliance, branchovanje, itd, medjutim izrazi su nam vec usli u zargon)

(07:31:42 PM) igordavid: nakon prevlacenja appliance-a u desni canvas, sledi njihovo medjusobno povezivanje

(07:32:25 PM) igordavid: svaki od appliance-a ima unapred predefinisane interfejse za komunikaciju sa drugim appliance-ima

(07:33:30 PM) igordavid: npr, postoji IN gateway

(07:33:31 PM) igordavid: http://doc.3tera.com/AppLogic27/CatGatewayIn.html

(07:33:58 PM) igordavid: ovo je appliance koji se koristi skoro uvek, jer sluzi bukvalno kao gateway u citavu aplikaciju

(07:34:47 PM) igordavid: ili na primer ovaj INSSLR :

(07:34:48 PM) igordavid: http://doc.3tera.com/AppLogic27/CatGatewayINSSLR.html

(07:35:18 PM) igordavid: vidimo da on ima svoje interfejse, koji unapred sluze za dolazni saobracaj, takodje za odvajanje http/https od ostalog saobracaja, za monitoring, itd

(07:36:45 PM) igordavid: sledeci appliance koji je dosta koriscenj je WEB5, appliance koji ima instaliran webserver i predefinisane conf fajlove :

(07:36:45 PM) igordavid: http://doc.3tera.com/AppLogic27/CatWebserversWeb.html

(07:37:32 PM) igordavid: treci appliance koji bih spomenuo je NAS:

(07:37:33 PM) igordavid: http://doc.3tera.com/AppLogic27/CatMiscNas.html

(07:38:21 PM) igordavid: svaki od ovih appliance-a dakle predstavlja "server u malom", sa unapred predefinisanom svrhom, svojim parametrima, conf fajlovima i interfejsima

(07:38:44 PM) igordavid: za efikasno koriscenje Applogic-a, moramo da poznajemo sta svaki od ovih appliance-a radi i kako se koristi

(07:39:08 PM) igordavid: to se radi citanjem i razumevanjem 3terine kompleksne dokumentacije

(07:40:35 PM) igordavid: dakle imali smo 2 koraka – smestanje appliance-a sa leve strane u desnu stranu i njihovo medjusobno povezivanje preko interfejsa

(07:40:53 PM) igordavid: sledeci korak bi bilo definisanje osobina (property) svakog od appliance-a

(07:41:01 PM) igordavid: tacnije resursa

(07:41:11 PM) igordavid: svaki appliance ima unapred predefinisane resurse koje ce koristiti na serveru

(07:41:36 PM) igordavid: npr WEB5 appliance ima unapred 0.3 cpu core-a i 512 MB ram-a

(07:41:46 PM) igordavid: sto znaci da ce toliko resursa da zauzme na celom gridu

(07:43:08 PM) igordavid: nakon dodeljivanja resursa svakom appliance-u, potrebno je da definisemo koje virtuelne volume ce da koristi aplikacija

(07:44:05 PM) igordavid: na primer, novokreirani virtuelni server se nalazi na adresi http://ubuntujam.gridsrv.net

(07:44:48 PM) igordavid: svaki virtuelni server moze da promeni svoje resurse

(07:44:55 PM) igordavid: cpu, memoriju i velicinu diskova

(07:45:25 PM) igordavid: ovo je jako bitna osobina, jer ukoliko odredjena kolicina resursa ne odgovara nekome, ne mora da placa za sve to, nego samo smanji resurse

(07:45:51 PM) igordavid: isto tako, ukoliko se pokaze potreba za povecanjem resursa, lako se moze povecati kolicina dodeljenog ram-a, cpu-a i diskova

(07:47:14 PM) igordavid: ovo cemo upravo demonstrirati na testnom ubuntu serveru

(07:47:24 PM) igordavid: dakle, svako ko ima putty moze da napravi ssh konekciju

(07:47:55 PM) igordavid: ip: 62.204.39.55

(07:48:06 PM) igordavid: username: ubunturs

(07:48:08 PM) igordavid: password: ubunturs

(07:49:15 PM) igordavid: dakle, sa free -m mozemo da vidimo kolicinu ram-a

(07:49:29 PM) igordavid: sa "cat /proc/cpuinfo" vidimo koliko cpu core-a je dodeljeno

(07:49:58 PM) igordavid: trenutno je 4 GB ram-a i 2 cpu core-a

(07:51:54 PM) igordavid: izvinjavam se svima – posto su vecinom svi linuxasi, koristite logovanje preko shell-a koristeci ssh ubunturs@62.204.39.55

(07:52:49 PM) igordavid: nakon toga kucajte password ubunturs

(07:52:52 PM) igordavid: (isto kao i username)

(07:53:34 PM) igordavid: posto je tamo vec instaliran web server, pusticemo malo opterecenje na njega koristeci "siege"

(07:53:59 PM) igordavid: ukucajte "top" i pratite situaciju

(07:54:28 PM) uros1: Mem: 4194424k total, 545104k used, 3649320k free, 70776k buffers

(07:54:28 PM) uros1: Swap: 0k total, 0k used, 0k free, 219308k cached

(07:55:45 PM) igordavid: top – 18:55:34 up 2 days, 3:09, 11 users, load average: 0.52, 0.13, 0.04

(07:55:45 PM) igordavid: Tasks: 111 total, 4 running, 107 sleeping, 0 stopped, 0 zombie

(07:55:45 PM) igordavid: Cpu(s): 9.3%us, 1.0%sy, 0.0%ni, 89.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.2%st

(07:55:45 PM) igordavid: Mem: 4194424k total, 548804k used, 3645620k free, 70868k buffers

(07:55:45 PM) igordavid: Swap: 0k total, 0k used, 0k free, 219408k cached

(07:55:46 PM) igordavid: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

(07:55:48 PM) igordavid: 771 www-data 15 0 169m 21m 3544 S 3 0.5 0:01.38 apache2

(07:55:50 PM) igordavid: 942 www-data 15 0 157m 8844 3244 R 2 0.2 0:01.23 apache2

(07:55:51 PM) Beretta021: evo opterecena je masina malo :)

(07:55:52 PM) igordavid: 1193 www-data 15 0 157m 8824 3236 S 2 0.2 0:01.11 apache2

(07:55:54 PM) igordavid: 770 www-data 15 0 157m 8832 3252 S 2 0.2 0:01.13 apache2

(07:55:58 PM) igordavid: 773 www-data 16 0 157m 8868 3256 S 2 0.2 0:01.02 apache2

(07:56:00 PM) igordavid: 917 www-data 15 0 157m 8844 3248 S 2 0.2 0:01.20 apache2

(07:56:02 PM) igordavid: 927 www-data 15 0 157m 8844 3244 S 2 0.2 0:01.07 apache2

(07:56:04 PM) igordavid: 1192 www-data 15 0 157m 8824 3236 S 2 0.2 0:01.01 apache2

(07:56:06 PM) igordavid: 1194 www-data 15 0 157m 8824 3236 S 1 0.2 0:01.19 apache2

(07:56:08 PM) igordavid: 1522 www-data 16 0 157m 8828 3236 R 1 0.2 0:00.06 apache2

(07:56:37 PM) igordavid: pa da – opteretio sam je sa "siege"

(07:57:13 PM) igordavid: Lifting the server siege… done.

(07:57:13 PM) igordavid: Transactions: 633 hits

(07:57:13 PM) igordavid: Availability: 100.00 %

(07:57:13 PM) igordavid: Elapsed time: 12.83 secs

(07:57:13 PM) igordavid: Data transferred: 2.22 MB

(07:57:14 PM) igordavid: Response time: 0.10 secs

(07:57:15 PM) igordavid: Transaction rate: 49.34 trans/sec

(07:57:18 PM) igordavid: Throughput: 0.17 MB/sec

(07:57:20 PM) igordavid: Concurrency: 5.04

(07:57:22 PM) igordavid: Successful transactions: 633

(07:57:24 PM) igordavid: Failed transactions: 0

(07:57:26 PM) igordavid: Longest transaction: 0.18

(07:57:30 PM) igordavid: Shortest transaction: 0.09

(07:57:32 PM) igordavid: medjutim, server uspesno uspeva da odbrani napad :)

(07:57:40 PM) uros1: kakav je ovo report

(07:57:49 PM) combuster: iz sieg-a

(07:57:54 PM) igordavid: da, upravo to

(07:58:08 PM) igordavid: pokazuje brzinu, odziv, transakcije …

(07:58:23 PM) igordavid: vidimo da load sad ide i do 3

(07:58:45 PM) igordavid: 3.25 trenutno

(07:59:05 PM) igordavid: sada cemo zaustaviti sve, i smanjiti resurse na 0.25 cpu core i 256 ram-a

(07:59:14 PM) uros1: Cpu(s): 46.0%us, 8.0%sy, 0.0%ni, 45.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.2%st

(07:59:14 PM) uros1: Mem: 4194424k total, 571464k used, 3622960k free, 71100k buffers

(07:59:14 PM) uros1: Swap: 0k total, 0k used, 0k free, 221268k cached

(07:59:15 PM) combuster: :q

(07:59:25 PM) igordavid: Lifting the server siege… done.

(07:59:25 PM) igordavid: Transactions: 16224 hits

(07:59:25 PM) igordavid: Availability: 100.00 %

(07:59:25 PM) igordavid: Elapsed time: 101.05 secs

(07:59:25 PM) igordavid: Data transferred: 56.85 MB

(07:59:26 PM) igordavid: Response time: 0.12 secs

(07:59:30 PM) igordavid: Transaction rate: 160.55 trans/sec

(07:59:32 PM) igordavid: Throughput: 0.56 MB/sec

(07:59:34 PM) igordavid: Concurrency: 19.35

(07:59:36 PM) igordavid: Successful transactions: 16224

(07:59:38 PM) igordavid: Failed transactions: 0

(07:59:40 PM) igordavid: Longest transaction: 0.38

(07:59:42 PM) igordavid: Shortest transaction: 0.09

(07:59:44 PM) igordavid: stopiram server, i menjam resurse

(08:01:53 PM) igordavid: server startovan

(08:01:59 PM) igordavid: tj promenjena memorija i cpu

(08:02:04 PM) igordavid: ulogujte se da vidimo situaciju

(08:02:13 PM) igordavid: kao sto vidimo, menjanje resursa je trajalo oko 2 minute

(08:02:44 PM) igordavid: total used free shared buffers cached

(08:02:44 PM) igordavid: Mem: 256 156 99 0 4 60

(08:02:44 PM) igordavid: -/+ buffers/cache: 91 164

(08:02:44 PM) igordavid: Swap: 0 0 0

(08:02:46 PM) combuster: jedan core

(08:03:00 PM) combuster: jedan cpu izvinjavam se

(08:03:08 PM) igordavid: smanjili smo resurse na 256 ram

(08:03:39 PM) igordavid: pustili smo opet siege test

(08:03:45 PM) igordavid: pratimo load opet sa komandom "top"

(08:04:06 PM) igordavid: kao sto vidimo, load znacajno raste sada

(08:04:11 PM) igordavid: vec je 8.17

(08:04:16 PM) igordavid: (komanda top, gornji red)

(08:04:20 PM) igordavid: ili komanda "uptime"

(08:04:32 PM) igordavid: vidimo i da je odziv dosta sporiji

(08:05:06 PM) igordavid: ~# uptime

(08:05:06 PM) igordavid: 19:04:58 up 3 min, 13 users, load average: 13.56, 4.54, 1.61

(08:05:26 PM) uros1: CPU na 90%

(08:05:28 PM) igordavid: vidimo i da smo maltene ostali bez ram-a

(08:05:39 PM) igordavid: ~# free -m

(08:05:39 PM) igordavid: total used free shared buffers cached

(08:05:39 PM) igordavid: Mem: 256 252 3 0 1 31

(08:07:50 PM) igordavid: dakle vidimo da je server postao preopterecen

(08:08:04 PM) igordavid: vreme je da mu vratimo njegove resurse :)

(08:09:41 PM) igordavid: upravo stopiram server, tako da ako vas izloguje zbog toga je

(08:09:54 PM) igordavid: dakle, vidimo nacin na koji mozemo dodeliti resurse i skalirati ih po potrebi

(08:10:35 PM) igordavid: ovaj server je prikaz jednostavne aplikacije bazirane na Ubuntu serveru ver 9

(08:10:57 PM) igordavid: bez dodatih posebnih appliance-a

(08:13:44 PM) igordavid: server je ponovo startovan, ali sad sa 4 GB rama i 2 cpu core-a

(08:15:17 PM) igordavid: kao sto vidimo, situacija je sad mnogo bolja :)

(08:15:24 PM) igordavid: uptime

(08:15:24 PM) igordavid: 19:15:05 up 2 min, 7 users, load average: 0.05, 0.04, 0.01

(08:15:34 PM) igordavid: # free -m

(08:15:34 PM) igordavid: total used free shared buffers cached

(08:15:34 PM) igordavid: Mem: 4096 225 3870 0 4 55

(08:16:45 PM) igordavid: ukratko, to bi bilo to za sada

(08:17:20 PM) combuster: ok ko zeli da postavi pitanje to moze uciniti na #ubuntu-rs-jam

(08:17:25 PM) igordavid: ukoliko imate nekih pitanja, izvolite

(08:20:43 PM) combuster: (08:19:33 PM) webmasteryoda: dakle koliko ja znam da je eunet pre uvodjenja grid servera takodje radio sa vps serverima….. moze li malo objasnjenje zasto grid serveri nude bolju kontrolu zagarantovane brzine u odnosu na vps

(08:20:43 PM) combuster: (08:20:29 PM) webmasteryoda: jer je cinjenica da svi internet provajderi i dalje pricaju o tome da pruzaju zagarantovanu brzinu, tj. bandwith kroz svoju vps uslugu

(08:22:40 PM) igordavid: akcenat Applogic grida je – mogucnost dodavanja vise virtuelnih servera u jednu aplikaciju, cime se dobija izolovanost resursa za visoko zahtevne aplikacije

(08:23:07 PM) igordavid: na primer, malopre smo videli virtuelni server koji ima deljeni cpu i ram izmedju npr apache i mysql procesa

(08:23:21 PM) igordavid: e sad, zamislite da mozete da odvojite WEB i MYSQL na posebne virtuelne servere

(08:23:48 PM) igordavid: stavite vise web/mysql servera

(08:23:57 PM) igordavid: izmedju njih postavite load balancer appliance

(08:24:15 PM) igordavid: dakle svaki http request koji dodje, obradice posebna virtuelna masina za posebno dodeljenim resursima

(08:24:17 PM) combuster: (08:23:34 PM) webmasteryoda: igore izvini ali mislim da nisam dobro postavio pitanje….. dakle ne mislim na hardverske resurse servera,, vec na internet bandwith i deljenje istog sa komšilukom

(08:25:26 PM) igordavid: svaka aplikacija ima dodeljeni bandwidth koji moze da se menja

(08:26:19 PM) igordavid: svi serveri medjusobno komuniciraju preko gigabitnog svica

(08:26:50 PM) igordavid: sto znaci da zapravo brzina zavisi od uplink-a koji namenis gridu

(08:27:34 PM) combuster: (08:26:34 PM) Atlantic777: Ok, koje su to visoko zahtevne aplikacije?

(08:27:34 PM) combuster: (08:26:51 PM) Atlantic777: Da li su to iskljucivo web sajtovi/prezentacije?

(08:28:11 PM) igordavid: ne moraju da budu, ali obicno da – na primer magento se pokazao kao dosta dobar primer, jer zahteva dosta ram-a i cpu-a

(08:28:42 PM) igordavid: mail serveri takodje dosta dobro rade na Grid aplikacijama

(08:28:54 PM) combuster: (08:28:23 PM) Atlantic777: Da li mozemo grid iskoristiti za neku nasu aplikaciju tipa neka astronomska izracunavanja i sl. ?

(08:29:34 PM) igordavid: ukoliko je taj kod pisan u php-u, perl-u, pythonu, linux bash-u, c-u… moze

(08:31:53 PM) combuster: webmasteryoda: dakle pitanje vezano za migraciju…… na koji način se obezbeđuje sigurnost kod migracije i da li postoji opasnost da određena web aplikacija prestane da radi nakon migracije

(08:32:18 PM) igordavid: migracija neke aplikacije ?

(08:32:58 PM) igordavid: migracija neke aplikacije se vrsi tako sto se uspostave trusted relationships izmedju 2 ili vise grida

(08:34:21 PM) igordavid: zatim se ona kopira izmedju ta dva grida koristeci za to predvidjenje programe koje su napravili u 3teri

(08:34:34 PM) igordavid: http://doc.3tera.com/AppLogic24/RefAppMigrate.html

(08:35:05 PM) combuster: (08:33:44 PM) webmasteryoda: evo recimo da moja firma ima instaliranu odredjenu aplikaciju na gridu

(08:35:16 PM) combuster: webmasteryoda: pretpostavljam da vi s vremena na vreme migrirate softver ili os…… da li nakon te migracije moze da dodje do problema u funkcionisanju nase aplikacije

(08:35:55 PM) igordavid: svaka aplikacija se sastoji iz klasa (osnovna jedinica appliance-a)

(08:36:04 PM) igordavid: prilikom migracije zapravo se migriraju te klase

(08:36:30 PM) igordavid: ukoliko na udaljenom gridu vec postoji kreirana klasa, nema potrebe za migracijom cele klase nego se samo migriraju propertiji za tu klasu

(08:36:36 PM) igordavid: ukoliko nema – migrira se cela klasa

(08:36:42 PM) igordavid: svaka verzija grida ima svoje verzije klasa

(08:36:58 PM) igordavid: tako da nema bojazni od problema prilikom migriranja aplikacije

(08:37:19 PM) igordavid: zato sto ce ili raditi sto posto, ili nece raditi uopste jer ta verzija applogic-a ne podrzava tu klasu

(08:37:52 PM) igordavid: na primer, imali smo slucaj korisnika koji je imao zakupljen ceo Grid u USA

(08:38:24 PM) igordavid: zakupili su ceo grid u Londonu kod partnerske firme DNSEurope, i migrirali ceo Grid tamo

(08:38:44 PM) igordavid: migracija je trajala 2-3 nedelje, zato sto su bile u pitanju velike aplikacije

(08:39:04 PM) igordavid: to je jos jedna od mogucnosti Grida – da firma zakupi sopstveni Applogic Grid

(08:39:15 PM) uros1: koliko vidim jedna od osnovnih prednosti gledan iz ugla korisnika je ta što svoje resurse ne moraš da projektuješ u odnosu na maksimalni predviđeni saobraćaj na tvom sajt već u slučaju naglog povećanog protoka možeš da odgovoriš brzo jednostavno i bez prekida u radu, postoji li mogućnost da i na taj način on demand i platiš protok i resurse?

(08:39:48 PM) igordavid: upravo to

(08:40:00 PM) igordavid: uzmimo za primer neku turisticku agenciju

(08:40:09 PM) igordavid: koja obicno leti ima veliki saobracaj na web sajtu

(08:40:27 PM) igordavid: njoj se ne isplati da zakupljuje namenski server negde jer nema potrebe za njim tokom cele godine

(08:41:16 PM) igordavid: medjutim, ukoliko zakupi Grid server, ima mogucnost da placa npr minimalni server tokom perioda smanjene posecenosti, a kad pocne velika posecenost i opterecenje, da resurse poveca samo tad na odredjeni period

(08:41:46 PM) igordavid: jer svaka posecenost se na kraju izrazi u kolicini ram-a, cpu-a i bandwidth-a

(08:42:46 PM) combuster: ali limit je u svakom slucaju moguce definisati da se u slucaju nepredvidjene potrosnje resursa ne bi platilo previse ?

(08:43:01 PM) uros1: web radio ili striming, tu vidim dosta resursa koji miruju najčešće, a kad su opterećeni atraktivnim sadržajem imaju ogroman bandwith?

(08:44:10 PM) igordavid: limit se definise prilikom kreiranja aplikacije

(08:44:19 PM) igordavid: kolicina ram-a, cpu core-a i bandwith

(08:44:39 PM) uros1: (08:43:15 PM) djura-san: Ok, ja sam se malo kasnije uključio u diskusiju ali sam bacio pogled na ono o čemu je pisao Igor i pitam se sledeće: U slučaju napada na bilo koji server u gridu, teoretski, na tom serveru se može uraditi šta da bi se brzo uspostavila kontrola? "Pukne" jedan server u gridu i samim tim šta dalje raditi? Preusmerite protok ili isti prekintete kako bi zaustavili napad jel? Pored toga, interesuje me i slede

(08:44:39 PM) igordavid: tako je – streaming je jedan od servisa koji imamo na Gridu

(08:46:04 PM) igordavid: nisam spomenuo da je Grid pogodan za kreiranje tzv "template-a"

(08:46:13 PM) igordavid: na primer, malopre smo se logovali na Ubuntu server

(08:46:51 PM) igordavid: i sad ukoliko zelimo da nesto posebno na njega instaliramo, mozemo to kasnije iskoristiti i napraviti template od njega

(08:47:16 PM) igordavid: na primer, imamo audio streaming server u ponudi, koji je unapred pripremljen Icecast2 server na Gridu

(08:48:08 PM) igordavid: @djura-san ukoliko mislis napad na virtuelni server-aplikaciju, stvar je sledeca

(08:48:42 PM) igordavid: napad se obicno vrsi ili preko javno dostupnih servisa kao sto je apache ili preko odredjenih propusta u samom kodu web aplikacije

(08:48:59 PM) igordavid: ili napada preko login servera tipa ssh/ftp

(08:49:11 PM) igordavid: ovaj treci cemo odmah izbaciti ukoliko stavimo dobar firewall

(08:49:21 PM) igordavid: za ovaj drugi nema odbrane ukoliko se web aplikacija ne napishe dobro

(08:49:33 PM) igordavid: konkretno, secamo se busne Joomle 1.1 koja je omogucavala dobijanje admin pristupa

(08:50:22 PM) igordavid: napad koji se vrsi zloupotrebom preko odredjenih servisa, se brani tako sto se ti servisi izoluju na posebne virtuelne masine, i podese

(08:50:52 PM) igordavid: na primer apache – podesi se da brzo prekida konekcije, podesi se mod_sec ili mod_evas, ili nesto drugo, koje ce da blokira IP adrese koje se ponasaju nerazumno

(08:52:05 PM) combuster: Atlantic777: Spomenuto je da jedan appliance može da zauzima resurse samo jednog noda. Koje su karakteristike pojedinačnih nodova?

(08:54:41 PM) igordavid: na primer, zastita od napada preko iskoriscenja resursa apache servera bi mogla da se ostvari koriscenjem vise web servera, kao na ovoj aplikaciji:

(08:54:43 PM) igordavid: http://ubuntujam.gridsrv.net/ubuntujam/primer-skalabilnog-servera.png

(08:57:06 PM) igordavid: karakteristike nodova – serveri sa Intel-ovim Xeon procesorima, diskovima i dosta ram memorije :)

(08:57:53 PM) combuster: webmasteryoda: pitanje vezano za mirroring: da li je mirror smešten u okviru istog data centra gde je smešten i sam volume i na koji način se vrši backup podataka…… "raid" metodom ili prostom sinhronizacijom

(08:58:05 PM) igordavid: prostom sinhronizacijom

(08:58:25 PM) combuster: webmasteryoda: u kojim vremenskim intervalima

(08:59:22 PM) igordavid: ne znam tacno, ali je u pitanju par minuta

(08:59:22 PM) combuster: webmasteryoda: i da li je mirror smešten u okviru istog data centra gde je smešten i sam volume ?

(08:59:29 PM) igordavid: da

(09:01:06 PM) combuster: Atlantic777: Da li je proces menjanja kolicine resursa za aplikaciju (virtuelni server) moguce automatizovati ili se kolicina resursa menja iskljucivo na zahtev?

(09:01:21 PM) combuster: Atlantic777: zahtev kupca*

(09:01:46 PM) igordavid: trenutni Applogic-ov kontroler omogucava logovanje samo administratorima

(09:02:01 PM) igordavid: koji mogu da menjaju resurse

(09:02:12 PM) igordavid: medjutim, EUnet je razvio svoj kontrolni panel koji jos uvek nije pusten

(09:02:29 PM) igordavid: i koji ce imati mogucnost da korisnici menjaju svoje resurse uvek i svugde, po potrebi

(09:02:47 PM) combuster: ali se menjanje resursa ne menja dinamicki u odnosu na opterecenje ?

(09:02:58 PM) igordavid: dakle bice omoguceno samim korisnicima da se uloguju na kontrolni panel i menjaju svoje resurse po potrebi

(09:03:01 PM) Atlantic777: Znaci ako kažem hoću dva meseca te resurse, to je to? Ne bi moglo da sistem sam povuče više resursa ako opterećenje pređe recimo 80%?

(09:03:41 PM) igordavid: postoji i tako nesto

(09:03:43 PM) igordavid: http://doc.3tera.com/AppLogic27/CatMonitoringMon.html

(09:03:47 PM) igordavid: ovo je monitoring appliance

(09:03:56 PM) igordavid: koji omogucava monitorisanje svih drugih appliance-a

(09:04:11 PM) igordavid: taj appliance se prikachi na primer na WEB5 appliance, na kojem se nalazi Apache server

(09:04:31 PM) igordavid: zatim se prikachi i ovaj appliance:

(09:04:32 PM) igordavid: http://doc.3tera.com/AppLogic27/CatDynSla.html

(09:04:55 PM) igordavid: koji omogucava da se neka komponenta podigne ili spusti ako su se odredjeni resursi smanjili/povecali

(09:05:40 PM) igordavid: pored ovoga, korisnik/administrator/kupac moze da kreira svoje skripte, na primer u bash-u ili perl-u ili c-u ili cemu god hoce, koje ce monitorisati virutelni server

(09:06:08 PM) igordavid: ukoliko je neko razvio sopstveni monitoring za servere, vrlo lako se moze integrisati sa Grid-om koji ce startovati i stopirati neke komponente

(09:06:53 PM) combuster: djura-san: Koliko je kompletan set aplikacija i ceo backend štedljiv? Svedoci smo da sa porastom brzine i kvaliteta računara, vrtoglavo opada način programiranja i upotreba resursa. Kako grid serveri i kompletan backend za njih stoji na ovom polju?

(09:08:34 PM) igordavid: ukoliko mislis na stedljivost resursa unutar samog virtuelnog servera koji kupac uzme – daju se svi resursi korisniku, pa ako je on stedljiv bice i virtuelni server dobar prema njemu :)

(09:08:45 PM) igordavid: pod "svi resursi" mislim na one koje je zakupio

(09:09:27 PM) igordavid: ukoliko probije resurse, sistem ce biti nemilosrdan jer ce se javiti OOM-killer koji ce poubijati procese

(09:09:59 PM) igordavid: ili ce npr apache prestati da radi tj davace timeoute, ili ce npr amavisd da prestane sa radom, ili nesto trece

(09:10:14 PM) combuster: djura-san: mislio sam na kvalitet aplikacije koja upravlja nodovima i aplikacijama unutar istih!

(09:11:20 PM) igordavid: ti resursi se unapred dodeljuju tim aplikacijama koje upravljaju nodovima, tako da ono sto je predodredjeno za korisnike bice im i dato

(09:11:39 PM) igordavid: hocu reci – ne moramo da brinemo da te aplikacije koje upravljaju nodovima "jedu" korisnicke resurse

(09:12:12 PM) combuster: webmasteryoda: To sto su aplikacije potpuno nezavisne od hardverske infrastrukture da li to znaci da je sam OS instaliran u nekom specificnom "uni-kombatibilnom" virtuelnom okruzenju

(09:14:46 PM) igordavid: OS je instaliran sa paravirtuelizovanim kernelom i modulima koje zahteva, i nakon toga skriptama koje ce omoguciti menjanje OS-a sa Applogic kontrolera

(09:15:30 PM) igordavid: OS koji korisnik dobije ima svoja "pravila" koriscenja jer ne smeju da se diraju skripte od strane Applogic-a i conf fajlovi

(09:15:41 PM) igordavid: medjutim, do sada to nikom nije bila neka smetnja

(09:16:11 PM) igordavid: pogotovo u kompleksnim aplikacijama

(09:16:20 PM) igordavid: gde npr postoje posebni interfejsi definisani kroz /etc/hosts

(09:16:39 PM) igordavid: na primer na slici http://ubuntujam.gridsrv.net/ubuntujam/primer-skalabilnog-servera.png

(09:16:48 PM) igordavid: vidimo da WEB5 "pricha" sa MYSQL applianceom

(09:17:11 PM) igordavid: zapravo je u pitanju zapis na WEB5 serveru tipa

(09:17:18 PM) igordavid: /etc/hosts/db 10.10.3.4

(09:17:22 PM) igordavid: i mi kad uradimo sa WEB5

(09:17:24 PM) igordavid: mysql -h db

(09:17:45 PM) igordavid: on ce da nas spoji na MYSQL appliance, koristeci tu internu IP adresu da bi dosao do mysql appliance-a

(09:18:05 PM) igordavid: (mozda sam otisao malo od pitanja medjutim pokusao sam da docaram kako svaka kompleksna aplikacija ima svoje zasto i zato)

(09:18:56 PM) combuster: ok ja bih se nastavio na ovo pitanje pa bih upitao da li su Xeon-i koje smo videli u /proc/cpuinfo zapravo virtualni procesori ?

(09:21:02 PM) igordavid: pa, na kraju se svode na prave procesore ali u sustini jesu virtuelni procesori tacnije jezgra

(09:22:00 PM) igordavid: ukoliko za neku apliaciju dodelimo 2 jezgra, on ce u svojoj virtuelnoj aplikaciji videti 2 jezgra tacnije 2 cpu zapisa

(09:22:57 PM) combuster: pitam zbog eventualne buduce nadgradnje grid-a, nece vam biti dostupne identicne komponente (recimo procesori) a nudite snagu po procentima od jedinicne snage nekog procesora (0.25/0.50/1/2/…)

(09:24:08 PM) igordavid: to jeste istina, medjutim siguran sam da cemo smisliti adekvantu ili migraciju aplikacija na novi grid ili jednostavno mogucnost da korisnik ostane na istoj arhitekturi

(09:24:42 PM) igordavid: kao i na shared hostingu gde jedan server deli istu verziju php-a na primer, pa treba smisliti strategiju prelaska na noviji php :)

(09:25:35 PM) combuster: aha ok, posto svi klijenti isto placaju jezgra, problem je u tome da svima jezgra imaju jednake performanse

(09:26:23 PM) igordavid: imace :)

(09:28:58 PM) uros1: prešišali smo termin za pola sata, što na najbolji način govori o atraktivnosti teme. Da ne bi zadržavali predavača, predlažem da tema na forumu ostane otvorena, a zamolio bih Igora da povremeno svrati i da od svog dragocenog vremena izdvoji malo da bi zadovoljio radoznalost korisnika

(09:29:51 PM) uros1: I još jednom da se ahvalim Igou na nadahnutoj pezentaciji, EUnetu na volji da instalira i demonstrira Ubuntu na ovoj platformi

David Goran

| August 24th, 2010

čestitke bratu Goranu Davidu  na uspešnom takmičenju iz hemije i istorije

cestitka goranu davidu

apache keepalive configuration

| August 4th, 2010

recently,

I needed to setup one server with huge apache traffic (> than 40K unique visits per day), and I found that keepalive apache is very usefull!

It helps apache to keep connection for some period of time.

Here are values that we have added to that server:

keepalive on
Timeout 60
MaxKeepAliveRequests    256
KeepAliveTimeout 5
StartServers        5
MinSpareServers     5
MaxSpareServers     10
ServerLimit         48
MaxClients          48
MaxRequestsPerChild 128

We have analyzed site traffic first with apachetop tool with
“apachetop -f /var/log/httpd/access_log and have examined situation with how many object apache need for one regular
visitor, and based on that timing we have those values.

zend optimizer “problem”

| April 23rd, 2010

nedavno,

dodavao sam podršku za ZendOptimizer koji zahteva da se izmeni php.ini i doda direktiva:

zend_extension = “/full-path-to-so/”

..sto znachi ako se .so file stavi u npr /opt/zend direktorijum, stavi se onda:

zend_extension = “/opt/zend/ZendOptimizer.so”

Medjutim, problem je nastao kad treba da se zada putanja za licencni fajl, poshto u online dokumentu:

http://www.zend.com/topics/Zend-Optimizer-User-Guide-v330-new.pdf

stoji da se stavlja varijabla:

“zend_optimizer.licence_path” = “path-to-licence-file”

… koja nije dobra zbog slova “c” u rechi “licence”!

Tako da zapravo treba da se stavi putanja:

“zend_optimizer.license_path” = “path-to-licence-file”

shto sam im i rekao na forumu…

http://forums.zend.com/viewtopic.php?f=57&t=6209

improve putty configuration

| March 31st, 2010

*article taken from http://dag.wieers.com

Configure your Putty first, then make entries.
This is important advice. First configure your environment before you start using it. This is especially true for Putty, since you always start of from the default, it is important to configure the default entry before you create entries from these defaults. It will save you a lot of time afterwards to get things straight.

So before you make any changes, open the default template in Category: Session by selecting Default Settings and pressing the Load button.

Make SSH the default.
If you have an older version of Putty, chances are that you have Telnet as the default protocol. Changing it to SSH will probably save you some time when you start Putty out-of-the-blue. For this go to Category: Session and select SSH.

Increase scrollback buffer.
By default Putty buffers 200 lines of output, which is too little in lots of circumstances. And the moment you actually need this number increased, chances are you already lost some information you wanted. So it is wise to increase this number. What I do is go to Category: Window and increase Lines of scrollback to 20000.

Choose a good font.
The newer Putty binaries are able to make use of ClearType which drastically improves the font quality compared to Antialiased. Go to Category: Window > Appearance, choose ClearType and a nice font. I prefer Lucida Console, 9-point.

When you are there, you might want to change the Gap between text and window edge to 3 pixels.

Use proper character encoding.
Nowadays all Linux systems are able to use Unicode (UTF-8) so to make sure that the output in Putty (especially everything non-ascii) looks fine, go to Category: Window > Translation and change the character set to UTF-8, make sure that also the line drawing characters use Unicode as well.

Linux copy-and-pasting.
I prefer to do an implicit copy when selecting and using the middle mouse button for pasting. So I go to Category: Window > Selection and set the Action of mouse buttons to xterm (Right extends, Middle pastes)

When you are there, also enable the option Paste to clipboard in RTF as well as plain text, which is nice when you are copy-and-pasting to emails or text documents that allow fonts and colours. Your console output will look much the same as it does on your screen!

Change dark colours on a black background.
One of the more annoying things with terminal applications (xterm has the same issue) is that by default dark-blue is too dark to be visible on a black background. Not only is this frustrating, it makes the experience for new users so bad that they prefer to disable colours (or hate the ls colour output or syntax highlighting in vim).

So if you are like me, go to Category: Window > Colours and select ANSI Blue in the Select a colour to adjust to Red:74 Green:74 Blue:255. I do the same for ANSI Blue Bold to Red:140 Green:140 Blue:255.

Keeping idle sessions active.
Another frustrating problem is induced by the time-to-live of inactive or idle TCP sessions on firewall or switch configurations. At some companies this is put aggressively low so that TCP sessions that have no activity for 1 minute or even 30 seconds are being dropped. If you are using an SSH connection over such a network device, you have to take care to send keep-alive packets over your idle session. To do this go to Category: Connection and set Seconds between keepalives (0 to turn off) to 25.

Enable X11 forwarding.
Together with Xming, Putty allows you to run graphical Linux applications on your Windows system, so enabling X11 forwarding by default can be useful. To enable this, got to: Connection > SSH > X11 and enable Enable X11 forwarding.

Also dynamic forwarding is very useful to connect to systems on a remote network, even when you do not know in advance having it enabled can be useful. This option however reserves a local port on the system so enabling it by default is not really practical. However you can still enable it from a running Putty by selecting Change settings.

Finally, saving the default.
Now, don’t forget to save the changes you just made to the default template. If you loaded the Default Settings at the start, return back to Category: Session and press the Save button. Now you are done !

na operaciju sam se odlucio jer od malena ne mogu pravilno da dišem na nos, što je (verovatno) uzrokovalo druge probleme (npr alergija na grinje kućne prašine)

operaciju sam obavio u Kliničkom centru Srbije, gde sam čekao na operaciju od srede do utorka, trebao sam biti operisan dan posle prijema (u četvrtak) ali nakon što su me spustili dole u operacionu salu i uboli iglu za sedativ, saopštili su mi da više nema hirurškog veša i da ne mogu da me operišu, probaće sutra

sutra dan naravno ništa od toga, tako da sam čekao preko vikenda, i u utorak su me operisali

samu operaciju ništa ne osećate jer ste pod totalnom anestezijom, ali zato posle… nakon što sam se probudio, osećao sam kao da sam popio 20 piva i 5 litara rakije, bez ikakvog mezeta!

u nosu sam imao tampone do petka, u međuvremenu sam jedva disao i spavao od njih..

nakon skidanja tampona, situacija se polako stabilizuje ali i dalje ponekad boli glava i teško se dolazi do daha jer se uglavnom još uvek diše na usta

od terapije koristio sam antibiotike 4 dana nakon operacije, a nakon skidanja tampona stavljam nonstop fiziološki rastvor u nozdrve

oporavak u toku…

septoplastika

apache usefull tips

| February 24th, 2010

graceful restart apache service:

/etc/init.d/httpd graceful

stop apache:

/etc/init.d/httpd stop

start apache:

/etc/init.d/httpd start

reload apache:

/etc/init.d/apache reload

allow rewrite module (.htaccess and .htpasswd files with all possible rewrite commands!) put in httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

<Directory “/var/www/html”>
RewriteEngine On
Allowoverride All
Order allow,deny
Allow from all
<Directory\>

to allow directory listing, put this in .htaccess file:

Options +Indexes

if there is need to put some other index files (for example test.html), put in .htaccess:

DirectoryIndex pera.html

to hide some file extensions (for example .gif or .jpg), put in .htaccess:

IndexIgnore *.gif *.jpg

established connections which can indicate some problem:

netstat -na | grep :80 | grep EST | sort -k 5

to redirect domain without “www” to domain with “www”  put in .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)example.net [NC]
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L]

create custom error log, put in .htaccess:

ErrorDocument 404 http://www.yourhostname/customerrorlog.html

Cisco 877w sample configuration

| February 22nd, 2010

This is my current Cisco 877w running configuration, it consists of:

  1. adsl wan access (ppp with pap authentication, pvc 8/35)
  2. wan ip range (no nat!)
  3. wireless open authentication with pre-shared wpa key

Current configuration : 2747 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname your-hostname
!
boot-start-marker
boot-end-marker
!
logging queue-limit 1000
logging buffered 100000
logging reload alerts
logging rate-limit console 20
enable secret 5 yourpass
!
no aaa new-model
!
dot11 ssid MySSID
vlan 1
authentication open
authentication key-management wpa
guest-mode
wpa-psk ascii 0 yourWPApassword
!
ip cef
!
!
no ip dhcp use vrf connected
ip dhcp excluded-address xxxx.xxxx.xxxx.xxxx
!
ip dhcp pool vlan1
network xxxx.xxxx.xxxx.xxxx xxxx.xxxx.xxxx.xxxx
default-router xxxx.xxxx.xxxx.xxxx
dns-server xxxx.xxxx.xxxx.xxxx
domain-name your-domain
!
!
!
multilink bundle-name authenticated
!
!
!
!
username admin privilege 15 secret 5 your-password
!
!
!
bridge irb
!
!
!
interface ATM0
no ip address
logging event subif-link-status
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
description your-adsl-description
no snmp trap link-status
pvc 8/35
pppoe-client dial-pool-number 3

!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Dot11Radio0
no ip address
!
encryption vlan 1 mode ciphers tkip
!
ssid MySSID
!
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Dot11Radio0.1
encapsulation dot1Q 1 native
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 spanning-disabled
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding
!
interface Vlan1
no ip address
bridge-group 1
!
interface Dialer1
description youradsldescription
ip address negotiated
no ip redirects
no ip unreachables
no ip proxy-arp
ip virtual-reassembly
encapsulation ppp
no ip mroute-cache
dialer pool 3
dialer-group 1
no keepalive
no cdp enable
ppp authentication pap callin
ppp pap sent-username your-adsl-username password 0 your-adsl-password
!
!
interface BVI1
ip address xxxx.xxxx.xxxx.xxxx xxxx.xxxx.xxxx.xxxx
!
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
no ip http server
no ip http secure-server
!
access-list 1 permit xxxx.xxxx.xxxx.xxxx xxxx.xxxx.xxxx.xxxx
!
!
!
!
control-plane
!
bridge 1 protocol ieee
bridge 1 route ip
!
line con 0
password your-password
login
no modem enable
transport output all
line aux 0
transport output all
line vty 0 4
access-class 99 in
exec-timeout 20 0
password your-password
login
transport input all
transport output all
!
scheduler max-task-time 5000
end

cisco 877w

Punto – prvih 5K km

| February 19th, 2010

5k punto

Danas sam uradio upgrade na poslednji Wordpress 2.8.5 na standardni način:

  1. Preuzeo najnoviju verziju WP 2.8.5
  2. Uradio backup svih fajlova i baze
  3. Obrisao direktorijume wp-includes i wp-admin
  4. Kopirao sve fajlove iz root-a novog WP sajta u root sajta
  5. Kopirao direktorijume wp-includes i wp-admin u root sajta
  6. Kopirao fajlove iz wp-content WP instalacije na server u dir wp-content

Međutim javila se greška:

Fatal error: Call to undefined function is_site_admin() in /home2/menoobco/public_html/wp-content/plugins/sem-google-analytics/sem-google-analytics-admin.php on line 20

Problem je što developer još nije ažurirao svoj plugin, tako da je potrebno uraditi samo rename direktorijuma wp-content/plugins/sem-google-analytics u nešto drugo, tipa sem-google-analytics2