Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
[Photo of the Author]
Mark Nielsen

Yazar hakkinda:

Yazar (ana sayfa) The Computer Underground, Inc. 'de dosya yaz�c�s� ve 800linux.com'da da bilirki�i olarak �al��maktad�r. Bo� zamanlar�nda, g�n�ll� olarak bu tip dok�manlar haz�rlamaktad�r. Bu dok�man Nedit ve ispell kullan�larak yaz�lm��t�r.

Content:

Linux'da Ramdiskin kullan�l��

[Illustration]

Abstract:

Bu makale Ram'in nas�l sanal sabit disk olarak kullan�laca�� hakk�nda bilgi verir.



 

Ramdiske giri�

Bu k�sa makale, RedHat 6.0'da Ram Disk'in nas�l kurulaca��na il�kindir. Buradaki bilgiler di�er linux s�r�mleri i�in de hemen hemen ayn�d�r.

Ramdisk nedir? Ramdisk belle�in b�l�m b�l�m kullan�labilmesi i�in ayr�lan k�s�md�r. Di�er bir deyi�le, belle�i al�p onu hard drive gibi kullanarak, dosyalar� buraya kaydedersin. Neden Ramdisk kullanmak istersin? E�er belli dosyalar� s�k s�k kullan�yorsan, bunlar� belle�e yerle�tirmek bilgisayar�n�n performans�n� artt�racakt�r. ��nk� bellek, hard drive dan daha h�zl�d�r. A�-sunucular gibi bir�ok bilgiye sahip olan yap�lar bu �ekilde h�zland�r�labilir. Ya da e�er 1 gig lik belle�e ve 500 meg eski hard drive a sahip olan bir P �� 550Mhz bilgisayar�n varsa, hard drive alan�n� artt�rmak i�in Ramdisk kullanabilirsin.

Yard�mc� olabilecek di�er kaynaklar

  1. http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html
  2. http://metalab.unc.edu/LDP/HOWTO/mini/LILO.html
  3. /usr/src/linux/Documentation/ramdisk.txt
 

RamDiskin kullan�m�

Ramdiski kullanmak �ok kolayd�r. Her�eyden �nce,RedHat 6.0'�n varsay�lan kurulumunda ramdisk deste�i vard�r.Yapman�z gereken �ey bir tane ramdiski bi�imlendirmek ve daha sonra bir dizine koymakt�r. Kullanabilece�iniz t�m ramdiskleri ��renmek i�in , "ls -al /dev/ram*" komutunu kullan�n�z. Bu sayede ramdiskiniz linkinizi i�erir. Bu ramdiskler onlar� bir �ekilde kullanmayana kadar(bi�imlendirmek gibi) bellekte pek fazla yer kaplamazlar.A�a��da bir ramdiskin nas�l kullan�ld���n� g�steren basit bir �rnek var.
# ramdiskin koyulaca�� yeri olu�turma:

mkdir /tmp/ramdisk0

# dosya sistemi olu�turma:

mke2fs /dev/ram0

# ramdiski koyma:

mount /dev/ram0 /tmp/ramdisk0

Bu �� komut ramdisk i�in dizin olu�turacak,ramdiski bi�imlendirecek(dosya sistemi olu�turacak) ve ramdiski "/tmp/ramdisk0" dizinine koyacak. Art�k,dizini taklit bir disk b�l�m� olarak sayabilirsiniz!Devam edin ve dizini di�er dizinler ya da di�er disk b�l�mleri gibi kullan�n.
E�er ramdisk bi�imlendirilmediyse o halde �ekirde�inizde ramdisk deste�i olmayabilir. Ramdisk i�in cekirdek bi�imlendirme se�ene�i: CONFIG_BLK_DEV_RAM .

Ramdiskin varsay�lan b�y�kl��� 4Mb=4096 �bek.Burada mke2fs �al���rken sahip oldu�unuz ramdiski g�rd�n�z.mke2fs/dev/ram0 ��yle bir mesaj�n ��kmas�na neden olmal�yd�::

mke2fs 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09

Linux ext2 filesystem format

Filesystem label=

1024 inodes, 4096 blocks

204 blocks (4.98%) reserved for the super user

First data block=1

Block size=1024 (log=0)

Fragment size=1024 (log=0)

1 block group

8192 blocks per group, 8192 fragments per group

1024 inodes per group

df -k /dev/ram0 komutunu �al��t�rmak size ramdiskin ger�ekte ne kadar�n� kullanabilece�inizi s�yler. (Dosya sistemi de bir miktar alan al�r):
>df -k /dev/ram0

Filesystem  1k-blocks  Used Available Use% Mounted on

/dev/ram0        3963    13      3746   0% /tmp/ramdisk0

+ Baz� yakalanmalar nelerdir? Bilgisayar yeniden a��ld��� zaman ramdisk silinir.Ba�ka bir yere kopyalanmam�� bilgileri oraya koymay�n.E�er bu dizinde de�i�iklik yaparsan�z ve bu de�i�ikliklerin s�rmesini istiyorsan�z,onlar� yedeklemek i�in bir yol bulmal�s�n�z.    

Ramdisk'in boyutunun de�i�tirilmesi

