Partição EXT3 (Linux Native)

O sistema de arquivos ext3 faz parte da nova geração extended file system do Linux, sendo o padrão atual e tem como seu maior benefício o suporte a journaling e armazenamento eficiente de arquivos com até 16Gb de tamanho.

O uso deste sistema de arquivos comparado ao ext2, na maioria dos casos, melhora o desempenho do sistema de arquivos através da gravação seqüencial dos dados na área de metadados e acesso mhash a sua árvore de diretórios. Mas pode trazer impactos na performance no caso de dispositivos de memória flash e quando utiliza arquivos para armazenar o sistema de arquivos.

A estrutura da partição ext3 é semelhante a ext2, o journaling é feito em um arquivo chamado .journal que fica oculto pelo código ext3 na raiz da partição (desta forma ele não poderá ser apagado, comprometendo o funcionamento do sistema). A estrutura idêntica da partição ext3 com a ext2 torna mais fácil a manutenção do sistema, já que todas as ferramentas para recuperação ext2 funcionarão sem problemas.

Criando um sistema de arquivos EXT3 em uma partição

Para criar uma partição ext3, utilize o comando mkfs.ext3 ou o mkfs.ext2 junto com a opção -j. As opções usadas pelo mkfs.ext3 são idênticas a do mkfs.ext2 (documentado em “Criando um sistema de arquivos EXT2 em uma partição”). A única vantagem desta ferramenta comparada ao mkfs.ext2 é que a opção -j é automaticamente adicionada a linha de comando para criar um sistema de arquivos com journal. Se você é daqueles que querem ter um controle maior sobre o tamanho do arquivo de journal, use a opção -J [tam] (onde tamanho é o tamanho em Megabytes).

Quando uma partição ext3 é criada, o arquivo .journal é criado no raíz da partição, sendo usado para gravar os metadados das transações de journaling. A estrutura da partição ext2 não difere em nada da ext3, a não ser este arquivo e a opção "has_journal" que é passada a partição.

Por exemplo, para criar uma partição ext3 em /dev/sda1:

 mkfs.ext3 /dev/sda1

ou

 mkfs.ext2 -j /dev/sda1

Basta agora montar a partição com o comando mount /dev/sda1 /teste -t ext3 (para montar a partição em /teste. Após isto, modifique o /etc/fstab para montar a partição como ext3 quando o Linux for iniciado. Para mais detalhes veja “Montando (acessando) uma partição de disco”. ). Caso o suporte a ext3 tenha sido compilado no kernel, ele tentará detectar e montar a partição como ext3, caso contrário, ele usará ext2.

Sua partição agora está montada como ext3, para conferir digite: df -T.

OBS: Quando criar um sistema de arquivos ext3 em uma partição raíz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrário a partição será montada como ext2.

Criando um sistema de arquivos EXT3 em um arquivo

As instruções para criar um sistema de arquivos ext3 em um arquivo não difere muito das instruções de “Criando um sistema de arquivos EXT2 em um arquivo”, apenas utilize a opção -j ou -J [tamanho_em_mb] (como explicado em “Criando um sistema de arquivos EXT3 em uma partição”).

Fazendo a conversão do sistema de arquivos EXT2 para EXT3

Se você já possui um uma partição ext2 e deseja converte-la para ext3 isto poderá ser feito facilmente, de forma segura (sem qualquer risco de perda de dados) e você poderá voltar para o sistema ext2 caso deseje (veja “Convertendo de EXT3 para EXT2”).

Primeiro, execute o comando tune2fs na partição que deseja converter com a opção -j ou -J [tamanho_journal] para adicionar o suporte a Journaling na partição. Este comando poderá ser executado com segurança em uma partição ext2 montada, após converter remontar a partição usando os comandos umount /particao e mount /particao.

Após a conversão para ext3 é desnecessária a checagem periódica do sistema de arquivos (que por padrão é após 20 montagens e a cada 30 dias). Você pode desativar a checagem após o número máximo de montagens com a opção -c [num_vezes], e o número de dias máximos antes de verificar novamente com a opção -i [num_dias] (o uso de 0 desativa). Por exemplo:

tune2fs -c 0 -i 90 /dev/sda2

Desativa a checagem após número máximo de montagens (-c 0) e diz para a partição ser verificada a cada 90 dias (-i 90).

