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 =)
Colaboração: André Luiz Facina
Think before you type.
With great power comes great responsibility.
IF you don´t take control of your data, someone else Will.
The only Way to Stop a Hacker is to think like One
To gain knowledge there is no shortcut
26 December 2008
Migrando para o Ext4
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment