Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Migrando para o Ext4

Colaboração: André Luiz Facina

Data de Publicação: 26 de December de 2008

Todo mundo já ouviu falar do novo sistema de arquivos Ext4, o sucessor do velho e bom ext3. O ext4 ainda se encontra em fase de desenvolvimento e por isso ainda é chamando de ext4dev, mas a partir da versão do Kernel 2.6.27 o filesystem atingiu uma boa maturidade, o que permite migrarmos aos poucos, mas sempre mantendo a cautela =)

Algumas das melhorias do Ext4 em relação ao Ext3 são as seguintes:

  • Melhorias na pré-alocação: Um programa irá usar um espaço do disco, mas não na hora da execução, então ele reserva o espaço que irá utilizar, fazendo uma pré-alocação, ou seja, ele guarda aquele espaço para o programa e ninguém mais poderá utilizar.

  • Tempo de alocação extendido: O ext4 conseguirá segurar a alocação do espaço em disco até o último momento, isso irá aumentar a performance

  • Maior números de subdiretórios: No ext3 o limite de subdiretórios era de 32000 pastas, no Ext4 não há limites.

  • Checksum do Journaling: É gerado um checksum do Journaling, garantindo uma restauração mais rápida e a prova de falhas.

  • Desfragmentação On-Line: O ext3 deixava um pouquinho de fragmentação no disco, no ext4 não existe mais fragmentação, pois o ext4 vai desfragmentando enquanto os arquivos vão sendo alocados.

  • Undelete: É uma ferramenta disponível no ext4 que impede que um arquivo seja apagado. Lembra dos atribuitos extendidos do ext3? É bem parecido.

  • Checagem rápida do filesystem: A estrutura de organização de blocos permite que partes não usadas do disco sejam puladas, o que economiza muito tempo na checagem do filesystem.

Agora vamos para a instalação...

Git:

É preciso instalar o novo pacote do e2fsprogs e para isso utilizamos o git para baixar a nova versão diretamente do site do Kernel.org.

  wget http://www.kernel.org/pub/software/scm/git/git-1.6.0.tar.bz2
  tar -jxvf git-1.6.0.tar.bz2
  cd git-1.6.0
  ./configure
  make
  make install

e2fsprogs:

  git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
  cd e2fsprogs/
  ./configure
  make
  make install

Se você verificar, irá perceber que apareceu dois novos executáveis: mkfs.ext4 e mkfs.ext4fs, mas calme, ainda falta compilar o kernel =)

Compilando o kernel para suporte ao Ext4:

  wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.8.tar.bz2
  tar -jxvf linux-2.6.27.8.tar.bz2 -C /usr/src
  ln -s /usr/src/linux-2.6.27.8 /usr/src/linux
  cd /usr/src/linux
  cp /boot/config-xx.xxx.xx /usr/src/linux/.config
  make menuconfig

Habilite as seguintes opções:

  File systems ->
  Ext4dev/ext4 extended fs support development (EXPERIMENTAL)
  
  Opcional:
  Ext4dev extended attributes
  Ext4dev POSIX Access Control Lists
  Ext4dev Security Labels
  
  make bzImage
  make modules
  make modules_install
  
  cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.27.8
  cp System.map /boot/System.map-2.6.27.8
  mkinitrd /boot/initrd-2.6.27.8 2.6.27.8 (Utilizei o Centos nessa compilação, para gerar o initrd no Debian utilize o paramentro -o seguido do destino, mkinitrd -o /boot/initrd-2.6.27.8 2.6.27.8)
  cp .config /boot/config-2.6.27.8

Editando o Grub

  cd /boot/grub/
  vi menu.lst
  
  title CentOs - Ext4
        root(hd0,0)
         kernel /boot/vmlinuz-2.6.27.8 ro root=LABEL=/
        initrd /boot/initrd-2.6.27.8

Calma, estamos quase lá. Vamos rebootar o sistema e escolher o novo kernel para o boot.

Com o novo kernel, verifique se o módulo do ext4 foi carregado, isso se você compilou ele como módulo.

  lsmod |grep ext4

Se não carregou...

  modprobe ext4dev

Formatando uma partição:

  mkfs.ext4dev /dev/sda?

ou

  mkfs.ext4 /dev/sda?

Tente montar a nova partição formatada com o ext4

  mount -t ext4dev /dev/sda? /mnt

Se o Linux retornar o seguinte erro no dmesg

  [ 6289.554461] EXT4-fs: sdb1: not marked OK to use with test code

Utilize o tune2fs para resolver o problema

  tune2fs -E test_fs /dev/sdb1

Pronto, verifique se está montado

  mount
  /dev/sdb1 on /mnt type ext4dev (rw)

Agora divirta-se com os testes e beanchmarks. Vale a pena deixar um pequena partição para ir se familiarizando com o futuro sistema de arquivos padrão do Linux =)

Veja a relação completa dos artigos de André Luiz Facina

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 4.27/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 4.3 /5 (3427 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

SEM e SEO - 2ª Edição