Migrando para o Ext4, o novo file system Linux
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 usará um espaço do disco, mas não na hora da execução, então ele reserva o espaço que 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 estendido: O ext4 conseguirá segurar a alocação do espaço em disco até o último momento, isso aumentará a performance;
* Maior número de subdiretórios: No ext3 o limite de subdiretórios era de 32000, 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 atributos estendidos 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 perceberá que apareceram dois novos executáveis: mkfs.ext4 e mkfs.ext4fs, mas calma, 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 parâmetro -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, tente montar novamente e verifique...
# mount -t ext4dev /dev/sda? /mnt
# 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. =)
Autor: Andre Luiz Facina
quinta-feira, 13 de maio de 2010
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário