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:
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:
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.
Observe que agora já temos uma partição configurada.
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:
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.
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!