Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Softver telekomunikacionih sistema
Univerzitet u Novom SaduFakultet tehničkih naukaDepartman za energetiku, elektroniku i
telekomunikacije
Katedra za telekomunikacije i obradu signala
Komunikacije sa storage sistemima
Sadržaj
• NAS sistemi
• Protokoli za pristup NAS sistemima
• Distribuirani fajl sistemi na NAS storage-ima
• Zaključak
NAS sistemi
NAS mreže
• Konstantno povećavanje broj korisnika u mrežama i srazmerno tome količine podataka, inicira razvoj efikasne tehnologije za skldištenje podataka.
• Network Attached Storage mreže pouzdana, jeftina, stabilna, efikasna rešenja koja daju dobre performanse.
• Hard diskovi se odvajaju od serverskih računara i smeštaju u poseban NAS uređaj kome se pristupa preko mreže, čime se postiže efikasniji protok podataka i aplikacija koje se obavljaju na serverima.
NAS uređaji
• NAS uređaji (eng. Network Attached Storage devices) su serveri kojima se dodeljuje IP adresa radi povezivanja na LAN mrežu i imaju funkciju samo da šeruju fajlove. – Zahtevi za fajlovima potražuju se od
glavnog servera koji fajlove preuzima od NAS fajl servera.
• Nadogradnja memorijskog prostora na NAS sistemima (uređajima), može se obavljati bez zastoja u mreži, jer je nadogradnju moguće izvesti bez gašenja servera.
Kako funkcionišu NAS uređaji
• NAS uređaji su „plug and play“ tipa i dizajnirani su da odgovore na potrebe korisnika u realnom vremenu bez obzira na njihov operativni sistem.– Većina NAS uređaja sadrži dva ili četiri
diska koja se mogu postaviti u neku od RAID konfiguracija
– Konfiguraciju se najvećim delom oslanja na web interfejs, a uz uređaj se isporučuje i specijalna aplikacija za backup podataka
– Klijenti mogu da traže od NAS uređaja bilo koje podatke, ali NAS uređaj prvo mora da utvrdi njihovo poreklo i tek onda da im pošalje nazad odgovarajuće podatke, formatirane i prilagođene njihovim zahtevima.
Od čega zavise preformanse NAS uređaja?
• Performanse NAS uređaja zavise od:
– Podsistema storidž uređaja odnosno od izbora RAID konfiguracije kojom se pravi izbor između performansi i pouzdanosti.,
– Brzine mrežne konekcije,
– Brzine procesiranja i
– Količine sistemske memorije.
• Klijenti nisu ograničeni da koriste samo jedan protokol u komunikaciji sa NAS serverom.
Kako se pristupa NAS uređaju?
• Podacima uskladištenima u NAS uređajima pristupa se kroz mrežu, a preko servera koristeći file-based mrežne protokole za deljenje podataka kao što su NFS, SMB/CIFS ili SAMBA protokol.
– Hardver NAS uređaja bazira se na MIPS i ARM procesorima na štampanim pločama sa odgovarajućom logikom pristupa diskovima i mrežnim interfejsom koji koristi nešto jeftinije mrežne čipove.
– Modeli NAS uređaja opremljeni MIPS/ARM procesorima u većini slučajeva ne mogu da postignu propusnost Gigabit Ethernetmreže.
Network File System
• Network File System (NFS) je aplikacija koja omogućava korisnicima da pregledaju, ažuriraju ili skladište podatke na udaljenom računaru uz utiska kao da to čine na sopstvenom hard disku.
• Podrazumeva UNIX fajl sistem interfejs na serveru baziran na open, read, write i close pozivima i deskriptorima fajlova.
Operacije nad fajlovima• NFS poseduje skup procedura kojima omogućava sledeće
operacije na udaljenim fajlovima:
– Čitanje ulaznih upisa u direktorijum
– Manipulacija linkovima i direktorijumima
– Traženje fajlova unutar direktorijuma
– Pristupanje atributima fajlova
– Čitanje postojećih i upisivanje novih sadržaja u fajlove.
• NFS ne obezbeđuje mehanizme konkurentnosti procesa.
– Prvo se vrši modifikacija podataka na disku servera, a potom se rezultati vrate klijentu.
Serverski procesi
• Serverski procesi su potrebni da bi različiti klijenti dobili slične servise paralelno.
– Ako serverski proces ima jednu kontrolnu nit i trenutno je suspendovan čekajući neki događaj, zahtevi ostalih klijenta ne mogu biti obrađeni i procesi klijenata su blokirani
– Kreiranjem niti za svaki zahtev omogućava da se procesi klijenata ne blokiraju, jer serverski proces obrađuje zahteve klijenata konkurentno, ali se svaka nit izvršava sekvencijalno.
• Procesi su sekvencijalni programi koji imaju jednu nit kontrole izvršenja i adresni prostor, a konkurentni su oni sekvencijalni procesi koji se simultano izvršavaju.
– Neki od konkurentnih procesa se mogu razdvojiti i izvršiti konkurentno, dok je ostalima potrebna koordinacija u obliku komunikacije ili sinhronizacije.
Protokoli za pristup NAS sistemima
Arhitektura protokola za pristup fajlovima
• Tipična implementacija je u klijent-server arhitekturi:
– Mrežna konfiguracija servera, omogućava klijentu da preko firewall-a pregovara sa serverom, kako bi se sprovela autentifikacija
– Na NFS serveru je implementiran NFS daemon proces koji podatke treba da učini dostupnim za klijente
– Korisnik traži pristup eksportovanim fajlovima preko mount komande, ali administracija servera zbog zaštite podataka zahteva validaciju tog klijenta
– Ako je sve u redu klijent pristupa fajl sistemu samo u okviru dozvoljenih parametara odnosno administrator servera određuje šta će biti dostupno, eksportujući imena i parametre direktorijuma (obično koristi /etc/exports konfiguracioni fajl i komandu exportfs).
Fajl sistem na NAS uređajima
• Za komunikaciju sa NAS serverom koristili su se različiti protokoli:
– SMB (eng. Server Message Block) protokol koji je omogućavao korisnicima Windows operativnog sistema da pristupe, kreiraju ili ažuriraju fajlove na udaljenom serveru, ali i da pristupe mejlovima ili printerima koji su takođe udaljeni preko TCP/IP ili drugih mrežnih protokola kao što su IPX i NetBEUI.
– CIFS (eng. Common Internet File System) je standardni protokol koji omogućava korisnicima koji poseduju različite operativne sisteme (Windows, UNIX i Linuxoperativne sisteme) da zatraže određene fajlove sa udaljenih računara koji su na Internetu.
SMB protokol
• SMB (eng. Server Messages Block) je klijent-server protokol aplikativnog sloja OSI modela, koji se uglavnom koristio do 1998. godine na računara u mreži sa windows operativnim sistemom i to najčešće za:
– Razmenu fajlova,
– Deljenje štampača i
– Deljenje serijskih portova.
CIFS protokol
• Od 1998. godine, koristi se modifikovana verzija SMB protokola, tzv. CIFS (eng. Common Internet File System) protokol, koji korisnicima pruža nove mogućnosti: simboličke i tvrde linkove, veće fajlove i dr.– Kreiranje hard linkova (link i fajl nalaze na
istom fajl sistemu) za direktorijume je dozvoljeno samo superuser-u, a razlog je to što zlonameran korisnik može da napravi kružne petlje u sistemu, koje većina alata koji rade sa fajl sistemom ne mogu da otkriju
– U mrežama sa više klijenata problem konkurentnog pristupa fajlovima se rešava internim sistemima zaključavanja.
Koncept CIFS protokola
• Omogućene su sledeće operacije:
– Povezivanje i prekidanje veze za fajovima i deljenim printerom
– Otvaranje i zatvaranje fajlova i print fajlova
– Čitanje i štampanje fajlova
– Pretraživanje, kreiranje i brisanje fajlova i direktorijuma
– Dobijanje i setovanje fajl atributa
– Zaključavanje i otključavanje opsega bajtova u fajlu.
• Postoje dva nivoa zaštite podataka:
– Share level gde se autentifikacija vrši na nivou svakog deljenog resursa na serveru
– User level gde se autentifikacija vrši na nivou pristupa svakom fajlu na serveru.
Šta je SAMBA?
• SAMBA je open source implementacija SMB/CIFS mrežnog protokola predviđena da računarima sa Linux operativnim sistemom omogući da učestvuju u deljenju mrežnih resursa sa računarima koji koriste Windows operativne sisteme:
– File & print servise
– Autentifikaciju i autorizaciju
– Rešavanje problema na klijentima preko mreže
– Razrešavanje imena (DNS server)
– Obaveštavanje o servisima.
SAMBA moduli
• SAMBA protokol se sastoji od sledećih modula:
– Smbd server (radi na TCP portu 137) razgovara sa klijentima putem SMB protokola i omogućava njihovu međusobnu komunikaciju i deljenje resursa
– Nmbd modul (radi na TCP portu 139) obavlja poslove prevođenja NetBIOS imena osluškujući mrežni saobraćaj i ukoliko čuje zahtev za pristup sa svojim NetBIOS imenom, on odgovara svojom IP adresom kako bi računar koji je uputilo zahtev znao kome dalje treba slati pakete
– Smbclient je klijentski program za pristupanje resursima drugog računara kojima je dozvoljen pristup (komande su slične FTP komandama)
– Nmblookup je program koji omogućuje otkrivanje IP adrese računara kojem se želi pristupiti, na osnovu njegovog NetBIOS imena
– Smbstatus je programski modul koji omogućuje davanje informacija o trenutnim vezama prema SAMBA serveru
– Testparm je program za proveru regularnosti napisane ili naknadno modificirane smb.conf konfiguracione datoteke SAMBA servera.
SAMBA korisnici
• SAMBA platforma definiše sledeće korisnike i grupe:
– Lokalni korisnici (eng. Local Users)
– Lokalne grupe (eng. Local Groups)
– Domenski korisnici (eng. Domain Users)
– Domenske grupe (eng. Domain Groups).
Lokalni korisnici
• Lokalni korisnici poseduju jedinstveni account na nivou radne stanice koji može biti:
– Administrator
– Gost (Guest ).
• Lokalni korisnici nisu dostupni na domenskom kontroleru.
Lokalne grupe
• Lokalne grupe su jedinstvene za radnu stanicu koja poznaje sledeće grupe:– Administrator poseduje kompletan i nerestriktivan
pristup radnoj stanici
– Power Users poseduju većinu administrativnih ovlašćenja, ali postoje i neka ograničenja
– Users rade samo sertifikovane aplikacije i nije im dozvoljeno izvršavanje slučajnih ili namernih promena na sistemu
– Gest User Groups (imaju ista ovlašćenja kao Users i nisu na domenskom kontroleru).
Domenski korisnici i grupe
• Domenski korisnici (eng. Domain Users) poseduju account kreiran na Windows serveru gde SAMBA svakog korisnika koji se nalazi u smbpasswd tretira kao domenskog (ako je root korisnik definisan u smbpasswdon se može tretirati kao administrator u Windows).
• Domenske grupe (eng. Domain Groups) se kreiraju na windows serveru gde SAMBA poznaje dve grupe korisnika:– root korisnik
– sve ostale grupe.
• SAMBA poznaje samo ono što je definisano na kontroleru domena.
Bezbednost
• Windows ne skladišti i ne šalje lozinku u otvorenom tekstu već koristi hash korisnikove lozinke za autentifikaciju:
• LAN Manager: Generiše se deljenjem lozinke na dva stringa sa 7 karaktera i njihovim konvertovanjem u 56-bitni DES ključ.
• SAMBA trenutno podržava četiri nivoa bezbednosti:
– Share-level security
– User-level security
– Server-level security
– Domain-level security.
Share-level security
• Podrazumeva da svaki share u radnoj grupi ima jednu ili više lozinki i da svako ko zna ispravnu lozinku može da pristupi.
– Konfiguriše se u Network Control Panel-u korišćenjem Access Control menija i selektovanjem polja Share-level access control.
User-level security
• Ovo je default mod i svaki share je podešen da dozvoli pristup samo određenim korisnicima.
• Kada korisnik želi da se poveže na share počinje autentifikacija odnosno provera korisnika u konfiguracionom fajlu i lozinke u bazi SAMBA servera.
Server-level security
• SAMBA server koristi neki drugi server kao domenski kontroler za proveru korisnika i njihovih lozinki pre davanja pristupa.
Domain-level security
• Domain-level security omogućava mehanizam za skladištenje svih korisničkih i grupnih naloga na centralizovano mesto koje je deljeno između domenskih kontrolera.
– Primarni domenski kontrolor (eng. Primary Domain Controller - PDC) je server koji je zadužen za osiguranje integriteta baze sa korisničkim nalozima.
– Pomoćni domenski kontroleri (eng. Backup Domain Controller - BDC) zaduženi su samo za proces prijave i autentikacije.
Distribuirani fajl sistemi na NAS storage-ima
Šta je to Gluster fajl sistem?
• Gluster fajl sistem je distribuirani fajl sistem kod koga se podaci nalaze na različitim čvorovima u mreži kojima korisnici pristupaju bez potrebe da znaju njihovu stvarnu lokaciju.– Red Hatovo rešenje za data cloud koje omogućava
izgradnju storage-a veličine više PB
– Trenutna verzija je 3.2.5.
• Omogućava dinamičke promene storage bez prekida u radu klijenata.
Komponente Gluster file system
• Čvorovi (eng. peer) su:– Uređaji na kojima se smeštaju
podaci
– Brick je direktorijum koji se deli između Trusted Pool-ova u storage-u
– Trusted Storage Pool je pooldeljenih fajlova/direktorijuma koji su zasnovani na projektovanom protokolu
– Block Storage su uređaji preko kojih se premeštaju podaci u obliku blokova.
• Fajl sistemi za smeštaj podataka kao što su: XFS, POSIX (ext3, ext4, RaiserFS) i dr.
Klijenti• Klijenti su računari sa kojih se pristupa Gluster fajl
sistemu i oni mogu da koriste sledeće operativne sisteme:
– Ubuntu
– Debian
– Ostale Linux distribucije.
• Tipovi klijenata:
– FUSE
Zahteva instalaciju klijentske programske podrške
Najefikasniji način pristupa
Poseban kernel modul koji omogućava korisnicima da kreiraju sistem fajlova iznad kernela bez uključivanja bilo kog kernel koda
– NFS za platforme za koje nije moguće instalirati klijentsku programsku podršku
– CIFS za MS Windows platformu.
Domain-level security• Prilikom stvaranja celine sa podacima bira se oblik.
• Podržani oblici su:
– Distributed
– Replicated
– Striped
– Distributed replicated
– Distributed striped.
• Oblik nije moguće naknadno izmeniti.
Distribuirani volumen
• Podaci se ravnomerno raspoređuju po čvorovima, ali nema redundanse podataka
• Ispad čvora znači gubitak podataka.
Mreža
Gluster
Fajl sistem
Čvor 0 Čvor 2Čvor 1 Čvor 2
Fajl
A
Fajl
B
Fajl
B
Fajl
C
Klijent Klijent Klijent
Replicirani volumen
• Podaci se smeštaju u određen broj kopija na svim čvorovima:
– RAID 1
– prilikom oporavka čvora podaci se automatski sinhroniziraju (eng. self healing)
– nedostatak je to što je potrebno osigurati dvostruku količinu prostora.
Mreža
Gluster
Fajl sistem
Čvor 0 Čvor 1
Fajl A Fajl B Fajl A Fajl B
Klijent Kliejnt Klijent
Striped volumen
• Fajl se deli na određen broj delova koji se smeštaju na čvorovima:
– RAID 0
– Koristi se za rad sa velikim fajlovima i bez redundanse podataka
– Ispad čvora znači gubitak svih podataka.
Mreža
Gluster
Fajl sistem
Чвор 0 Чвор 1
Klijent Klijent Klijent
Fajl A
(deo)
Fajl B
(deo)
Fajl A
(deo)
Fajl B
(deo)
Upravljanje sistemom
• Može se izvršiti preko CLI-a:
– Podešavanje svih parametara Gluster fajl sistema
– Izvodi se na bilo kom čvoru u klasteru.
• Koristi se i grafički interfejs tzv. Gluster Management Console-a preko koje se nadzire i upravlja sa Gluster fajl sistemom.
• Dinamičke operacije se izvode bez prekida osima ako je u pitanju brisanje čvorova
– Balansiranje između čvorova
– Selidba sa jednog na drugi čvor i dr.
Mogućnosti koje pruža sistem za upravljanje
• Nadzor rada sistema: podrazumeva prikaz trenutnog stanja i prikaz opterećenja u određenom intervalu vremena– Ograničavanje zauzetosti pojedinih direktorijuma (quota).
• Geografska replikacija podataka: podrazumeva asinhronu replikaciju podataka na udaljenu lokaciju preko SSH i rsync.
• Samoizlečenje (eng. Self-healing): ako je brick u repliciranom volumenu u statusu down, daemon će automatski krenuti u oporavak i kada ga završi izvršiće sinhronizaciju.
• Rebalans (eng. Rebalance): ako se na postojeći volumen sa velikom količinom podataka doda novi brick, može se izvršiti distribucija podataka i na nove brick-ove.
Instalacija
• Paket se instalira iz izvornog koda sa adrese:http://download.gluster.com/pub/gluster/glusterfs/LATEST/
Pokretanje cluster-a
• Servis se pokreće na svim čvorovima sa:
Service glusterd start
• Servisi se uključuju sa komandom:
chkconfig glusterd on
• Klaster se konfiguriše tako što se prvo definišu čvorovi preko CLI-a:
Provera stanja cluster-a i uklanjanje čvorova
• Provera stanja klastera:
• Uklanjanje čvora:
Konfiguracija volumena
• Distribuirani:
• Replicirani:
• Striped:
Rad sa volumenom
• Pokretanje:
• Zaustavljanje:
• Brisanje:
Pristup Gluster File System-u
• Prilikom instalacije je moguće koristiti bilo koji čvor.
• FUSE:
• NFS:
Zaključak
Zaključak
• Zahtevi korisnika vezani su za obezbeđenje adekvatnog prostora za smeštaj rastuće količine podataka koji treba da karakteriše:– Visok stepen bezbednosti i dostupnosti uskladištenih
podataka
– Brz i neophodan proces oporavka podataka od katastrofalnog događaja (disaster recovery).
• Rešenje za zahteve korisnika je virtuelizacija storage-a i prelazak na konsolidovano okruženje koje karakteriše:– Redukcija troškova i poboljšano iskorišćenje resursa
– Fleksibilnost i visoka pouzdanost sistema
– Centralizovana administracija
– Obezbeđena mobilnost informacija
– Iskorišćene prednosti softverskih funkcionalnosti
– Homogenizacija heterogenih sredina.
Hvala na
pažnji!
University of Novi SadFaculty of Technical SciencesDepartment of Power, Electronic and
Telecommunication Engineering
Chair of Telecommunications and Signal Processing