Serão abordadas duas formas de tunar o sistema de arquivos para um melhor desempenho e para torná-lo mais robusto.
Uma das formas que vou utilizar é o journal externo, ou seja, o journal do sistema de arquivos ReiserFS vai estar em outra partição. Porém, você
poderá também colocá-lo em uma partição de outro disco.
E a segunda forma vai ser com o journal interno, ou seja, na partição onde está armazenado o sistema.
Para aplicar o journal externo, particione o disco conforme sua necessidade. Contudo, usarei para explicar o seguinte particionamento do disco para
instalar o S.O.:
- Partição: /dev/sda1 - Diretório root "/";
- Partição: /dev/sda5 - Swap;
- Partição: /dev/sda6 - Partição usada para armazenar o journal externo da partição /dev/sda1.
NOTA: Este sistema de particionamento é apenas um exemplo para fins didáticos,não é obrigatório. De forma que, não é preciso usar o journal
externo na partição onde ficar root "/", então, você pode particionar da forma que melhor atende às suas necessidades, adicionando até mais
partições se for necessário.
Não vou abordar como particionar usando o
fdisk e nem o
GParted, pois existem muitos materiais que abordam o uso
dessas ferramentas.
Tunando o ReiserFS usando journal externo
Antes de começar a parte prática, tenha em mãos um LiveCD do Ubuntu,
Linux Mint e ou Parted Magic, para aplicar as alterações. Caso não tenha no
LiveCD (ou no sistema que está usando para particionar e aplicar o sistema de arquivos) suporte a ReiserFS, então instale o pacote "reiserfsprogs".
Supondo que você já particionou o disco que armazenará o S.O., é hora de aplicar o sistema de arquivos ReiserFS. Mas antes, desmonte as partições
que usará no procedimento de aplicação de F.S.
1. Aplique o sistemas de arquivos em "/dev/sda1" com journal externo. O journal da partição "/dev/sda1" ficará no dispositivo "/dev/sda6", que será
a partição raiz e que abrigará toda a estrutura de diretórios.
# mkreiserfs -j /dev/sda6 /dev/sda1
No comando anterior, não especifiquei o tamanho do journal na partição, então, o tamanho assumido por padrão, é 8193 blocos. Caso queira colocar
um tamanho de journal acima do tamanho padrão, use junto ao comando
mkreiserfs a opção "-s", ou "--journal-size".
Sabendo que o tamanho máximo do journal é de 32749 para partições com blocos de 4 kbytes.
Então, com a opção de tamanho ficaria assim:
# mkreiserfs -s 8193 -t 1024 -j /dev/sda6 /dev/sda1
Onde "-s" especifica o tamanho do journal, e "-t" especifica o máximo de blocos que podem ser transferidos para o journal de uma vez. 1024 é o
máximo, não consegui fazer com valor superior, e o valor deve ser menor do que metade do tamanho do journal.
Após aplicar o sistema de arquivos, veja como fica a particionamento no GParted na imagem abaixo:
2. Instalação do S.O. Debian
GNU/Linux 6.0.5
NOTA: Não tratarei a instalação por completo, apenas partes importantes para finalizar a mesma.
2.1. Na primeira tela de instalação, escolha a opção "Advanced Options" e em seguida "Graphical Expert Install". Depois carregue os módulos do
sistema de arquivos ReiserFS:
2.2. Em particionamento do disco, escolha a opção "Manual" e deixe a partição Raiz conforme mostrado na imagem abaixo, ou seja, deixe marcado
para usar o sistema de arquivos ReiserFS e adicione o ponto de montagem como root "/", mas marque para não formatar:
Ao final, o particionamento ficará assim, depois aplique as alterações feitas:
Após a instalação do S.O com journal externo, você terá um sistema ReiserFS com mais velocidade, porém, em um desktop que é usado para acesso
à Internet e/ou tarefas básicas, não nota-se diferença a princípio. Ou seja, só repara-se diferença quando está fazendo operações em massa, aí sim
notará diferença.
Agora, edite e acrescente algumas opções de montagem para alterar o comportamento do ReiserFS no arquivo "/etc/fstab":
# vim /etc/fstab
/dev/sda1 / reiserfs notail,rw,data=writeback,relatim
e 0 1
*
notail: Por padrão, esta opção já veio ativada após a instalação, mas caso não esteja habilitada, coloque a mesma no
fstab. Esta opção muda o comportamento do sistema de arquivos ReiserFS, fazendo com que o mesmo ganhe um pouco de
desempenho.
Explicando bem o que esta opção
notail faz:
Toda informação que é gravada no disco, é armazenada em blocos de dados, cada bloco possui um espaço para alocar informações que é
determinado durante a aplicação do sistema de arquivos.
Desta forma, se um arquivo possuir 17 kbytes de tamanho e for armazenado em um sistema de arquivos cujo tamanho do bloco é 4 kbytes, o arquivo
iria ocupar cinco blocos de 4 kbytes. Assim, o último bloco ficaria com 3 kbytes de espaço sobrando sem poder serem usados.
Mas, com o recurso "tail packing", este espaço restante livre mencionado na explicação anterior, pode ser preenchido com os restos de dados de
outros arquivos.
Isto pode causar fragmentação, mas como o sistema de arquivos está com a opção "notail" habilitada, a fragmentação é praticamente nula, e a
velocidade de acesso aos dados torna-se rápida, já que os "restos" de dados não serão armazenados em blocos com espaços que estão sobrando.
Mas em compensação, haverá perda de espaço.
*
data=writeback: Esta opção faz com que o sistema de arquivos ReiserFS atue no modo de operação writeback, gravando no journal
apenas os metadados a cada ação nos arquivos, sem forçar a gravação dos metadados no sistema de arquivos após a gravação no journal. Isto
garante maior desempenho mas poderá perder dados com maior facilidade.
Uma outra forma de melhorar ainda mais o desempenho, porém perdendo algumas informações (como data de acesso a arquivos e diretórios), seria
adicionar no "/etc/fstab":
/dev/sda1 / reiserfs notail,rw,data=writeback,noatim
e,nodiratime 0 1
As outras opções já foram abordadas na página anterior.
Lembre-se que, adicionando a opção de montagem 'data=writeback', o risco de perder dados é maior, porém, como o journal está externo já existe
um ganho de desempenho.
Podemos adicionar, ou retirar, algumas opções para mudar o comportamento do sistema de arquivos, fazendo o mesmo ficar mais consistente e/ou
continuar rápido, mas mantendo um bom nível de consistência.
Vejam só como ficaria as opções de montagem no "/etc/fstab", deixando o sistema de arquivo num misto de consistência e velocidade com journal
externo:
/dev/sda1 / reiserfs notail,rw,relatime,barrier=flush&
nbsp; 0 1
Ou, deixa manter os dados com o máximo de segurança sem importar-se com a velocidade. Veja o exemplo abaixo adicionado no "/etc/fstab":
/dev/sda1 / reiserfs notail,rw,sync,barrier=flush 
; 0 1
Após aplicar as alterações, notará que vai ficar lento, principalmente em atividades de gravação e transferência de dados.
É importante deixar bem claro que, caso o dispositivo que contém o journal externo do F.S. do sistema chegue ao fim de sua vida útil, ou seja
danificado. O seu sistema não poderá mais ser acessado enquanto não houver um novo journal externo.
Para resolver isso, execute os comandos a seguir com o sistema de arquivo do sistema desmontado:
# reiserfstune -f --no-journal-available --journal-new-device /dev/sdb2 /dev/sda1
No comando acima, estou supondo que o novo dispositivo que conterá o journal do sistema é "/dev/sdb2", e o dispositivo que contém o sistema é
"/dev/sda1".
As opções:
- journal-new-device: indica a nova localização do journal do F.S. do sistema.
- no-journal-available: indica que o dispositivo "/dev/sda1", ou seja, o dispositivo que contém o sistema, não tem journal.
Você pode ainda mudar o tamanho do journal com a opção "-s", junto ao comando
reiserfstune.
Mas tenha em mente que foi criado um novo journal e conteúdo, do antigo foi perdido, de maneira que se antigo log contém alguma informação para
ser recuperada, a mesma foi perdida com a criação do novo journal.
Tunando o ReiserFS usando journal interno
Para tunar o sistema de arquivos com journal interno, o procedimento é mais fácil, pois não precisa fazer alterações especificas antes e durante a
instalação do S.O., basta apenas manipular as informações dentro o "/etc/fstab", pois assim é mais fácil.
As opções de montagem já usadas anteriormente podem ser usadas também com journal interno. E estarei usando o mesmo esquema de
particionamento já visto com journal externo.
Por exemplo, para um maior desempenho mesmo com o journal interno, poderíamos fazer o ReiserFS trabalhar bem rápido, adicionando as seguintes
opções no "/etc/fstab":
/dev/sda1 / reiserfs notail,rw,data=writeback,relatim
e 0 1
Ou, deixar o ReiserFS com mais ganho de desempenho, adicionando as seguintes linhas no "/etc/fstab":
/dev/sda1 / reiserfs notail,rw,data=writeback,noatim
e,nodiratime 0 1
Ou, tunar o ReiserFS deixando-o mais robusto, porém perdendo velocidade, para manter os dados de sua estrutura:
/dev/sda1 / reiserfs notail,rw,sync,barrier=flush 
; 0 1
Lembre-se que todas estas personalizações tem que ser utilizadas para bons resultados junto às características positivas do ReiserFS.
Exemplo: O ReiserFS trabalha melhor com arquivos pequenos.