[LinuxFocus-icon]
<--  | Ana Sayfa  | Eri�imd�zeni  | ��indekiler  | Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  

[Photo of the Author]
Mark Nielsen (homepage)

Yazar hakk�nda:
Mark ba��ms�z dana��man olarak �al��maktad�r. Zaman�n� GNUJobs.com, makale yaz�m�, serbest yaz�l�m yaz�m� ve eastmont.net'de g�n�ll� �al��arak ge�irmektedir.

T�rk�e'ye �eviri:
Erdal MUTLU <erdal/at/linuxfocus.org>

��erik:

 

Raid, /dev/ram, ve ramfs'lerin ilgin� kullan�mlar�

[illustration]

�zet:

RamFs ilgin� y�nleri olan basit bir dosya sistemidir. 2.4 �ekirdek s�r�m� ile birlikte gelen yeni bir �eydir.


_________________ _________________ _________________

 

RamDisk'e giri�

Eski ramdisk ile ilgili l�tfen Linux Focus'un November1999/article124.html makalesine bak�n�z. Ramdisk ile ilgili eski bilgilere bu makalede yer vermeyece�im.

RamDisk nedir? RamDisk, ge�ici belle�in bir k�sm�n� olu�turmaktad�r ve normal b�lme (partition) olarak kullan�labilir. Ba�ka bir deyi�le, ge�ici belle�iniz bir k�sm�n� al�yorsunuz ve sanki t�k�z teker gibi kullan�yorsunuz, yani mount ediyor, dosya yarat�yor, dosya siliyor vs.

Burada s�z�n� edece�imiz iki tip ramdisk vard�r. �lki, bi�imlendirebilece�iniz (format) ve mount edebilece�iniz ramdisktir. �kincisi ise, formatlama yap�lamayan, fakat ilgin� �zellikleri olan ramdisktir. �zetle :

Eski /dev/ram1 yakla��m�na g�re :

  1. K�T�: Bilgisayar a��ld�ktan sonra boyutu sabit kal�r.
  2. �Y�: �stedi�iniz gibi bi�imlendirme yapabilirsiniz.
  3. K�T�: Bi�imlendirildikten sonra (Buna inanamiyorum, onu mount etmeniz gerek.) ge�ici belle�inizin bir k�sm�n� almaktad�r. Bu k�sm� geri nas�l verilir onu bilmiyorum.
  4. �Y�: Ayn� zamanda birden fazla ramdiske sahip olabilirsiniz.
Yeni ramdisk "ramfs":
  1. K�T�: VFS olarak ayarlanmi� (bunun ne oldu�unu bilmiyorum) ve ben bunun disinda bir ba�ka bi�imde onu bi�imlendiremedim.
  2. �Y�: Ayn� zamanda birden fazla ramdiske sahip olabilirsiniz.
  3. �Y�: �stenildi�inde boyutunu komut sat�r�ndan de�i�tirebilirsiniz.
  4. �OK �Y�: Gereksinim duydu�u kadar bellek kullanmaktad�r. Ba�ka bir deyi�le, 64 MB olarak ayarlad���n�z zaman ve �zerinde sadece 2KB'lik dosya varsa, o zaman 2KB'lik k�sm� di�inda kalan belle�i bilgisayar ge�ici bellek olarak kullanabilmektedir. Herhangi bir dosyay� sildi�iniz anda bilgisayar�n�z�n daha fazla ge�ici belle�e sahip olmaktad�r.
  5. K�T�: Tamam, belkide bu onun hatas� de�ildir. �ki tane ramfs ramdiskinizi doldurma gafletine d��meyin, yoksa t�m ge�ici belle�inizden olabilirsiniz. Bu konuyu ileride a��klayaca��m.

 

Eskiden RamDisk nas�l kullan�l�rd�

Bunun i�in l�tfen Linux alt�nda RamDisk nas�l kullan�l�r yaz�s�n� okuyunuz..

2.0 ve 2.2 �ekirdekler ile birlikte kullanmak i�in a�a��daki komutlar� root kullan�c�s� olarak �al��t�r�n�z :

