Pessoal, neste artigo vou falar rapidamente sobre o aplicativo RapidDisk (rxdsk), criado pelo ilustríssimo Petros Koutoupis.

O RapidDisk serve como um sistema de arquivos “na memória”, onde podemos armazenar e acessar arquivos numa velocidade incrívelmente maior do que em discos convencionais.
Na realidade já existem outros aplicativos com o mesmo princípio do que o RapidDisk, porém o rxdsk traz a funcionalidade de alocação dinâmica de espaço, ou seja, o aplicativo não reserva imediatamente a quantidade de memória informada.

ONDE USAR O RAPIDDISK?

Meu pequeno e jovem gafanhoto, o uso do rxdsk é vasto, podemos usar para armazenar páginas web, para servidores ftp ou para armazenar arquivos de cache de banco.
É válido mencionar que existe uma funcionalidade chamada RapidCache, disponível nas novas versões do rxdsk, onde podemos pegar uma partição num disco e carregá-la diretamente para a memória. O RapidCache mantém o sincronismo entre o disco e a partição em memória ( mas lembre-se que neste caso ocorrerá degradação da performance do rxdsk).

INSTALANDO O RAPIDDISK

Infelizmente ( ou felizmente ) o RapidDisk está disponível apenas via git, o link para o GIT do RapidDisk está em: http://rapiddisk.org/index.php?title=Download_and_Installation.
A instalação é muito tranquila, apenas serão necessários pacotes para a compilação do aplicativo ( make e gcc ) e os headers do kernel.

Observe abaixo como fiz para instalar o rapidDisk em um Debian 6.0.6:

[et_pb_dmb_code_snippet code=”YXB0LWdldCBpbnN0YWxsIGdpdCBtYWtlIGxpbnV4LXNvdXJjZS0yLjYuMzIgZ2NjIHpsaWIxZy1kZXYgLXkKbWtkaXIgLXAgIC9vcHQvaW5zdGFsbC9yeGRzawpjZCAvb3B0L2luc3RhbGwvcnhkc2sKZ2l0IGNsb25lIGh0dHA6Ly9naXQucmFwaWRkaXNrLm9yZy9yeGRzay0yLnguZ2l0CmNkIHJ4ZHNrLTIueC8KbWFrZQptYWtlIGluc3RhbGw=” _builder_version=”4.0.6″]YXB0LWdldCBpbnN0YWxsIGdpdCBtYWtlIGxpbnV4LXNvdXJjZS0yLjYuMzIgZ2NjIHpsaWIxZy1kZXYgLXkKbWtkaXIgLXAgIC9vcHQvaW5zdGFsbC9yeGRzawpjZCAvb3B0L2luc3RhbGwvcnhkc2sKZ2l0IGNsb25lIGh0dHA6Ly9naXQucmFwaWRkaXNrLm9yZy9yeGRzay0yLnguZ2l0CmNkIHJ4ZHNrLTIueC8KbWFrZQptYWtlIGluc3RhbGw=[/et_pb_dmb_code_snippet]

Observe que usamos o RapidDisk 2! Nele temos a função RapidCache, que permite o mapeamento de um disco para uma partição na memória!

Após a compilação e instalação do RapidDisk, um novo aplicativo estará disponível: rxadm. Com ele faremos a criação de nossa partição “rápida” e mapearemos ela com um disco físico.

Mas antes de iniciar o uso do rxdsk, carregue os módulos com:

[et_pb_dmb_code_snippet code=”bW9kcHJvYmUgcnhkc2sKbW9kcHJvYmUgcnhjYWNoZQ==” _builder_version=”4.0.6″]bW9kcHJvYmUgcnhkc2sKbW9kcHJvYmUgcnhjYWNoZQ==[/et_pb_dmb_code_snippet]

Agora sim, tudo está pronto para o uso.

CRIANDO UMA PARTIÇÃO E MAPEANDO AO DISCO.

No exemplo abaixo, vou criar uma partição de 32 MB ( apenas para teste ) e mapeá-la ao meu disco, que já existe, /dev/sdb1.

Primeiro vamos criar nosso nova partição com 32M.

[et_pb_dmb_code_snippet code=”cnhhZG0gLS1hdHRhY2ggMzIKKiBQYXJhIGNyaWFyIG5vdmFzIHBhcnRpw6dvZXMsIHVzZSBhIG9ww6fDo28g4oCTYXR0YWNoIGUgcGFyYSByZW1vdsOqLWxhcywgdXNlIOKAk2RldGFjaC4=” _builder_version=”4.0.6″]cnhhZG0gLS1hdHRhY2ggMzIKKiBQYXJhIGNyaWFyIG5vdmFzIHBhcnRpw6dvZXMsIHVzZSBhIG9ww6fDo28g4oCTYXR0YWNoIGUgcGFyYSByZW1vdsOqLWxhcywgdXNlIOKAk2RldGFjaC4=[/et_pb_dmb_code_snippet]

Observe que agora já temos uma partição configurada.

