|
|
por Mark Nielsen Sobre o autor: O Mark trabalha como um consultor independente doando o seu tempo a causas como GNUJobs.com, escrevendo artigos, escrevendo software livre e trabalhando como voluntário em eastmont.net. Conteúdo: |
Abstrato:
O RamFs é um sistema de ficheiro com alguns aspectos interessantes. É uma coisa nova no Kernel 2.4.
O que é o RamDisk? A RamDisk é uma porção de memória que pode alocar para usar como uma partição. Ou, por outras palavras, pode tirar um pouco da sua memória e pretender que é um disco rígido que pode formatar, montar, guardar ficheiros, etc.
Existem dois tipos de ramdisk que falaremos acerca de. O primeiro é o ramdisk que pode formatar e montar. O segundo é um ramdisk que não pode formatar, mas tem algumas especificações simpáticas. Eis aqui um detalhe:
A velha abordagem de /dev/ram1:
Para usar as ramdisks para os kernels 2.0 e 2.2, digite os seguintes comandos:
mkfs -t ext2 /dev/ram1 mkdir -p /RAM1 mount /dev/ram1 /RAM1como root, e está feito. Em muitos sistemas o tamanho está limitado para 4 megs. Mas isto pode ser alterado na altura de arranque ou se recompilar o Kernel, mas leia o meu artigo para tal. Pode adicionar ainda mais como isto,
mkfs -t ext2 /dev/ram2 mkdir -p /RAM2 mount /dev/ram2 /RAM2
Muito simples. Crie um directório e monte nele o ramfs.
mkdir -p /RAM1 mount -t ramfs none /RAM1Se pretende um segundo, muito simples. Crie o directório e monte nele o ramfs.
mkdir -p /RAM2 mount -t ramfs none /RAM2
Aqui está um exemplo em como fazer um ramdisk de 10 meg.
mkdir -p /RAM1 mount -t ramfs none /RAM1 -o maxsize=10000Tirado directamente de http://www.linuxhq.com/kernel/v2.4/patch/patch-2.4.3-ac2/linux.ac_Documentation_filesystems_ramfs.txt.html
+ ramfs - Um sistema de ficheiro que permite um ajuste automático da +memória + + + Ramfs é um sistema de ficheiros que conserva todos os ficheiros na RAM. + Permite acessos de leitura-escrita. Em contraste ao discos RAM, que + alocam uma quantidade fixa de RAM, ramfs adapta-se ao seu conteúdo. + + Pode montar o ramfs com: + mount -t ramfs none /mnt/wherever + + Depois é só criar e usar os ficheiros. Quando o sistema de ficheiros é + desmontado, todo o seu conteúdo é perdido. + + NOTE! Este sistema de ficheiros é provavelmente muito útil não como um + sistema de ficheiros real mas como um exemplo do funcionamento dos + sistemas de ficheiro virtuais pode ser escrito. + +Limites de Recursos: + + Por defeito um ramfs será limitado para usar metade da memória (física) + para armazenar o conteúdo de ficheiros, e mais um bit para os metadados + incluídos. A utilização dos limites dos recursos do ramfs podem ser + controlados com as seguintes opções de montagem: + + maxsize=NNN + Define o máximo de memória utilizada pelo sistema de + ficheiros para NNN kilobytes. Este será arredondado por defeito para um + múltiplo do tamanho de página. Por defeito é metade da memória física. NB. + ao contrário de outros limites, definindo-o para zero não limita nada, mas + limitará o limite actual do sistema de ficheiros de dados para zero + páginas. Pode haver uso disto numa situação perversa. + + maxfilesize=NNN + Define o tamanho máximo de um simples ficheiro num sistema + de ficheiros para NNN kilobytes. Será arredondado para um múltiplo do + tamanho da página. Se NNN=0 não existe limite. Por defeito não existe + limite. + + maxdentries=NNN + Define o número máximo de entradas (ligações físicas) de + directórios no sistema de ficheiros para NNN. Se NNN=0 então não existe + limite. Por defeito está definido para maxsize/4. + + maxinodes=NNN + Define o número máximo de inodes (ficheiros distintos) no + sistema de ficheiros para NNN. Se NNN=0 não existe limite. Por defeito não + há limite (mas nunca pode haver mais inodes que dentries).
A Ram está mais barata estes dias. Eu comprei recentemente 128 megas por $120 e imagino que o preço vai continuar a descer. Para 128 megas, eu posso facilmente carregar os meus servidores neles. Se o meu servidor web não tem ficheiros grandes, eu posso configurar o http.conf para procurar noutro directório que não o ramdisk. O servidor de DNS é muito pequeno. O meu maior servidor de base de dados tem só 28 megas. Considerando o facto de você conseguir 1 giga de memória de computador estes dias muito barato, eu penso que seria extraordinário correr tudo que tenho na ram. O único truque com o servidor de base de dados è que deve guardar todas as modificações para um servidor de base de dados à parte antes de escrever para o servidor na ram. Isto é lento, mas considerando que a maior parte do tempo é passado a ler e não a escrever, devia melhorar a performance. Talvez se conseguíssemos fazer mirror de um ramdisk para um disco rígido.
Eu já expliquei isto num meu outro artigo, por favor leia-o aqui: http://www.gnujobs.com/mark/articles/Ramdisk.html#Example. Substitua somente estes comandos
### Make the ramdisk partitions /sbin/mkfs -t ext2 /dev/ram0 /sbin/mkfs -t ext2 /dev/ram1 /sbin/mkfs -t ext2 /dev/ram2 ### Mount the ramdisks to their appropriate places mount /dev/ram0 /home/httpd/cgi-bin mount /dev/ram1 /home/httpd/icons mount /dev/ram2 /home/httpd/htmlpor estes comandos (aumente o número se os 10 megas não são suficientes):
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
Existem três problemas ao combinar um ramdisk com uma partição do disco rígido.
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 0E depois executei,
mkraid /dev/md3 mkfs -t ext2 /dev/md3 mkdir -p /RAID1 mount /dev/md3 /RAID1Problema, até ao reboot, o ramdisk fica confuso. Então no reboot, on reboot,
raidstart /dev/md3 raidhotadd /dev/md3 /dev/ram3 mount /dev/md3 /RAID1Agora lembre-se, se não configurou o seu velho ramdisk para ser maior que 4 megas, é escusado que a partição do disco rígido seja superior a 4 megas.
Seria bom ter um raid em mirror com 3 partições. 1 sendo a ramdisk e 2 sendo as partições do disco rígido e a ramdisk é só de leitura para os ciclos de leitura. Não sei se é possível isolar uma das partições raid para ser só de leitura, mas se conseguisse seira bom.
Obrigado à Katja pela ajuda!
Copyright © 4/2001 Mark Nielsen
Versão do Artigo 1.3 : Data da última modificação Sat May 19
06:04:06 2001
|
Páginas Web mantidas pelo time de Editores LinuxFocus
© Mark Nielsen, FDL LinuxFocus.org Clique aqui para reportar uma falha ou para enviar um comentário para LinuxFocus |
Informação sobre tradução:
|
2001-09-05, generated by lfparser version 2.17