mkfs -t ext2 /dev/ram1
mkdir -p /RAM1
mount /dev/ram1 /RAM1
ve i�lem tamam. Bir�ok sistemde ramdiskin boyutu 4 MB ile s�n�rl�d�r. Bunu �ekirde�inizi yeniden derleyerek veya bilgisayar�n�z�n a��l���nda de�i�tirebilirsiniz. Ayr�ca, bir tane daha yaratmak isterseniz :
mkfs -t ext2 /dev/ram2
mkdir -p /RAM2
mount /dev/ram2 /RAM2

 

Ramfs'li RamDisk'i 2.4 �ekirdek s�r�m� ile bilrikte nas�l kullan�rs�n�z

Her�eyden �nce, ramfs destekli bir 2.4 �ekirde�i �al��t�rd���n�z kabul ediyorum. 2.4 �ekirdek s�r�m�n� kullanan bir�ok Linux da��t�m�, ramfs deste�ini �ekirdeklerinde vermektedirler. Bu makalenin yaz�m� s�ras�nda ben Red Hat 7.1 kullan�yordum.

�ok basit bir �rnek. Bir dizin yarat�n ve ramfs'i oraya mount edin.

mkdir -p /RAM1
mount -t ramfs none /RAM1
�kinci bir taneye gereksinim duyarsan�z, ayn� �ekilde bir dizin yarat�n ve ramfs'i oraya mount edin.
mkdir -p /RAM2
mount -t ramfs none /RAM2

 

Ramdiskin boyutunun de�i�tirilmesi ve di�er se�enekler.

10 MB'lik bir ramdisk yaratan �rnek.

mkdir -p /RAM1
mount -t ramfs none /RAM1 -o maxsize=10000
A�a��daki yaz� http://www.linuxhq.com/kernel/v2.4/patch/patch-2.4.3-ac2/linux.ac_Documentation_filesystems_ramfs.txt.html dan al�nm��t�r (�evirilerek tabii).
+       ramfs - Otomatik olarak boyutu de�i�tirilebilen dosya sistemi.
+
+ Ramfs dosyalar�n� RAM (ge�ici bellek) da tutan bir dosya sistemidir.
+ Ramfs �zerinde okuma ve yazma i�lemleri yapman�z m�mk�nd�r.
+ RamDisk 'lerin aksine  boyutunu ramfs'in bouyutunu
+ b�y�tebilirsiniz ve i�erdi�i dosya
+ buyutu kadar ge�ici bellei�i kullanmaktad�r.
+
+ Ramfs'i mount etmek i�in:
+      mount -t ramfs none /mnt/wherever
+
+ Bundan sonra �zerinde dosya yaratabilirsiniz.
+ Dosya sistemini umount etti�nizde �zerinde bulunan t�m bilgileri kaybedersiniz.
+
+ NOT! Bu dosya sistemi daha �ok ger�ek bir dosya sistemi olarak de�il
+ de sanal bir dosya sistemi nas�l
+ yaz�l�r �eklinde bir �rnek olarak kullan�labilir.
+
+ Kaynak s�n�rlamalar�:
+
+ Benimsenmi� de�er olarak dosyalar�n� saklamak i�in ramfs, ge�ici
+ belle�in yar�s�, e�er metadata
+ bilgisi de eklenirse yar�s�ndan biraz daha fazla alan ile s�n�rland�r�lm��t�r.
+ Ramfs'in kaynak s�n�rland�r�lmas�n� mount komutuna verilen
+ a�a��daki se�enekler ile denetleyebilirsiniz :
+
+       maxsize=NNN
+ Dosya sisteminin (ramfs) kullanabilece�i en fazla boyutu NNN KB olarak
+ ayarlamaktad�r. Bu de�er sisteminizin page (sayfa) boyutunun kat�
+ �eklinde a�a��ya yuvarlama yap�larak
+ ayarlanacakt�r. Benimseni� de�er ge�ici belle�in yar�s�d�r. Di�er
+ s�n�rlamalar gibi, boyutu s�f�r yaparak
+ s�n�rs�z anlam�na gelmemektedir. Ger�ekte s�f�r yapmakla, s�f�r
+ sistem sayfas� boyutuna getirmektesiniz.
+ Belkide bunu de�i�ik durumlarda kullanmak m�mk�n olabilir.
+
+       maxfilesize=NNN
+    Dosya sistemi �zerindeki herhagi bir dosyan�n boyutunun en
+ fazla olabilece�i boyutu NNN KB
+ olarak ayarlamaktad�r. Bu de�er sisteminizin page (sayfa) boyutunun kat�
+ �eklinde a�a��ya
+ yuvarlama yap�larak  ayarlanacakt�r. E�er, NNN=0 ise, s�n�rlama
+ yok anlam� ta��maktad�r.
+ Benimsenmi� de�er s�n�rlaman�n olmad��� de�erdir.
+
+       maxdentries=NNN
+   Dosya sisteminde olu�turulabilecek en fazla dizin (hard link) say�s�n�
+ NNN olarak ayarlamaktad�r.
+ E�er, NNN=0 ise, s�n�rlama yoktur. Benimsenmi� de�eri maxsize/4 t�r.
+
+       maxinodes=NNN
+ Dosya sistemindeki en fazla inode (farkl� dosya say�s�) say�s�n� NNN
+ olarak ayarlamaktad�r.
+ Benimsenmi� de�er s�n�rlaman�n olmad�� de�erdir. Ancak, dentries
+ de�erinden fazla inode olmaz.
+

 

RamDisk'te S�re�ler (Programlar) �al��t�rmak

Benim bir fikrim. Dikkatle dinleyin. S�re�lerinizi (sanaldoku(web) sunucusu, dns sunucusu veya veritaban� sunucusu gibi) ramdisk �zerinde �al��t�rmak sizce ��k olmaz m�? Genellikle s�radan bir sanaldoku veya DNS sunucusunda �ok fazla say�da veya b�y�k dosya bulunmamaktad�r. Hatta, ge�ici bilgileri tutmak �zere veritaban� sunucunuzu bile ramdisk'e koyabilirsiniz.

Bu g�nlerde RAM'lerin fiyatlar� olduk�a ucuz. Ge�enlerde 128 MB'lik ge�ici belle�i 120 dolara sat�n ald�m. Fiyatlar�n daha da d��ece�ini hayal ediyorum. 128 MB'lik bir yere sanaldoku sunucular�m� rahatl�kla s��d�rabilirim. E�er, sanaldoku sunucum b�y�k dosyalara gereksinim duyarsa, httpd.conf dosyas�ndan ba�ka bir dizine bakmas�n� ayarlayabilirim. Benim DNS sunucum �ok k���k. En b�y�k veritaban�m 28 MB. 1 GB'lik ge�ici belle�e �ok ucuza sahip olabilece�iniz ger�e�i g�z �n�nde bulundurursak, sahip oldu�um her�eyi ge�ici bellekte �al��t�rabilirim. Veritaban� sunucusu ile ilgili bir p�f nokta var tabii. O da ge�ici belle�e yazmadan �nce, ba�ka bir veritaban�na yazmak gerekti�idir. Bu yava� bir i�lemdir. Ancak, bir veritaban� sunucusunda yazmaktan �ok okuma i�leminin yap�ld��� d���n�l�rse performans art��� ya�anmas� gerekecektir. Belkide ge�ici belle�i (ramfs) t�k�z tekere (hard disk) mirior (ayna g�r�nt�s�) yapabilseydik.

Bu konuyu daha �nce a��klamada bulundu�um: http://www.gnujobs.com/mark/articles/Ramdisk.html#Example. yaz�y� okuyunuz.

        ### Ramdisk b�lmelerini olu�turunuz
/sbin/mkfs -t ext2 /dev/ram0
/sbin/mkfs -t ext2 /dev/ram1
/sbin/mkfs -t ext2 /dev/ram2

        ### Ramdisk'leri ilgili yerlere mount ediniz

mount /dev/ram0 /home/httpd/cgi-bin
mount /dev/ram1 /home/httpd/icons
mount /dev/ram2 /home/httpd/html

a�a��daki komutlara boyutlar�n� y�kseltin ( 10 MB yeterince iyi de�il:) )
mount -t ramfs none /home/httpd/cgi-bin -o maxsize=10000
mount -t ramfs none /home/httpd/icons -o maxsize=10000
mount -t ramfs none /home/httpd/html -o maxsize=10000

 

Ramdisk ve Raid

Ramdisk ve t�k�z tekerinizi neden raid olarak birle�tirmek isteyeceksiniz ki? Bilmiyorum. Belki ileride kullan��l� olabilir. Ak�ll� i�letim sistemleri bir�eye �u anda gereksinim olmad���ndan veya do�rudan bir fayda sa�lam�yor diye ondan vazge�mezler. Bu y�zden ticari i�letim sistemleri pop�lerli�ini kaybediyor ve bu y�zden kafalar�nda teknoloji de�il sadece para olan bir takim ki�ilerin yazd��� programlar yerini serbest yaz�l�mlar al�yor.

Ramdisk ile t�k�z tekeri birle�tirmede �� sorun ortaya ��kmaktad�r:

  1. Bu i�in /dev/ram ile nas�l yap�laca��n� biliyorum, fakat Ramfs ile nas�l yap�ld���n� bilmiyorum. Belkide t�k�z tekerde yer alan bir b�lmeyi ramfs olarak b�l�mlendirmek m�mk�nd�r. Ramfs VFS katman� diye bir�ey kullan�yor ve ben bunun hakk�nda hi� bir �ey bilmiyorum. Belkide bu konuda daha sonra biraz okumam gerekecek.
  2. E�er, raid olarak ayarlanm�� t�k�z teker ve ramdisk paralel olarak �al���yorsa, o zaman fazladan bir h�za ula�mam�z s�zkonusu olmayacakt�r. Bilmiyorum, e�er, okuma i�lemini sadece ramdisk �zerinden yapabilirsem, bu durumda fayda sa�layabilirm.
  3. Bilgisayar�n her yeni a��l���nda ramdisk'inizi yeniden olu�turman�z gerekecektir.
Raid olu�turmak i�in /etc/raidtab dosyas�n�
  raiddev /dev/md3
          raid-level      1
          nr-raid-disks   2
          nr-spare-disks  0
          chunk-size     4
          persistent-superblock 1
          device          /dev/hdb6
          raid-disk       1
          device          /dev/ram3
          raid-disk       0
olarak d�zenledim ve
mkraid /dev/md3
mkfs -t ext2 /dev/md3
mkdir -p /RAID1
mount /dev/md3 /RAID1
komutlar�n� �al��t�rd�m. Ancak, bilgisayar� yeniden a�t���mda ramdisk'teki bilgiler kar��t�. Bunun d�zeltmek i�in yeniden a�ma s�ras�nda,
raidstart /dev/md3
raidhotadd /dev/md3 /dev/ram3
mount /dev/md3 /RAID1
komutlar�n� �al��t�rmak gerekti. Unutmamak gerekir ki eski tip ramdisk kullan�yorsan�z ve boyutunda ayarlama yapmad�ysan�z 4 MB'nin �zerinde bir t�k�z teker b�lmesi kullanman�z�n bir anlam� olmayacakt�r.

Nas�l yap�ld���n� bilmiyorum, ancak, 2 b�lmesi t�k�z tekerden ve bir b�lme ramdiskten olu�acak �ekilde 3 b�lmeli bir raid olu�turup, raid'in okuma komutlar�n� sadece ramdisk �zerinden yapaca�� bir ayarlama yap�labilse ne ��k olurdu de�il mi?


 

D���nceler

