Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Nederlands  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
taraf�ndan Atif Ghaffar

Yazar hakk�nda:

Atif bukalemun gibidir. Rollerini de�i�tirir; sistem y�neticisinden programc�ya, ��retmene, proje y�neticisine bir i�i yapmak i�in gereken her �eye.
Atif Linux, a��k-kaynak birli�i ve projeler hakk�nda pek �ok bilgiye sahip oldu�unu d���n�yor.
O'nun hakk�nda daha fazla bilgi i�inkendi sayfas�na bakabilirsiniz.


��erik:

Linux alt�nda ger�ek zamanl� veri kopyalama

�eviri : Buket Benek

[Illustration]

�zet:

Bu makalede, pahal� SAN'lari veya di�er A� Blok ayg�tlar�n� kullanmadan Linux alt�nda ger�ek zamanda bilgi kopyalanmas�n� inceleyece�iz.
Kopyalama sistemimiz i�in FAM ve IMON kullanaca��z.
FAM (Dosya De�i�im Ekran�) ve IMON (Inode Ekran�), orijinal olarak IRIX i�in SGI taraf�ndan gel�tirildi.

SGI'da onun Linux'a ta��nmas� ve a��k kaynak olmas�na pek s�cak bak�lm�yordu.

Fiyat� bir fakt�r olmad��� s�rece,GFS (Evrensel Dosya Sistemi) ve SAN tabanl� ��z�me gidece�im, fakat fiyat� bir fakt�r oldu�u zaman ve bilgi payla��m� gerekli oldu�u zaman �ok se�ene�e sahip olmayaca��m..
�u anda az se�ene�im var. Bu makalede onlar� tart��aca��z ve avantajlar� ve dezavantajlar�n� g�rece�iz.



 

Payla��m yerine neden kopyalama ?

Dosya sunucular�n�n var olan bilgiyi istemciler i�in yapmas� tahmin edilme di mi?
Evet edildi.

E�er NFS veya SMB vs. �zerinden dosyalar� payla�an dosya sunucular� kullan�rsak, �i�e boyun'a ve tek ba�ar�s�zl�k noktas�na sahip olaca��z.

Payala��lm�� bilgi y���nlar�(SAN veya �okanall� SCSI) ile GFS �zerinden bilgiyi payla��rsak, tek ba�ar�s�zl�k noktas� gibi bir bilgi y���n kutumuz olacak ve bu yap�land�rma ile sistemin kurulumu olduk�a pahal� olacakt�r.

A� aynas� kurmak i�in NBD(A� Blok Ayg�tlar�) kullanabiliriz ancak ben bu konuda �ok rahat de�ilim. NBD'lerin baz� k�s�tlamalar� vard�r, kurmak ve y�netmek zordur ve e�er gereksinimiz olan bir g�rsely�re sunucusu �zerinden birka� g�rsely�re sunucusu bilgisi kopyalamaksa olduk�a s�k�c� olabilir.

 

Basitli�i Koruyoruz

�imdi kopyalamay� deneyelim.
Bir senaryo:
�ki g�rsely�re sunucunuz var, birtanesi ana sunucu ve di�eri onun deste�i.
T�m de�i�iklikleri ilk makinede yapars�n�z ve de�i�iklikleri ikinci makineye rsync ile ge�irirsiniz.
Basit?
Fakat onu nas�l otomatikle�tirmeli? Kullan�c�lar�n�z �o�u zaman FTP'den ana makineye ba�lanacakt�r. E�er ana sunucuda hata var ise ve di�er sunucu rol� �stlenirse ne olacak?
Basit. Bunun i�in cevab�m var. Yapt�klar� de�i�iklikleri g�rmeyecekler ve �a��racaklar. :)
�imdi, her 5 saniyede CRON'dan "rsync -av --delete kaynak hedef" 'y� �al��t�rabilirsin fakat makinen daha sonra ba�ka bir�ey i�in kullan�lamaz. Oldu mu?


Bir di�er senaryo:
Verileri g�ncel olarak y�klemek i�in bir FTP sunucunuz ve
alt� tane de websunucunuz var.
�ansl�ysan�z e�er �o�u zaman NFS ile ba�edebilirsiniz fakat bu uzun s�rmez.

�imdi ne yap�lmal�?
Bence dosyalarda de�i�iklik oldu�u zaman bilgiyi kopyala, e�er hi� de�i�iklik yoksa bir �ey yapma.

