BT

Linux 3.3: Reunificação com Android, reorganização online de armazenamento e switches virtuais

por Fernando Lozano em 26 Mar 2012 |

Dado o ritmo de evolução do kernel do Linux, com vários releases por ano, nem sempre uma nova versão é digna de nota para desenvolvedores e administradores de sistemas em geral. A versão 3.3, porém, é um marco importante para o SO. Além de representar a reunificação dos principais patches do Android ao kernel oficial (a principal mudança), o kernel 3.3 traz melhorias importantes no sistema de arquivos e em redes.

A reunificação com o Android simplifica muito projetos de plataformas móveis alternativas, por exemplo o OWD da Mozilla Foundation e Telefonica, e o Tizen da Linux Foundation, Intel, Samsung e Huawei. Estes projetos agora podem contar com otimizações para plataformas móveis baseadas em ARM.

Os vários fornecedores de dispositivos baseados no Android também são beneficiados, pois tirar proveito de recursos e drivers acrescentados às versões do kernel oficial posteriores ao fork do Google. Outros beneficiados são os fabricantes de servidores baseados em processadores ARM, além da Canonical, que poderá suportar uma maior variedade de dispositivos com seu produto Ubuntu for Android.

Novidades para armazenamento e redes

Se a principal novidade é voltada para plataformas móveis, o Datacenter também é bem servido, com a introdução das seguintes funcionalidades ou serviços:

  • Habilidade de se reorganizar níveis de RAID em um sistema de arquivos BTRFS em uso; por exemplo de RAID 5 para RAID 10. Há ainda maior performance e confiabilidade nas operações de rebalanceamento (necessárias, por exemplo, quando um novo disco é adicionado ao pool);
  • Substituição à quente de discos em um RAID de software (dispositivo md);
  • Capacidade de se redimensionar um sistema de arquivos Ext4 em uso; antes esta operação era feita por processos de usuário e não pelo kernel, o que tornava a operação mais lenta e menos robusta;
  • Open vSwitch, que permite definir switches virtuais para qualquer hypervisor rodando sob o kernel, por exemplo KVM e VirtualBox; essa funcionalidade já é utilizada pelo OpenStack e pelo Xen Server 6.0;
  • Um novo driver de bonding, chamado team, que unifica diferentes placas de rede física em uma única placa virtual, para fornecer maior largura de banda ou alta disponibilidade;
  • Suporte a limites e prioridades de parâmetros TCP, separados para cada grupo de processos.

Mais sobre a reunificação com o Android

Há dois anos, o release 2.6.38 do kernel eliminou todo o código específico para o Android, devido a divergências entre a equipe do Google e os mantenedores do kernel oficial a respeito do escopo das alterações e seu impacto sobre o código compartilhado com outras plataformas. No ano passado, o Google alocou engenheiros para trabalhar exclusivamente na reunificação com o kernel oficial, e os céticos (incluindo o próprio Linus Torvalds) esperavam que o processo demorasse muito mais, estimando-se pelos menos 3 anos.

A reunificação ainda não é completa, pois recursos importantes como os WaveLocks (para gerenciamento de energia) e os drivers gráficos Ion ainda não foram incorporados ao kernel oficial. Ainda assim não deixa de ser signifcativo o feito da equipe do Google e dos mantenedores dos subsistemas afetados, no kernel do Linux.

Adoção do kernel 3.x pelas distribuições

O 3.3 foi o segundo release do kernel em 2012, sendo que em meados do ano passado foi liberada a versão 3.0. A série 3.x não trouxe inicialmente mudanças radicais, ao contrário do que seria esperado pela numeração. Mas gerou problemas de compatibilidade com aplicações e drivers que verificavam o número da versão e esperavam encontrar "2.6.x". O incremento do número de versão maior ocorreu para comemorar os 10 anos do kernel.

Quem quiser experimentar logo o novo kernel deve fazer sua própria compilação, ou usar as distribuições da comunidade. Espera-se que o kernel 3.3 seja incorporado ao Fedora 17, previsto para maio, mas ele já pode ser baixado para a versão atual da distribuição, no repositório Rawhide. O OpenSuse também já oferece um preview da atualização para o kernel 3.3, que será parte da versão 12.2. E há builds não-oficiais para Debian e Ubuntu.

As distribuições Enterprise tendem a demorar mais a incorporar novas versões do kernel, devido à necessidade de coordenar homologação e certificação com outros fornecedores de software e hardware. O recém-lançado SuSE 11SP2 traz o kernel 3.0, junto com um utilitário para rodar aplicações problemáticas em um sandbox que reporta a versão 2.6 do kernel; mas ainda não há previsão para o 3.3. Já a Red Hat prefere aplicar patches isolados da série 3.x sobre o kernel 2.6.32 incluso na distribuição RHEL 6. A Oracle oferece um kernel 3.0.16 renomeado para 2.6.39, como parte do UEK2 (Unbreakable Enterprise Kernel) para as séries 5 e 6 da sua própria distribuição, mas que também pode ser instalado nas versões correspondentes do RHEL e CentOS.

Os interessados em acompanhar mais de perto a evolução do Kernel do Linux podem conhecer as detalhadas séries "kernel log" e "what's new in kernel 3.x" no site The H.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT