Para tunar o JFS, usarei o esquema de particionamento descrito abaixo. Porém, assim como nos outros sistemas de arquivos, farei uso do journal
externo e interno para fazer este trabalho.
Apresentando particionamento usado para aplicar as alterações:
- Partição: /dev/sda1 - Diretório root "/";
- Partição: /dev/sda2 - Diretório home "/home";
- Partição: /dev/sda5 - Swap;
- Partição: /dev/sdb1 - Partição usada para armazenar o journal externo da partição /dev/sda1;
- Partição: /dev/sdb2 - Partição usada para armazenar o journal externo da partição /dev/sda2.
Tunando usando o journal externo
Diferente do que foi feito anteriormente, vou mostrar duas formas de deixar o sistema instalado com journal externo. Primeiro, vou mostrar como
fazer antes da instalação do sistema.
Para isso, dê boot pelo LiveCD, como o
Parted Magic ou outro, e execute os comandos a seguir. Se no sistema que está usando para
executar as tarefas não estiver instalado os comandos, será necessário instalar o pacote "jfsutils".
1. Prepare as partições que armazenarão os logs com os comandos abaixo, desta forma, estamos dizendo que as partições "/dev/sdb1" e
"/dev/sdb2", são partições de journal externo:
# jfs_mkfs -J journal_dev /dev/sdb1
# jfs_mkfs -J journal_dev /dev/sdb2
2. Em seguida, aplique o sistema de arquivos JFS nas partições onde será armazenado o sistema, indicando que os dispositivos que contém os
journals externos são "/dev/sdb1" e "/dev/sdb2".
# jfs_mkfs -J device=/dev/sdb1 /dev/sda1
# jfs_mkfs -J device=/dev/sdb2 /dev/sda2
Veja como ficaram as partições que receberam o journal:
3. Na instalação do S.O., apenas abordarei as partes importantes que merecem ser destacadas.
3.1. Escolha a opção na tela de boot "Advanced Options" e em seguida "Graphical Expert Install"
3.2. No particionamento, escolha a opção "Manual" para fazer as alterações, e em seguida, escolha as partições onde irá instalar o sistema. Coloque
o ponto de montagem para "/dev/sda1" e "/dev/sda2" e escolha o sistema de arquivos JFS com journaling.
Mas, não marque para formatar a mesma, como mostram as imagens a seguir:
3.3. Veja como ficou o particionamento ao final das alterações:
4. Agora, apresento a segunda forma de deixar as partições do sistema com journal externo. Primeiro, certifique-se de que as partições que usarão
journal externo estejam desmontadas.
Logue usando um LiveCD, ou usando outro sistema
GNU/Linux que tenha instalado no mesmo disco, ou em disco diferente, e execute os seguintes
comandos:
# jfs_mkfs -J journal_dev /dev/sdb1
# jfs_mkfs -J journal_dev /dev/sdb2
Estes comandos acima preparam os dispositivos "/dev/sdb1" e "/dev/sdb2" para armazenar o journal. E em seguida, use o comando
jfs_tune para dizer ao sistema de arquivos JFS, que o log está anexado em uma partição diferente do sistema:
# jfs_tune -J device=/dev/sdb1 /dev/sda1
# jfs_tune -J device=/dev/sdb2 /dev/sda2
Agora, edite e acrescente algumas opções no "/etc/fstab" para deixar o JFS com melhor desempenho. Veja que o UUID usado, é da partição que foi
formatada para ambos. Mude o campo do UUID de sua partição, pois com certeza é diferente do atual:
UUID=b8ff3909-37f7-431e-a634-873842017335 / jfs rw,errors=remount-ro,relatime
UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 /home jfs rw,relatime
Porém, se quer ganhar mais desempenho ainda, sem importar-se com as atualizações de tempo de acesso nos diretórios e arquivos, coloque as
seguintes opções no fstab:
UUID=b8ff3909-37f7-431e-a634-873842017335 / jfs rw,errors=remount-ro,noatime,nodiratime
UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 /home jfs rw,noatime,nodiratime
* NOTA: É muito importante deixar esclarecido que se o dispositivo que contém o journal externo chegar ao fim de sua vida útil, os dados que estão
contidos no sistema não poderão mais ser acessados, ou montados, para escrita (somente para leitura) mesmo usando usando Live CD ou de outro
sistema presente na mesma máquina.
Mas não fique desesperado caso isso aconteça, pois poderá instalar um novo disco e criar uma nova partição que conterá o journal do F.S. do
sistema, fazendo com que o sistema seja acessível novamente com journal na partição do novo disco.
Para isso, execute os seguintes comandos a partir de outro sistema na mesma máquina, ou de um LiveCD:
# jfs_mkfs -J journal_dev /dev/sdb1
# jfs_tune -J device=/dev/sdb1 /dev/sda1
No comando acima, estou supondo que o novo dispositivo que irá conter o journal é "/dev/sdb1", e que o sistema está no "/dev/sda1". Depois de
executar os comandos, é só reiniciar a máquina e voltar a usar seu sistema.
Mas tenha em mente, que foi criado um novo journal e que o conteúdo do antigo foi perdido, de maneira que se o antigo log contém alguma
informação para ser recuperada, a mesma foi perdida.
Tunando usando journal interno
Mesmo com journal interno, podemos deixar o JFS com melhor desempenho, e para isso, farei uso do mesmo esquema de particionamento usado
anteriormente.
UUID=b8ff3909-37f7-431e-a634-873842017335 / jfs rw,errors=remount-ro,relatime
UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 /home jfs rw,relatime
Agora, vamos adicionar algumas opções ao "/etc/fstab" para deixar o JFS com uma melhor performance ainda:
UUID=b8ff3909-37f7-431e-a634-873842017335 / jfs rw,errors=remount-ro,noatime,nodiratime
UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 /home jfs rw,noatime,nodiratime
Observe que são as mesmas opções usadas com o journal externo. Mas mesmo o journal estando interno, as opções
noatime e
nodiratime já trazem um benefício no desempenho, pois os metadados não armazenarão informações referentes a acessos em arquivos
e/ou diretórios. Senão, vai armazenar estas informações, e com certeza não irá gravar as mesmas no journal.
Lembre-se que não é o forte do JFS ter transferências de dados de alta velocidade, principalmente quando for de tamanho pequeno.