Bu tam olarak "fam"'�n yapt��� i�tir.  

Zora Ge�i�

O halde dosyalar �zerinde de�i�iklik olup olmad���n� nas�l anlayaca��z?
Buradaki tek cevap benim M$ Windowns developer'dan bekleyebilece�imdir.
Her saniye g�zlemledi�imiz dizini ara�t�rabilir ve onun zaman s�resi ile kar��la�t�rabiliriz ve haf�zada bulunan versiyonu ile �l�ebiliriz.
Evet do�ru.

Ara�t�rma:Dosyalar�n zaman s�resi/�l��lerini ara�t�rmak ve eski s�r�mleri ile kar��la�t�rmak pahal�ya mal olur.
G�rsely�re sunucunuzda alan�n�zda her 5 saniyede "ls -lR /birdizin"'nin �al��t���n� d���n�n. :)

Dosya i�lemlerinde ne zaman de�i�tirildi�inin haber al�nmas� iyi bir durumdur, b�ylece biz de onun �zerinde i�lem yapabiliriz.
Bu tam olarak "IMON"'un yapt��� i�tir.

 

FAM nedir?

Kaynak: http://oss.sgi.com/projects/fam/faq.html
fam (Dosya De�i�im Monit�r�), belirli dosya veya dizinler de�i�ti�i zaman dikkat edilmesi i�in uygulama programlar�n�n kullanabilece�i API'yi sa�lar.
FAM iki k�s�mdan olu�ur: fam, talepleri dinleyen ve uyar�lar� alan daemon ve libfam, istemci uygulamalar�n�n FAM ile ileti�ime ge�mek i�in kulland��� bir k�t�phane.
E�er g�zlenen dosyalar ba�ka bir makinadan al�nmam��sa , yerel fam o uzaktaki makina ile ileti�ime ge�meye �al��acak ve talepleri o fam �zerinden ge�irecektir.
Fam ayr�ca istemcileri bir dosyan�n �al��maya ba�lad��� ve �al��mas�n�n bitti�i zamanlarda bilgilendirir. (�rne�in; IRIX Etkile�imli Masa�st�, bunu program�n �al��t��� esnada g�r�nt�sel g�stergesi olan ikonunu de�i�tirerek kullan�r.)
Fam orijinal olarak 1989'da IRIX i�in Bruce Karsh taraf�ndan ve 1995'te Bob Miller taraf�ndan tekrar yaz�ld�. Fam a��k kaynak serbestli�inden dolay� Linux ve IRIX'te �al���r ve IRIX 6.5.8'e dahil olan da ayn� fam'd�r.  

IMON nedir?

Kaynak: http://oss.sgi.com/projects/fam/faq.html
�mon (Inode Monit�r�) fam'a dosyalar�n ne zaman de�i�tirildi�ini s�yleyen bir �ekirdek par�as�d�r. Fam, uygulama programlar�n�n dosyalarla veya dizinlerle ilgilendi�ini ��rendi�i zaman, bunu imon'a bildirir. �mon taraf�ndan g�r�nt�lenen dosyalar �zerinde i�lemler d�zenlenince, �ekirdek bunu fam'a bildirir ve fam da dosyalarla alakal� olan uygulamalarla ilgilenir.
�mon orijinal olarak 1989'da IRIX �ekirde�i i�in Wiltse Carpenter taraf�ndan yaz�ld�. Linux'a ba�lant� sa�layan kap� Roger Chickering taraf�ndan yap�ld�. �mon'un �ekirde�indeki yamadaki Linux uygulamas� pek �ok a��dan IRIX uygulamas�na benzer. Fakat, �ekirdek dosya sistem kodu i�inde farkl�d�r.

 

FAM ve IMON Y�klemesi

FAM ve IMON SGI g�rsely�resinde bulunmaktad�r. A�a��daki kaynaklar� inceleyiniz.
IMON �ekirde�e uygulayaca��n�z bir yamad�r. Bu, inodeleri g�rmenizi sa�layacakt�r.
�ekirdek yamas� i�in kaynak dizinine girin ve yamay� uygulay�n.
cd /usr/src/linux
patch -pi < patchfile

Daha sonra make config'i �al��t�r�n�z ve soruldu�u zaman �e�im yap�n�z.
Inode Monitor (imon)'�n destekledi�i (DENEYSEL)
dosya sistemi b�l�m�nde
herzamanki gibi �ekirde�i derleyiniz ve bilgisayar� yeniden ba�lat�n�z(�zg�n�m).
FAM'�n kendisini derlemek olduk�a kolayd�r:
fam kaynaklar� dizinine giriniz ve
./configure && make all komutunu �al��t�r�n�z.
Kurulmu�tur.

