Seus servidores não podem ficar fora do ar e cada manutenção, mesmo que planejada, causa enormes transtornos a seus clientes? Conheça o Ksplice e dê adeus aos seus problemas. Atualização de kernel com Ksplice Reboot? Nunca mais!

OGNU/Linux, ao contrário do Windows, só precisa reinicializar o sistema após uma atualização importante, como no caso de realizar alguma correção ou modificação no kernel. Neste caso, é preciso iniciar um novo boot para que o novo kernel (baixado com as devidas correções de segurança e/ou bugs) seja carregado novamente para a memória.

Se reiniciar a máquina não é uma operação complexa para o usuário de um computador comum, o mesmo não é possível dizer do pontos de vista dos servidores, principalmente aqueles que são utilizados em situações chamadas de “missão crítica”, ou seja, aqueles servidores onde os usuários não podem prescindir dos serviços disponibilizados por ele. É o caso de sistemas bem específicos, como aqueles que controlam o fornecimento de energia para uma empresa ou o forno de uma siderúrgica, por exemplo.

Mas, neste caso, como realizar uma atualização dos sistemas desses servidores? Talvez seus serviços não sejam tão essenciais quanto os citados aqui, mas é possível que você possa se benefi ciar da mesma forma com a diminuição na quantidade de reinicializações em decorrência de procedimentos simples, tal qual a atualização do sistema operacional, ao mesmo tempo em que se beneficia ao manter o sistema atualizado e corrigido das eventuais falhas de segurança encontradas recentemente, uma vez que o processo de atualização do kernel passa a não precisar interromper o serviço, o que certamente dispensa toda a necessidade de agendar a manutenção, de forma que os clientes e usuários se preparem para ficar sem o serviço durante todo o tempo planejado.

História

Pode parecer um sonho, mas não é. Alguns sistemas Unix proprietários já possuem esse recurso há algum tempo. No Linux, a tese de mestrado do estudante do MIT (sigla para Instituto de Tecnologia de Massachusetts , em inglês), Jeff Arnold, deu origem a um programa chamado de Ksplice. Ele foi criado por quatro estudantes (incluindo Jeff), que mais tarde fundaram a Ksplice Inc. A empresa ganhou um prêmio de 100 mil dólares pela competição de empreendedorismo do MIT, o Desafi o em Cyber-Segurança (CyberSecurity Challenge) doGlobal Security Challenge em 2009. O programa era distribuido sobre a licença GPL, pois o modelo de negócios da Ksplice Inc. era a venda de serviços de suporte e deferramentas que facilitavam a instalação do produto.

Em julho de 2011, a Ksplice Inc foi vendida para a Oracle, que fechou o código do produto. No entanto, a Oracle continuou a disponibilizar imagens pré-compiladas e testadas para Ubuntu e Fedora, assim como fazia a Ksplice.

Clientes do Oracle Linux podem solicitar gratuitamente uma licença e usuários do RHEL (Red Hat Enterprise Linux) podem baixar uma versão de teste que funciona por 30 dias.

Por conta das antigas versões do Ksplice estarem sob a licença GPL é possível inclusive encontrá-lo no repositório de algumas distribuições. Para instalar a versão 0.9.9 no Ubuntu, basta digitar:

sudo apt-get install ksplice

No entanto, caso você deseje testar uma versão mais nova, será preciso baixar o arquivo .debou .rpm específi co da suadistribuição a partir do site a versão listada para o Ubuntu 11.10 Oneiric Ocelot constava como 1.2.3-4 até o momento em que este artigo foi escrito. É importante ressaltar que após o fechamento do código do Ksplice pela Oracle, esta passou a ser exibida nos menus do sistema, com o nome de Uptrack Manager, embora seu ícone, ainda seja o K , da antiga versão da ferramenta.

Funcionamento

O funcionamento do Ksplice é inteligente, pois ele não necessita de patchs específicos para unir-se ao kernel (do tipo que marcaria para o sistema quais foram as mudanças entre uma versão e outra) ou tão pouco exige uma preparação prévia ou recompilação. Ao contrário disso, ele funciona de forma semelhante a um diff, só que no nível do ELF (Executable and Linking Format), ou seja, do binário, determinando assim qual porção de código sofreu alteração em relação a anterior.

Dessa forma ele consegue perceber quais foram as mudanças entre um binário e outro e aplica a correção diretamente na memória RAM, o que coloca as mudanças imediatamente em uso, sem a necessidade de reboot. É claro que esta não é uma operação simples de se efetuar. Para isso, o daemon do Ksplice paraliza todos os processos no computador de maneira que ele seja o único processo com acesso ao sistema e que nenhuma função em execução esteja acessando partes que serão modificadas pelo patch. O Ksplice modifica então o início das funções atingidas de forma que elas apontem para as novas versões, dando continuidade ao processo do ponto onde elas foram paralizadas. Como o leitor pode ver, trata-se sem dúvida, de um engenhoso pedaço de código! Após a instalação da ferramenta, ela passa a residir no menu Aplicativos/ Ferramentas de sistema/Ksplice Up-track Manager no caso do Ubuntu, e também ganha um ícone na bandeja do sistema, logo ao lado do nome do usuário da máquina. Um clique com o botão direito sobre o ícone da ferramenta, exibe uma tela inicial bastante parecida com a do gerenciador de atualizações do Ubuntu, e nela serão carregadas todas as atualizações que o Ksplice encontrou, que sejam pertinentes ao kernel. Caso atualizações importantes sejam encontradas, serão listadas e você poderá marcar as desejadas para instalação imediata ou instalar todas as atualizações disponíveis de uma só vez. Um clique sobre a atualização e em seguida no botão Details irá exibir mais informações sobre aquela atualização em específico e o que será alterado.

Quando as atualizações forem baixadas, instaladas e todo o processo concluído, o Ksplice irá simplesmente manter-se na bandeja do sistema, sem incomodar o usuário. O sistema estará atualizado e não será necessário reiniciar a máquina.

Em testes realizados em nosso laboratório, caso você veja pela interface do Ksplice que existem atualizações de kernel disponíveis, mas opte por instalá-las através do gerenciador de atualizações nativo da sua distribuição, estas serão instaladas corretamente, mas você terá obrigatoriamente de reiniciar o computador. Sendo assim, embora o Ksplice esteja instalado na máquina, ele não interfere no funcionamento dos programas nativos de gerenciamento de atualizações.

Problemas

Também pudemos ver em nossos testes, uma grave falha relacionada a desinstalação do Ksplice. O aplicativo quebra durante a desinstalação, e ocasiona um pânico total do kernel, inviabilizando até mesmo a recuperação do sistema através de ferramentas como a chroot. Sendo assim, sugerimos cautela – e backup – antes de desinstalar a ferramenta.

Conclusão

O Ksplice irá mudar a forma como usuários e empresas vêem os ambientes desktop Linux mais populares. Se nem mesmo as máquinas domésticas tiverem a necessidade de reiniciar, certamente a produtividade de seus usuários irá aumentar.

Fonte : Linux Magazine Nº 90 Maio/2012