Hrvatska akademska i istraživačka mreža
  NASLOVNICA MAPA WEBA TRAŽILICA KONTAKTI CARNET WEB
Hrvatska akademska i istraživačka mreža
 
menu 4
Sigurnost
menu 4
Distribucija
menu 4
Pomoć
menu 4
Dokumenti
menu 4
menu 4

 

 

21-03-05 20:48
Ganglia: napredna konfiguracija

piše EMIR IMAMAGIĆ

Nakon preliminarnog testiranja Ganglie u stvarnom okruženju uočene su neke razlike prema klasterskom okolišu.

Objašnjavamo kako konfigurirati Gangliu u ambijentu u kojemu se klaster nadzire s računala pod Windowsima ili kada računala za uzajamnu komunikaciju nisu u mogućnosti koristiti multicast.

Dodatno donosimo i način o tome kako se definiraju prava pristupa servisu gmond.

 

Jedna je od osnovnih pogodnosti Ganglie korištenje multicast adrese. Korištenjem multicasta pojedini gmond servisi ne moraju "znati" koji je članak zadužen za prikupljanje informacija. Ganglia se na klasterima konfigurira tako da se gmond na frontendu zadužuje za prikupljanje informacija, a gmondovi na čvorovima samo šalju informacije na multicast.

Korištenje multicasta je prednost ako su računala smještena u jednom mrežnom segmentu. To je obično slučaj kod klastera. Ako su pak računala smještena u više segmenata potrebno je posebno konfigurirati usmjernik. Dodatno, prijelaz multicasta preko usmjernika može stvoriti značajnu količinu prometa.

Od posljednja verzije Ganglie (3.0) servis gmond može koristiti i unicast za slanje informacija. Pri konfiguriranju je samo potrebno navesti adresu računala na kojemu je instaliran servis gmond koji prima informacije. Dodatno, gmondovi se mogu konfigurirati da šalju informacije na više unicast ili multicast adresa.

 

Instalacija servisa gmond na Windows platformu

Spomenuli smo već da Ganglia ima neka ograničenja na Windows platformi. Najbitnije ograničenje je nemogućnost korištenja multicasta za objavu i primanje informacija. Zbog toga je svakom gmond servisu potrebno definirati adresu računala na kojemu je smješten gmond koji "sluša" na odgovarajućem portu. Za definiciju se koristi skup varijabli udp_send_channel. Primjer konfiguracije računala koje šalje informacije računalu 161.53.2.83 na port 8649 je:

 

udp_send_channel{
/* Ime ili adresa računala koje
prikuplja informacije */
host = 161.53.2.83

/* port na kojem primajući gmond sluša */
port = 8649
}

 

Dodatno, obzirom da računalo ne prima informacije ni od koga, preporuča se isključiti "slušanje" definiranjem varijable deaf u skupini varijabli globals:

 

globals{
...
deaf = true
...
}

 

Općenito za nadzora skupa računala koja koriste Windowse preporuča se rezervirati ipak jedan stroj s OS-om zasnovanom na unixu. Na tom se računalu instaliraju servisi gmond i gmetad te web Ganglijino web sučelje. Gmond servis na tom računalu podasi se da "sluša" na određenom portu na sljedeći način:

 

udp_recv_channel{
/* port na kojemu gmond sluša */
port = 8649
}

 

Na računalu pod unixom obavezno je ukloniti varijablu deaf iz skupa varijabli globals te podesiti prava pristupa tako da sva računala mogu slati informacije (opisano u posljednjem odjeljku). Ako se želi nadzirati i samo unix računalo potrebno je podesiti skup varijabli udp_send_channel na isti način kao i kod Windows računala.

Gmetad pak treba konfigurirati da prikuplja informacije samo od lokalnog gmond servisa:

 

data_source "windows_pool" localhost

 

Obzirom da servis gmond ne može očitavati parametre load_* na Windows platformi, preporuča se promijeniti parametar koji se prikazuje na podrazumijevanoj web stranici ime_unix_stroja/ganglia. To se ostvaruje izmjenom varijable $default_metric u datoteci /var/www/html/ganglia/conf.php u željenu vrijednost (npr. "cpu_user").

 