O último passo é modificar o /etc/fstab para que a partição seja montada como ext3 na inicialização e depois desmontar (umount /dev/sda2 e remonta-la (mount /dev/sda2) para usar o suporte ext3. Confira se ela está usando ext3 usando o comando df -T.

OBS: Caso a partição convertida para ext3 seja a raíz (/), tenha certeza de incluir o suporte a ext3 embutido no kernel, caso contrário, a partição será montada como ext2.

Convertendo de EXT3 para EXT2

Remover o suporte a ext3 de uma partição é simples, rápido e seguro. Execute os seguintes passos:

  1. Execute o comando tune2fs -O^has_journal /dev/sdxx na partição que deseja remover o Journal. Este comando poderá ser executado em uma partição montada.

  2. Modifique o /etc/fstab e altere a partição para ext2.

  3. Desmonte e monte novamente a partição com os comandos: umount /dev/hdxx e mount /dev/sdxx.

  4. Pronto! a partição agora é novamente uma partição ext2 normal, confira digitando df -T.

Pronto, o suporte a ext3 foi removido do seu sistema e agora poderá usar a partição como ext2 normalmente (confira digitando df -T).

Nomeando uma partição de disco ext2/ext3

O comando e2label é usado para esta função.

e2label [dispositivo][nome]

Onde:

dispositivo

Partição que terá o nome modificado

nome

Nome que será dado a partição (máximo de 16 caracteres). Caso seja usado um nome de volume com espaços, ele deverá ser colocado entre "aspas".

Se não for especificado um nome, o nome atual da partição será mostrado. O nome da partição também pode ser visualizado através do comando dumpe2fs (veja “dumpe2fs”).

Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 "Foca Linux"

Criando o diretório especial lost+found

O utilitário mklost+found cria o diretório especial lost+found no diretório atual. O diretório lost+found é criado automaticamente após a formatação da partição com o mkfs.ext2, a função deste diretório é pré-alocar os blocos de arquivos/diretório durante a execução do programa fsck.ext2 na recuperação de um sistema de arquivos (veja “Checagem dos sistemas de arquivos”). Isto garante que os blocos de disco não precisarão ser diretamente alocados durante a checagem.

mklost+found

OBS: Este comando só funciona em sistemas de arquivos ext2/3/4

Exemplo: cd /tmp;mklost+found;ls -a

dumpe2fs

Mostra detalhes sobre uma partição Linux.

dumpe2fs [opções] [partição]

Onde:

partição

Identificação da partição que será usada.

opções, -b

Mostra somente os blocos marcado como defeituosos no sistema de arquivos especificado.

Este comando lista diversas opções úteis do sistema de arquivos como o tipo do sistema de arquivos, características especiais, número de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automáticas, etc.

Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1

Partição EXT2 ou Arquivo?

Criar uma partição EXT2 ou um arquivo usando o loop? Abaixo estão algumas considerações:

  • A partição EXT2 é o método recomendado para a instalação do GNU/Linux.

  • O desempenho da partição EXT2 é bem melhor se comparado ao arquivo porque é acessada diretamente pelo Kernel (SO).

  • O arquivo EXT2 é útil para guardarmos dados confidenciais em disquetes ou em qualquer outro lugar no sistema. Você pode perfeitamente gravar seus arquivos confidenciais em um arquivo chamado libBlaBlaBla-2.0 no diretório /lib e ninguém nunca suspeitará deste arquivo (acho que não...). Também é possível criptografa-lo para que mesmo alguém descobrindo que aquilo não é uma lib, não poder abri-lo a não ser que tenha a senha (isto é coberto no documento Loopback-encripted-filesystem.HOWTO).

  • O uso do arquivo EXT2 é útil quando você está perdendo espaço na sua partição EXT2 e não quer re-particionar seu disco pois teria que ser feita uma re-instalação completa e tem muito espaço em um partição de outro SO (como o Windows).

    Você poderia facilmente copiar o conteúdo de /var, por exemplo, para o arquivo EXT2 ext2-l criado no diretório Raíz do Windows, apagar o conteúdo de /var (liberando muito espaço em disco) e então montar ext2-l como /var. A partir de agora, tudo o que for gravado em /var será na realidade gravado no arquivo ext2-l.

    Para o sistema acessar o arquivo, deve passar pelo sistema de arquivos loop e FAT32, isto causa um desempenho menor.