- Primeira parte - Ações realizadas antes da instalação!* Opção 1 – Journal externo em outro disco rígido! Você realizará uma instalação nova do seu Ubuntu (ou de uma de suas variantes) e deseja aperfeiçoar o seu sistema de arquivos desde o início! Essa é a melhor opção!
De posse de um Live-CD do Ubuntu ou do CD do Parted Magic iremos realizar uma formatação em modo texto! É, isso mesmo, você leu corretamente, em modo texto! Assim temos muito mais opções no que alterar! Agora é a hora de você planejar como vai deixar a sua tabela de partições! Vai criar uma instalação simples com duas partições (raiz mais Swap) ou vai criar mais de duas partições, separando também o Home? Isso fica ao seu critério! O que interessa neste tutorial é que você precisará primeiro criar sua tabela de partições para posteriormente inserir as novas opções que farão toda a diferença durante a formatação! Você tem duas maneiras de fazer isso! Você pode utilizar o cfdisk em modo texto (eu sei, eu sei, os que nadam ou já nadaram em águas do Slakware agora abriram o maior sorriso), ou usar o gparted mesmo em modo gráfico! A vantagem desse processo é que você deixa tudo pronto no disco rígido em questão e depois apenas aponta para o particionador da instalação onde vai montar o sistema de arquivos e qual o tipo dele! Você não manda formatar tudo outra vez! Também é ótimo se você quiser usar um Alternate Install CD ou a instalação mínima do Ubuntu!
Usando o cfdisk! Use o comando fdisk -l como root para descobrir a atual situação de sua tabela de partições! É importante saber se o disco rígido que você vai alterar é o dispositivo sda/sdb/sdc e etc. . No exemplo a seguir eu vou usar dois discos rígidos vazios de uma máquina virtual! Um com 8GB e outro com 1GB!Como usuário root faça:
#cfdisk /dev/sd?
Altere a interrogação conforme a letra da unidade do disco rígido a ser modificada! No caso da máquina virtual, o primeiro disco rígido era o /dev/sda!
Você será brindado com a seguinte tela:
Use as setas do teclado para navegar nas opções do utilitário e do disco rígido! Selecione o disco rígido desejado e tecle Enter para criar a nova tabela de partição! Ele vai te perguntar se a nova partição será primária ou lógica, faça a sua escolha e depois defina o tamanho da partição em MB! Defini como sendo 7500MB ou 7.5GB! Depois ele pergunta se você vai querer que a partição seja localizada no início ou no fim do disco. Escolhi no início! Tecle Enter na opção
“Iniciali.” para tornar essa partição inicializável se esta for a partição raiz! Depois navegue até a opção
“Tipo” e tecle Enter. Aí escolha a opção
“83”, tipo de sistema de arquivos Linux! Se tudo correu bem até aqui, sua tela do cfdisk deve estar igual a essa:
Agora navegue até o espaço livre restante e vamos criar a partição Swap! Novamente tecle enter e escolha entre partição primária e lógica! Defina o tamanho, no caso escolhi o máximo e depois o tipo! Dessa vez escolha a opção
“82”, partição Swap! Agora chegou a hora de gravar suas alterações no disco! Navegue até a opção
“Gravar” e digite
“sim” seguido da tecla Enter para que as mudanças tomem efeito! Enquanto você escolhe as alterações, mas não mandar gravar nada, nada está perdido ou alterado! Feita a primeira parte, saia do cfdisk navegando até a opção
“Sair” e teclando Enter! Sua tela deve estar parecida com isso:
Agora vamos repetir o passo de criar uma partição primária no segundo disco rígido que será usado como uma partição Journal externa! Atente para o fato que essa partição deve ser
primária! Se usar uma partição lógica o sistema não instalará! Execute o comando fdisk -l e veja como está a sua tabela de partição. Ela deve estar parecida com esta:
Então fazemos como root: cfdisk /dev/sd?
Onde novamente a interrogação vai depender da letra da unidade do seu disco rígido. Aqui no meu exemplo foi sdb! Crie uma partição primária com o tamanho de 1GB (1024MB) tipo Linux (“83”), ela não precisa ser marcada com o “inicializar”! Grave as alterações no segundo disco rígido e saia do cfdisk!
Observações: Isso foi apenas um exemplo! Você pode criar quantas partições julgar necessário no seu disco rígido em que ficará o seu sistema! Contudo, para cada partição criada você terá que criar um journal externo para ela se quiser alto desempenho! Quanto ao segundo disco rígido, nada impede de você usar o restante do mesmo para guardar seus dados! Apenas use o início dele para servir de Journal! Qual o motivo do 1GB? É que com esse tamanho todo ele tem mais velocidade quando lidando com muitos arquivos dentro de muitos diretórios seja em ações de gravação ou de leitura! Se não quiser usar isso tudo, fique com 256MB ou 400MB! Já estão de bom tamanho também! Porque eu não uso mais de 1GB? Porque não dá diferença nenhuma para um usuário Desktop! Só se você tivesse uma grande massa de dados em um único volume! Tipo um LVM! Em servidores eles podem chegar ou passar dos 8GB de Journal!
Usando o Gparted! Se estiver usando o CD do Parted Magic, é só chamar o “particionador”! Se estiver com um Live-CD do Ubuntu vá até Sistema > Administração > Gparted!
Com o Gparted aberto escolha o disco rígido em que vai ficar o sistema e crie apenas a tabela de partição com os tamanhos definidos de acordo com a sua necessidade! Não formate nada! Mas como? Na opção
“Sistema de arquivo” escolha
“Não formatada”! Como mostrado na figura a seguir:
Veja essa nova foto como exemplo:
Na hora da partição Swap, você escolhe que o sistema de arquivos deve ser formatado! Repita o passo da partição raiz para a partição do segundo disco rígido que será usada como Journal externo! Lembre-se, partição
primária!
Finalizada a fase de criar as partições chegamos ao momento tão aguardado! Vamos formatar as partições! Sempre como usuário root faça os seguintes comandos:
# mke2fs -t ext4 -O dir_index,extent /dev/sda1
Aqui criamos o sistema de arquivos ext4 com índice de diretórios e extent nos blocos! Altere a letra e o número da unidade conforme for o seu caso!
Sua tela deve ficar igual a essa:
Agora vamos criar uma partição Journal no segundo disco rígido!
#mke2fs -O journal_dev /dev/sdb1
Sua tela deve ficar parecida com esta:
Agora vamos dizer ao sistema de arquivos recém criado no
“sda1” que ele não possui mais Journal:
#tune2fs -O ^has_journal /dev/sda1
Em seguida certifique-se que tudo correu bem com o comando:
#tune2fs -l /dev/sda1
Sua tela deve ficar parecida como a tela a seguir (atente para a linha
“Filesystem Features”, você não deve ler a opção
“has_journal” se tudo foi executado corretamente, isso indica que o /dev/sda1 não possui mais journal):
O último passo consiste em dizer ao /dev/sda1 que o seu Journal está em outro disco rígido, no caso do exemplo, no /dev/sdb1. Mas não é só isso, aqui vai outro pulo do gato! Lembre-se que existem três tipos de gravação do Journal. Não lembram?
Relembrando: journal_data (o mais seguro e também mais lento),
journal_data_ordered (o padrão, melhor custo/benefício entre velocidade e segurança),
journal_data_writeback (maior velocidade a custa de segurança dos seus dados). Agora você pode dizer ao sistema qual deles você quer usar! Veja que em momento algum eu recomendo que você use o seu sistema de arquivos sem journal! Se for assim use o ext2! Mesmo usando o writeback, você não perde o journal! Perde o que você está fazendo que não foi salvo em uma queda de energia! Por exemplo, com um documento do Writer aberto, o que foi digitado no documento e não foi salvo, perde-se com uma queda de energia! Mesmo escolhendo a opção mais segura journal_data, mas com o journal em outro disco rígido, você ganhará um aumento em média de
30 a 60% nas taxas de gravação e leitura! Ou seja, seu sistema estará mais seguro e ainda mais rápido do que ao usar o writeback dentro do mesmo disco rígido! Escolhendo o writeback esse ganho pode passar da casa da dezena! Fica ao seu critério o que escolher! Fiz o teste com o journal_data e o writeback e os ganhos são assombrosos em relação à utilização do journal dentro do mesmo disco rígido! E notem que não estou me referindo às mudanças que ainda podemos fazer com o fstab!
Então se quiser unir
maior velocidade com segurança:
#tune2fs -o journal_data -j -J device=/dev/sdb1 /dev/sda1
Se quiser a opção
padrão do sistema:
#tune2fs -o journal_data_ordered -j -J device=/dev/sdb1 /dev/sda1
Se quiser o
máximo de desempenho à custa de alguma segurança dos seus dados:
#tune2fs -o journal_data_writeback -j -J device=/dev/sdb1 /dev/sda1
Em seguida certifique-se que tudo correu bem!
#tune2fs -l /dev/sda1
Sua tela deve ficar parecida com essa (note que o
“has_journal” voltou à linha do
“Filesytem features” se tudo correu bem):
Pronto! Agora basta clicar no ícone do instalar Ubuntu e na hora que ele chamar o particionador, você escolhe a opção
“especificar particionamento manual – avançado”! Daí você escolhe a partição ext4 e clica em
“Alterar” e coloca o
“usar como” em
“Sistema de arquivos com journaling ext4”,
NÃO marque a partição para formatação e escolhe o ponto de montagem de sua escolha! Tudo como na figura abaixo:
A partição Swap você não muda nada! E na partição que aparece como ext2 do outro disco rígido, você também não mexe em nada! Na hora de instalar o Ubuntu vai reclamar com você que a partição raiz não foi marcada para formatação, você ignora essa mensagem e manda bala! Se você não errou em nada, sua instalação ocorrerá normalmente. Você não deve sentir muita diferença na instalação agora, pois você está preso a parte mais lenta do seu PC, sua leitora/gravadora de CD/DVD! Mas aguarde até o primeiro boot! : )
* Opção 2 - Journal externo, mas dentro do mesmo disco rígido! Este é o caso se você não tem outro disco rígido, mas possuem muitos dados dentro de muitos diretórios e subdiretórios e quer acelerar um pouco as coisas! Com essa opção você sentirá uma melhora nas taxas de leitura, mas não das de gravação! Eu só usaria essa opção no caso de grande volume de dados dentro de um disco rígido também grande! Se esse não for o seu caso, não compensa usar essa opção!
Se você entendeu a
opção 1, a
opção 2 é idêntica! Basta apenas apontar a partição dentro do mesmo disco rígido com os comandos listados na
opção 1! Ou seja, as letras da unidade continuarão as mesmas, o que vai mudar são os números! Exemplo:
sda1/sda2/sda3 e assim por diante! Você pode criar uma partição para o journal não tão grande também, de 256MB ou 400MB! Você decide!
* Opção 3 - Journal dentro do mesmo sistema de arquivos, mas aumentado além do tamanho padrão! Como eu disse antes, por padrão o ext4 calcula o tamanho do Journal automaticamente de acordo com o tamanho do seu sistema de arquivos! Em geral ele fica em torno de 128MB! Mas se você quiser aumentar as taxas de leitura, você pode aumentar o tamanho do Journal interno! Contudo, existe um limite! Você não pode passar dos 400MB! Para a grande maioria dos mortais, 256MB já está bom demais! Um journal maior dentro do mesmo sistema de arquivos sobrecarrega as ações de gravação e o seu processador! Portanto, se não tiver um bom processador eu também não recomendo essa alteração! Você vê logo que na hora de instalar programas algo fica diferente! A barrinha de progresso não se move mais como numa instalação padrão! Ela demora mais para encher, mas na hora de ler os arquivos fica mais rápido! Vocês viram essa opção número três em ação no tópico do Kernel Ominslash! Foi com o vídeo do meu PC com kernel BFQ do Hqxriven! Ali eu estou usando um journal interno de 400MB para acelerar as taxas de leitura! Isso tudo vale para o ext4! Outros sistemas de arquivos também se lançam deste mesmo recurso, é o caso do XFS e do JFS! Os ganhos no JFS são notáveis e ele não sofre da perda nas taxas de gravação!
A primeira parte quanto ao uso do
cfdisk ou do
gparted são iguais em relação à
opção 1!
Defina a sua tabela de partição normalmente para o seu disco rígido. Na hora da formatação é que o comando muda! Como root execute:
Se quiser um
journal de 256MB:
#mke2fs -t ext4 -J size=256 -O dir_index,extent /dev/sda1
Se quiser um
journal de 400MB – tamanho máximo permitido para um journal interno:
#mke2fs -t ext4 -J size=400 -O dir_index,extent /dev/sda1
Você pode estar se perguntando, mas galactus, e o data writeback na
opção 3? É possível? Sim é possível. Mas você tem que formatar primeiro e dizer ao sistema de arquivos que quer mudar a gravação do journal depois! Assim:
#tune2fs -o journal_data_writeback /dev/sda1
Depois é tudo igual à
opção 1 em relação à instalação!
* Opção 4 - Deixar as opções padrões do Journal mas melhorando o acesso ao sistema de arquivos! Você não quer se incomodar com o tamanho e localização do Journal, mas gostaria de usar as opções que aceleram o acesso ao seu sistema de arquivos! Então execute o comando:
#mke2fs -t ext4 -O dir_index,extent /dev/sda1
Pronto! Agora é só seguir com sua instalação como mostrado na
opção 1!
- Desvantagens do Journal Externo! Quais seriam as desvantagens ou problemas ao se utilizar de um Journal externo em outro disco rígido?
1- Se o disco rígido em que está o journal externo for acidentalmente desligado, você não poderá iniciar o seu sistema, mas nenhum dado estará perdido! Nem mesmo com um Live-CD você terá acesso aos seus dados! Você precisará do Journal externo para ler os seus dados! Basta então religar o disco rígido em questão na mesma ordem em que tudo foi configurado que tudo volta ao normal!
2- Se o disco rígido em que está o journal externo sofrer uma pane lógica ou física você também não poderá acessar os seus dados e o que você estiver fazendo no momento da pane pode estar perdido! Como então eu volto a ter acesso aos meus dados? Simples, substitua o disco com defeito (se for este o caso), formate uma nova partição journal, repita os comandos onde você diz que o disco rígido não possui Journal e em seguida “mostre” a ele onde está o novo journal externo! Reinicie o sistema normalmente, este primeiro reinicio com o novo journal será mais demorado, mas ele volta a ligar o sistema com os seus dados já gravados antes da pane intactos!
3- Em alguns casos, ao se colocar um novo disco rígido no sistema, aumentando a capacidade de dados do mesmo ou se você quiser fazer uma cópia dos dados de outro disco rígido, o seu sistema pode não iniciar! Não estou me referindo a um disco rígido externo USB! Isto pode acontecer mais facilmente nos seguintes casos:
a) Atente para o fato que você terá que manter a ordem original do disco em que está o seu sistema e o journal externo! Portanto se colocar um disco rígido a mais alterando a ordem de boot, seu sistema não inicializará!
b) Se usar um kernel não oficial no seu Ubuntu como é o meu caso onde utilizo o Kernel Omnislash! Neste caso use o Kernel oficial do Ubuntu!
c) Ele não inicializa mesmo com o kernel oficial do Ubuntu! Neste caso, você terá que usar um Live-CD para fazer a cópia dos dados! Ainda não tenho uma solução realmente satisfatória para este caso! Se alguém souber como resolver, por favor nos mostre como!
Nota: Independentemente do seu sistema de arquivos e das modificações que você possa fazer no seu sistema, sempre faça backup!