Daha sonra SGI::FAM diye adland�r�lan Perl mod�l�n� kuraca��z bu y�zden durum bildiricisini perl'de yazabiliriz.

 

SGI::FAM Perl mod�l�n�n kurulumu

Ger�ekten de size C/C++'� kodlaman�z� s�yleyece�imi d���nmediniz. De�il mi?
Asl�nda sizi bilmem ama ben biraz tembel ve sab�rs�z�m bu y�zden kopyalar� Perl'de yazaca��m.

Jesse N. Glick taraf�ndan SGI::FAM'� indirip kurunuz.
Bu mod�lleri kurmak i�in CPAN mod�l�n� basit�e �al��t�r�n�z.
perl -MCPAN -e shell
SGI::FAM'� kurunuz.
b�ylece SGI::FAM ve daha �nce gerekli olan mod�ller yerle�ecek.  

fam_mirror ile kopyalama

fam_mirror kopyas�n� aktif etmek icin yazd���m bir notlar b�t�n�d�r.
incelemek i�in veya indirmek i�in t�klay�n�z.
D�zeltebilir ve
kendi makinenizle kar��la�t�rmak i�in $replicaHosts ile de�i�tirebilir,
istedi�iniz komutla �al��t�rmak i�in $rsh veya $rsync ile de�i�tirebilirsiniz.


senaryo 1
'e d�n�ld��� zaman g�rsely�re sunucusu olarak �al��an 2 makine vard�r (web1,web2). Bunlardan biri(web1) ana sunucu olarak, di�eri(web2) ikinci sunucu olarak �al���r.
�lki FTP server (web1)'dir,
web2, t�m FTP servisini �al��t�rmaz. (di�er yandan kullan�c�lar, sistem destek modunda olsa bile dosyalara yazabilirler.)

Her iki makinada de g�rsely�re dok�man k�k dizini /var/www
her iki makinada da ssh veya rsh kurar. web2 �ifre olmadan web1'e uzaktaki komutlar� �al��t�rmaya izin vermelidir. Ben genelde kendi ssh_key'imi kopyalanm�� makinelerin authorized_key'lerine ekliyorum.
rsync t�m bilgi web1'den web2'ye
rsync -avz /var/www/ web2:/var/www/
fam_mirror'da d�zeltme yap ve @replicaHosts'u
@replicaHosts=qw(web2)'a de�i�tir.
web1'de fam_mirror'� �al��t�r.
fam_mirror /var/www &
ve daha sonra web1 �zerindeki dosyalarda de�i�iklik yap. T�m de�i�iklikler web2'ye de yaz�lacakt�r.

�imdi de senaryo 2 (webserverlar�n t�m�)
"linuxweb1", "linuxweb2", "linuxweb3" ve "linuxweb4" makineleri websunucu gibi �al���r.
"linuxftp1" makinesi ftp sunucu gibi �al���r (ana dosyasunucusu)
web makineleri FTP'yi kullan�c�lar�n kullanmas�na izin vermez.
Fam, imon, SGI::FAM ve fam_mirror'lar� "linuxftp1" host'u �zerinde kur.
rsh veya ssh'� makineler aras�nda kur.
linuxweb[1-4] makineleri �ifre gerektirmeden ba�ka makinedeki komutlar�n�n �al��t�r�lmas�n� linuxftp1'de izin vermelidir.
fam_mirror'� de�i�tir ve @replicaHosts'lar�
@replicaHosts=qw(linuxweb1 linuxweb2 linuxweb3 linuxweb4)'e kur;
e�er gerekliyse $rsh ve $rsync de�i�tir. T�m makinelerde /var/www'nin dok�man k�k dizini oldu�u farzedilir.
linuxftp1'de �al��t�r.
INIT_MIRROR=1 fam_mirror /var/www &

�imdi linuxftp1'de t�m de�i�iklikler linuxweb[1-4] �zerinde g�r�lmelidir.

 

Kaynaklar

 

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Atif Ghaffar, FDL
LinuxFocus.org

Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz
�eviri bilgisi:
en -> -- Atif Ghaffar
en -> tr Buket Benek

2001-03-17, generated by lfparser version 2.9