Ramdisk'i kullanmak i�in, ya y�klenebilir bir mod�le ya da Kernel i�inde derlenmi� bir Ramdisk deste�ine sahip olmal�s�n. Kernel konfig�rasyonu CONFIG_BLK_DEV_RAM dir. Ramdisk'i y�klenebilir bir mod�l olarak derlemek avantajl�d�r. ��nk�, ramdiskin boyutuna y�kleme zaman�nda karar verebilme imkan� sa�lar.

Ilk olarak zor yol. Bu sat�r� lilo.conf dosyas�na ekle:
   ramdisk_size=10000 (ya da ramdisk=10000 eski Kerneller i�in)
ve bu i�lem "lilo" komutunu yazd�ktan ve bilgisayar� yeniden a�t�ktan sonra ramdiskini 10 meg yapar. /etc/lilo.conf dosyas�n�n bir �rne�i

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

image=/boot/vmlinuz

	label=linux

	root=/dev/hda2

	read-only

	ramdisk_size=10000

Ge�ekte, kullan�labilir alan�n 9 meg inden biraz daha fazlas�n� kullan�r�z. ��nk�, dosya sistemi de bir miktar yer kaplar.

Ramdisk deste�ini y�klenebilir mod�l olarak derledi�inde, boyutunun ne olaca��na y�kleme an�nda karar verebilirsin. Bu /etc/conf.modules dosyas�ndaki bir se�enek sat�r�yla yap�labilece�i gibi:

options rd rd_size=10000

komut sat�r� ile de yap�labilir:
insmod rd rd_size=10000

A�a��daki �rnekte mod�l�n nas�l kullan�laca�� g�sterilmektedir:
  1. Bir �nceki b�l�mde monte edilen ramdiski kald�r umount /tmp/ramdisk0 .
  2. mod�l� kald�r (bir �nceki b�l�mde otomatik olarak y�klenmi�ti), rmmod rd
  3. Ramdisk mod�l�n� y�kle ve boyutunu 20 Mb yap, insmod rd rd_size=20000
  4. dosya sistemi olu�tur, mke2fs /dev/ram0
  5. ramdiski monte et, mount /dev/ram0 /tmp/ramdisk0
 

Ramdiskin bir a� sunucusu i�in kullan�m� i�in �rnek.

Burada 3 tane ramdiskin bir a� sunucusu i�in kullan�m� i�in bir �rnek var.Diyelim ki, Apache'nin RedHat 6.0'da varsay�lan kurulumunun cgi-script,html ve resimler i�in 9 megabayttan fazla yer kaplamayaca��ndan %99 eminsiniz.��te bir tanesinin kurulumu.
�lk �nce,issue this command to move the real copy of the document root directory of your webserver to a different place. Ayr�ca, ramdisklerin konulaca�� dizinleri olu�turun.
mv /home/httpd/ /home/httpd_real

mkdir /home/httpd

mkdir /home/httpd/cgi-bin

mkdir /home/httpd/html

mkdir /home/httpd/icons

Daha sonra bu komutlar� ba�lang�� prosed�r�ndeki /etc/rc.d/init.d/httpd.init dizinine(veya httpd'nin sisteminizde ba�lad��� yere) ekleyin:


        ### Ramdiski b�l�mlendirin

/sbin/mkfs -t ext2 /dev/ram0

/sbin/mkfs -t ext2 /dev/ram1

/sbin/mkfs -t ext2 /dev/ram2



        ### Ramdiskleri uygun yerlerine koyun



mount /dev/ram0 /home/httpd/cgi-bin

mount /dev/ram1 /home/httpd/icons

mount /dev/ram2 /home/httpd/html



        ### Ana dizini ramdisklere kopyalama(ramdisklerdeki bilgiler

bilgisayar yeniden a��ld���nda kaybedilir)

tar -C

/home/httpd_real -c . | tar -C /home/httpd -x   

  ### Bundan sonra a�-sunucuyu ba�latabilirsiniz.
 

Yorumlar

  1. L�tfen bir �eyi unutmay�n, e�er bilgilerinizi de�i�tirecekseniz ve onlara tekrar ihtiya� duyacaksan�z,BILGILERI YEDEKLEYIN. Bilgisayar yeniden a��ld���nda t�m de�i�iklikler kaybedilir.
    A cron job should do it. On dakikada bir ramdiski kontrol edin ve herhangi bir dosyadaki de�i�iklikleri g�r�n ve de�i�iklikleri kaydedin.Yapabilece�iniz ba�ka bir �ey de de�i�iklikleri ana dizinde yap�p daha sonra de�i�ikleri ramdisklere kopyalamak.Bu �ok daha g�venlidir.
  2. A cool use of this would be to have a computer with 1 gig of memory and then use 256 megs for "/tmp". E�er "/tmp" kullanan bir�ok i�leminiz varsa, sisteminizin h�zlanmas�na yard�mc� olur. Also, anything in /tmp would get lost when the computer reboots, which can be a good thing.
  3. Linux,programlar taraf�ndan kullan�lmayan t�m belle�i �n-bellek olarak kullan�r ama deneyimlerime g�re ramdiskler size buna ra�men biraz daha h�z art��� sa�lar.

Webpages maintained by the LinuxFocus Editor team
© Mark Nielsen
LinuxFocus 1999

1999-11-01, generated by lfparser version 0.8

en -> �i�dem G�r , Direni� Gundo�du