Programação e Linux.

sexta-feira, 19 de junho de 2009

Ubuntu 9.04: Alinhando o Sistema de Arquivos com o Tamanho do erase block do SSD

Lendo sobre outras idéias na internet, eu estava otimizando o meu netbook e sem querer removi alguns arquivos importantes, então resolvi jogar tudo fora e instalar o Ubuntu 9.04 Netbook Remix, otimizando-o desde o início. Diferente do post anterior, não farei um howto completo, postarei aos poucos o que eu achar relevante.

A primeira otimização que pode ser feita antes de instalar o sistema é alinhar sistema de arquivos com o tamanho do erase block do SSD.

Na verdade eu não sei qual o tamanho do erase block do Eee PC 701 4G, mas em geral é um entre 16/32/64/128/256/512KB, usa-se tamanhos maiores para discos maiores, acredito que seja entre 16 e 32, mas sendo pessimista, vou usar 128KB para meu eee pc o que vai fazer com que eu perca alguns megabytes de espaço.

Antes de iniciar o instalador, abra um terminal e faça:

fdisk -H 224 -S 56 /dev/sda

Se preferir, use o cfdisk:

cfdisk -h 224 -s 56 /dev/sda

Faça no mínimo 2 partições, pois a primeira partição não pode ser alinhada, então usaremos uma partição que não sofre muitas alterações como /boot. Eu fiz 3 partições, /boot, / e /home.

Depois edite o /etc/mk2fs.conf e deixe a sessão default como esta:

[defaults]
base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr
blocksize = 4096
inode_size = 256
inode_ratio = 16384
stripe-width=32

Note: 32 * 4096 = 128k

Agora inicie a instalação normalmente, quando aparecer o particionador de discos, escolha o particionamento manual.

Diferente do feito com o ubuntu 8.10, desta vez vou usar o ext4 sem journal (ext4 sem journal é mais rápido que o ext2), mas por conta do kernel do Ubuntu 9.04 ser menor que o 2.6.29, não é possível montar um ext4 sem journal, então vamos remover o journal após a instalação.

Para cada partição (sda1, sda2 e sda3) clique em editar, escolha como sistema de arquivos o ext4, selecione a opção formatar e defina o ponto de montagem corretamente para cada uma.

Após a instalação, instale um kernel igual ou maior que o 2.6.29, eles podem ser obtidos aqui: http://kernel.ubuntu.com/~kernel-ppa/mainline/, até o presente momento deste artigo, o último disponível é o 2.6.30.

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630_2.6.30-020630_all.deb
sudo dpkg -i linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb linux-headers-2.6.30-020630_2.6.30-020630_all.deb

Reinicie seu netbook para saber se está tudo ok.

Agora vamos remover o journal, mas antes, devido a um bug no blkid (não reconhece partições ext4 sem journal), precisamos deixar de usar os UUID para identificar as partições e usar o dispositivos reais (/dev/sdXn). Abra o arquivo /etc/fstab e altere cada UUID=something para /dev/sdXn.

A mesma coisa com o /boot/grub/menu.lst, procure pela linha
# kopt=root=UUID=5632f35f-792c-4997-b22a-7fe6a7050dfe ro

Troque UUID=something pela sua partição /, e adicione rootfstype=ext4, vai ficar mais ou menos assim:

# kopt=root=/dev/sda2 ro rootfstype=ext4

Agora entre em modo single, abra um terminal e faça:
sudo init 1

No menu de recuperação, escolha a opção root - drop to shell prompt. Agora faça:
umount -a
mount / -o remount,ro

Para cada partição remova o journal, no meu caso (sda1, sda2 e sda3) fica assim:
tune2fs -O ^has_journal /dev/sda1
tune2fs -O ^has_journal /dev/sda2
tune2fs -O ^has_journal /dev/sda3

Pronto, pode reiniciar o sistema e usurfruir de um sistema de arquivos rápido e que não diminui a vida útil do seu SSD.

4 comentários:

SantiagoG disse...

hola! eu nao fallo portughes.. hablas Español?

anywhere now I'll write you in english.
Hi! I've just read a comment on the blog of theodore T'so to me, and here in your blog I see the guide to use SSD withot the journal! thanks a lot you are great.

I also write some guides, but in italian, in this site:

http://www.uielinux.org/component/comprofiler/userprofile/Keteremillpario.html

that's my profile.

I was thinking that maybe you could be interested on my guide to optimize the SSD and to create the partition EFI on the eeepc to have a more fast boot.

tell me what do you think about. We could cooperate together!

Kurt Kraut disse...

Quando vou dar o passo umount -a ele não me deixa desmontar, alegando que o /dev está em uso. Fiz isso me certificando que estou no single mode com poderes de root.

De qualquer forma, segui suas instruções e agora o Ubuntu não boota mais no meu Eee PC. Diz não conseguir montar mais o /dev/sda1. Alguma sugestão?

Unknown disse...

@Kurt Kraut,

você tentou o

rootfstype=ext4 ??

Anônimo disse...

First deposit match bonuses as much as} $2,021 and a number of|various|a variety of} other|and a number of} other} risk-free guess opportunities. Mr Green's app, which is available for Android and iOS, is also be|can be} an possibility should you prefer to play on your smartphone. The app features intuitive and easy-to-use navigation with tons of features that will guarantee you've have} an excellent gaming expertise. With the app, you can to|you presumably can} wager on your favorite slots, live casino 소울카지노 tables, Keno, and sports activities occasions (live and pre-event). It is safe and easy to deposit and withdraw money from the app, and in case could have|you might have|you may have} any queries, the shopper support group is all the time prepared to assist. This unique and useful device permits to quickly and easily propose limits for deposits or losses to make sure your expertise is as enjoyable and safe as potential.