Bu belkide makalenin en �nemli b�l�m�. Linux'u seviyorum, ��nk� onun sayesinde kendinizi topuklar�n�zda vurabiliyorsunuz. ��renmenizi sa�layan ac� gibisi yoktur.
  1. Ramfs'in benimsenmi� boyutu ge�ici belle�inizin (buna swap alan� dahil de�il) yar�s� kadard�r. E�er, iki adet ramfs yarat�r ve onlar� doldurursan�z, t�pk� bende oldu�u gibi bilgisayar�n�z kilitlenecektir. L�TFEN ramdisk'inizin boyutlar�n� yukar�da anlat�ld��� gibi kendiniz belirtiniz.
  2. Benim d���nceme g�re, ramfs kendi ba��na bir dosya sistemidir ve ext2 dosya sistemi de�ildir. Bu y�zden e�er, ramfs'le ext2 dosya sistemleri aras�nda rsync veya tar ile dosya kopyalayacak olursan�z, dosya boyutlar�n ayn� olmayaca��n� tahmin edebilirsiniz. Bu dosyalar�n kullan�m� s�ras�nda bir fakl�l�k g�rmeyebilirsiniz, ancak dosya sistemi farkl� oldu�undan, baz� �zellikler �e�itli kademelerde farkl�l�k g�sterebilir.
  3. �ekirdek ile birlikte gelen kaynaklar� okudu�umda, ramfs'in kullan�m�n� ger�ek bir dosya sistemi olarak d���n�lmedi�ini fark ediyorum. Ancak, neden oldu�unu anlam�� de�ilim, ��nk� istedi�im gibi �al���yor.
Ramdisk'ler ile i�im hen�z bitmi� de�il.
  1. Ramfs ile t�k�z tekeri raid olarak kullan�p kullan�lamayaca��n� g�rmek istiyorum.
  2. E�er, oluyorsa, okuma i�lemlerini sadece ramfs �zerinden yapmay� deneyece�im.
  3. Sanaldoku sunucusu gibi bir sunucuyu ramdisk ve raid �zerinden �al��t�rmak. Raid kullan�lmas�n�daki p�f nokta, herhangi bir de�i�iklik oldu�unda, onu kaybetmeyece�inizdir. Bu y�zden raid benim i�in hayati �nem ta��maktad�r. B�ylece, istedi�im sunucular� ramdisk �zerinden �al��t�rabilecek ve ge�ici belle�in t�k�z tekere olan h�z fakr�ndan yararlanm�� olaca��m e�er :
  4. Cdrom'dan a��lacak bir bilgisayar yap�land�rmak, istenilen bir sunucuyu �al��t�rmak ve gerekirse de�i�iklikleri a� �zerinden edinmek, t�k�z teker kullanmadan, ��k olmaz m�yd�? Sadece cdrom ve ge�ici belle�in oldu�u, t�k�z tekere gereksinim olmadan bir sanaldoku sunucusuna sahip olunabilir. E�er, ge�ici belle�inizi 1 GB'a ��kart�rsan�z, t�m sisteminizi sadece cdrom �zerinden �al��t�rmamak i�in bir neden g�remiyorum. Bu g�venlik i�in de iyi olabilir. G�venlik problemi oldu�u zaman, g�venlik a����n� kapatt�ktan sonra, bilgisayar� yeniden �al��t�rman�z yeterli olacakt�r. Sanaldoku sunucusu yerel bilgisayar hi�bir�ey kaydetmeyecektir. Gerekirse, a� �zerinden ve g�venli�i sa�lanm�� bir ba�ka bilgisayara bilgi aktarabilir. A� �zerinden cdrom ile �al��an bilgisayarlar daha �nce yap�land�rm��t�m. Belki de �nceki projemi bu i� i�in kullanabilirim.
 

Kaynaklar

  1. kernel/v2.4/patch/patch-2.4.3-ac2/linux.ac_Documentation_filesystems_ramfs.txt.html
  2. http://genericbooks.com/LDP/HOWTO/Software-RAID-HOWTO.html
  3. Ufak veritabanlar�n� Linux alt�nda h�zland�rmak
  4. Linux alt�nda RamDisk nas�l kullan�l�r
  5. E�er, bu makale de�i�irse, de�i�ikli�i bu adreste bulabilirsiniz : http://www.gnujobs.com/Articles/21/Ramdisk2.html

Baz� yard�mlar�ndan dolay� Katja te�ekk�r ederim!

Haklar © 4/2001 Mark Nielsen
Makale S�r�m Numaras� 1.3 : En son Sat May 19 06:04:06 2001 de�i�tirildi

 

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 

<--, Bu say�n�n ana sayfas�na gider

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Mark Nielsen, FDL
LinuxFocus.org
�eviri bilgisi:
en --> -- : Mark Nielsen (homepage)
en --> tr: Erdal MUTLU <erdal/at/linuxfocus.org>

2003-10-20, generated by lfparser version 2.43