Bitno je naglasiti da kod ovakvog oblika konfiguracije, gdje jedan gmond prima informacije od ostalih, nije potrebno otvarati firewall na računalima koja se nadziru. Također, važno je da prilikom restartanja središnjeg gmond servisa potrebno pričekati neko vrijeme da bi se pnovno prikupili svi podaci. Razlog tome je što se podaci šalju različitom učestalošću. Dakle, ako vam nakon restarta središnjeg gmonda pola računala ne bude prijavljivalo točan broj procesora potrebno je samo još neko vrijeme pričekati.

 

Nadzor računala u više mrežnih segmenata

Osim računala pod Windowsima, postoje i druge situacije u kojima za razmjenu informacija multicast nije moguć. U nekim slučajevima multicast je moguće koristiti samo u pojedinim mrežnim segmentima.

 

U takvim slučajevima moguća su tri rješenja:

  1. povezati računala u istom mrežnom segmentu u posebnu skupinu korištenjem servisa gmetad
  2. povezati računala u istom mrežnom segmentu korištenjem servisa gmond
  3. povezati sva računala izravno na središnje računalo pomoću unicasta.

 

Prvi slučaj je prikladan ako je skup računala u pojedinom mrežnom segmentu logički izolirana cjelina. Nepogodno je jer je jedno računalo u toj skupini potrebno odabrati i na njega instalirati gmetad. To će ga značajno opteretiti. S druge strane, promet između novog i središnjeg gmetad servisa značajno je manji nego u gmondu. U ovom slučaju konfiguraciji središnjeg gmetad servisa potrebno je dodati:

 

data_source "pool 1" adresa_gmetad_1:8651
data_source "pool 2" adresa_gmetad_2:8651
...

 

Drugi slučaj je prikladan ako skup računala u pojedinom mrežnom segmentu logički nije izoliran od ostalih računala. U takvom slučaju preporuča se da jedan gmond prikuplja informacije od ostalih i šalje ih središnjem servisu gmetad. Odabrani gmond servis konfigurira se dodavanjm skupa varijabli udp_send_channel identičnog kao kod strojeva pod Windowsima u prethodnom odjeljku. Ostali strojevi u tom segmentu mogu slati informacije odabranom gmond servisu putem multicasta ili putem unicasta.

 

Treće rješenje sastoji se u tome da se sva računala konfiguriraju da putem unicasta informacije izravno šalju servisu gmond na središnjem računalu. Takav pristup stvara značajan promet i zahtijeva da se svi instalirani gmond servisi konfiguriraju. Međutim, takav pristup je prikladan kada se nadzire razmjerno malo računala. Konfiguraciju pojedinih servisa za takav slučaj opisali smo u prethodnom odjeljku.

 

Kako su posljednja dva rješenja za slučajeve kad računala nisu logički odvojena od ostalih, preporuča se da testirate opterećenje mreže u pojedinim slučajevima. Najpogodnije je treće rješenje, ali ako se mjerenjem pokaže da se značajno opterećuje središnje računalo treba prijeći na drugo rješenje. Moguće je ostvariti kombinaciju drugog i trećeg rješenja tako da se u samo određenim segmentima uvede dodatni središnji gmond, a da ostali nastave informacije prijavljivati izravno središnjem. Općenito, moguće je konfigurirati i kombinaciju sva tri rješenja.

 

Konfiguracija prava pristupa

Korisnik može pomoću skupa varijabli acl definirati koja računala imaju prava pristupa gmond servisu. Pravo pristupa je samo kada servis gmond "sluša" na nekom portu. Ako se acl ne navede, servis gmond će odobriti pristup svim adresama. Pri navođenju prava pristupa moguće je koristiti adrese IPv4 i IPv6. Primjer definicije pristupa koja dozvoljava pristup isključivo računalu s adresom 161.53.2.83 je:

 

acl{
/*Općenito pravilo ("allow" ili "deny")
u ovom slučaju pristup je zabranjen svima*/
default = "deny"

/* hosts definira skup adresa
može se ponoviti neograničeno mnogo puta */
hosts {

/* IP adresa mreže */
ip = 161.53.2.83

/* mrežna maska */
mask = 32

/* prvo pristupa ("allow" ili "deny") */
action = "allow"
}
}

 





[Lista]
Ovu uslugu CARNeta realizira Sveučilišni računski centar Sveučilišta u Zagrebu
  Copyright ©2005. CARNet. Sva prava zadržana. Impressum.
Mail to
sys-portal@CARNet.hr