[et_pb_dmb_code_snippet code=”cm9vdEBib3V3ZW4wMTovdG1wIyByeGFkbSAtLWxpc3QKcnhhZG0gMi44CkNvcHlyaWdodCAyMDExLTIwMTMgUGV0cm9zIEtvdXRvdXBpcwoKTGlzdCBvZiByeGRzayBkZXZpY2Uocyk6CgogUmFwaWREaXNrIERldmljZSAxOiByeGQwCglTaXplOiAzMzU1NDQzMgoKTGlzdCBvZiByeGNhY2hlIG1hcHBpbmcocyk6CgogIE5vbmU=” _builder_version=”4.0.6″]cm9vdEBib3V3ZW4wMTovdG1wIyByeGFkbSAtLWxpc3QKcnhhZG0gMi44CkNvcHlyaWdodCAyMDExLTIwMTMgUGV0cm9zIEtvdXRvdXBpcwoKTGlzdCBvZiByeGRzayBkZXZpY2Uocyk6CgogUmFwaWREaXNrIERldmljZSAxOiByeGQwCglTaXplOiAzMzU1NDQzMgoKTGlzdCBvZiByeGNhY2hlIG1hcHBpbmcocyk6CgogIE5vbmU=[/et_pb_dmb_code_snippet]

Se você quiser, pode criar um filesystem no /dev/rxd0 e montá-lo, porém ele não estará persistido em um disco físico! Se quiser manter persistido e sincronizado com um disco, continue lendo 😉

Para persistir o novo dispositivo com um disco use a opção map, como no exemplo abaixo:

[et_pb_dmb_code_snippet code=”cm9vdEBib3V3ZW4wMTovdG1wIyByeGFkbSAtLXJ4Yy1tYXAgcnhkMCAvZGV2L3NkYjEgNApyeGFkbSAyLjgKQ29weXJpZ2h0IDIwMTEtMjAxMyBQZXRyb3MgS291dG91cGlzCgpDb21tYW5kIHRvIG1hcCByeGMwIHdpdGggcnhkMCBhbmQgL2Rldi9zZGIxIGhhcyBiZWVuIHNlbnQuClZlcmlmeSB3aXRoICItLWxpc3Qi” _builder_version=”4.0.6″]cm9vdEBib3V3ZW4wMTovdG1wIyByeGFkbSAtLXJ4Yy1tYXAgcnhkMCAvZGV2L3NkYjEgNApyeGFkbSAyLjgKQ29weXJpZ2h0IDIwMTEtMjAxMyBQZXRyb3MgS291dG91cGlzCgpDb21tYW5kIHRvIG1hcCByeGMwIHdpdGggcnhkMCBhbmQgL2Rldi9zZGIxIGhhcyBiZWVuIHNlbnQuClZlcmlmeSB3aXRoICItLWxpc3Qi[/et_pb_dmb_code_snippet]

Veja que informamos o dispositivo novo rxd0 e uma partição em disco /dev/sdb1.

Se montarmos nosso dispositivo mapeado /dev/mapper/rxc0, vamos observar que os dados de sdb1 estarão acessíveis.

[et_pb_dmb_code_snippet code=”cm9vdEBib3V3ZW4wMTovdG1wIyBtb3VudCAvZGV2L21hcHBlci9yeGMwIC9tbnQvcnhkc2svCnJvb3RAYm91d2VuMDE6L3RtcCMgbHMgLWxhIC9tbnQvcnhkc2svCnRvdGFsIDE2MDE3CmRyd3hyLXhyLXggMyByb290IHJvb3QgICAgIDEwMjQgRmViIDE1IDEzOjU3IC4KZHJ3eHIteHIteCAzIHJvb3Qgcm9vdCAgICAgNDA5NiBGZWIgMTUgMTM6NTggLi4KLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNjM4NDAwMCBGZWIgMTUgMTM6NTcgZmlsZTE2TS56ZXJvCmRyd3gtLS0tLS0gMiByb290IHJvb3QgICAgMTIyODggRmViIDE1IDEzOjU1IGxvc3QrZm91bmQ=” _builder_version=”4.0.6″]cm9vdEBib3V3ZW4wMTovdG1wIyBtb3VudCAvZGV2L21hcHBlci9yeGMwIC9tbnQvcnhkc2svCnJvb3RAYm91d2VuMDE6L3RtcCMgbHMgLWxhIC9tbnQvcnhkc2svCnRvdGFsIDE2MDE3CmRyd3hyLXhyLXggMyByb290IHJvb3QgICAgIDEwMjQgRmViIDE1IDEzOjU3IC4KZHJ3eHIteHIteCAzIHJvb3Qgcm9vdCAgICAgNDA5NiBGZWIgMTUgMTM6NTggLi4KLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNjM4NDAwMCBGZWIgMTUgMTM6NTcgZmlsZTE2TS56ZXJvCmRyd3gtLS0tLS0gMiByb290IHJvb3QgICAgMTIyODggRmViIDE1IDEzOjU1IGxvc3QrZm91bmQ=[/et_pb_dmb_code_snippet]

Pronto, agora você pode usar tranquilamente seu disco!
Toda a alteração feita será aplicada também no disco físico.

OBSERVAÇÕES GERAIS

Atente para alguns detalhes:

Cuidado ao usar em ambientes Oracle Database: Infelizmente o RapidDisk não está homologado para os bancos Oracle e, se seu banco acabar sendo corrompido devido o uso do rxdsk, você não terá suporte.
Observe o path: A partição mapeada fica em /dev/mapper e a partição virtual fica em /dev
Outros projetos de RamDisk: São vários, mas os mais interessantes são: RamCloud, dm-cache e flashcache.

Bem pessoal, espero que este breve artigo possa ajudá-los.
Abraço!