"Podemos atualizar nossos servidores EL5 de produção existentes para EL6?"
Uma solicitação simples de dois clientes com ambientes completamente diferentes levou a minha resposta das melhores práticas habituais de "sim, mas exigirá uma reconstrução coordenada de todos os seus sistemas " ...
Ambos os clientes acham que uma reconstrução completa de seus sistemas é uma opção inaceitável por tempo de inatividade e razões de recursos ... Quando perguntados por que era necessário reinstalar completamente os sistemas, eu não tinha uma boa resposta além ", é assim que é ... "
Não estou tentando obter respostas sobre o gerenciamento de configurações ("Puppetize everything " nem sempre se aplica ) ou sobre como os clientes deveriam ter planejado melhor. Este é um exemplo do mundo real de ambientes que cresceram e prosperaram em uma capacidade de produção, mas não vêem um caminho limpo para passar para a próxima versão do sistema operacional.
Ambiente A:
Organização sem fins lucrativos com 40 x Red Hat Enterprise Linux 5.4 e 5.5 web, servidores de banco de dados e servidores de correio, executando uma pilha de aplicativos da web Java, balanceadores de carga de software e bancos de dados Postgres. Todos os sistemas são virtualizados em dois clusters do VMWare vSphere em locais diferentes, cada um com HA, DRS, etc.
Ambiente B:
Empresa de trading financeiro de alta frequência com sistemas 200 x CentOS 5.x em várias instalações de co-localização executando operações de trading de produção, dando suporte ao desenvolvimento interno e funções de back-office. Os servidores de negociação estão sendo executados no hardware do servidor de commodities bare-metal. Eles têm numerosos sysctl.conf
, rtctl
, interrupção de ligação e ajustes motorista no lugar para reduzir a latência de mensagens. Alguns possuem kernels personalizados e / ou em tempo real. As estações de trabalho do desenvolvedor também executam versões similares do CentOS.
Nos dois casos, os ambientes estão funcionando bem como estão. O desejo de atualizar vem da necessidade de um aplicativo ou recurso mais recente disponível no EL6.
- Para a empresa sem fins lucrativos, ela está ligada ao Apache, ao kernel e a algumas coisas que farão os desenvolvedores felizes.
- Na empresa comercial, trata-se de algumas melhorias no kernel, na pilha de rede e no GLIBC, o que fará os desenvolvedores felizes.
Ambas são coisas que não podem ser facilmente empacotadas ou atualizadas sem alterar drasticamente o sistema operacional .
Como engenheiro de sistemas, eu aprecio o fato de a Red Hat recomendar reconstruções completas ao alternar entre as principais versões. Uma partida limpa obriga a refatorar e prestar atenção às configurações ao longo do caminho.
Sendo sensível às necessidades de negócios dos clientes, pergunto-me por que isso precisa ser uma tarefa tão onerosa . O sistema de empacotamento do RPM é mais do que capaz de lidar com atualizações no local, mas são os pequenos detalhes que você recebe: /boot
exigindo mais espaço, novos sistemas de arquivos padrão, o RPM possivelmente quebrando os pacotes no meio da atualização, obsoletos e desativados ...
Qual é a resposta aqui? Outras distribuições (baseadas em .deb, Arch e Gentoo) parecem ter essa capacidade ou um caminho melhor. Digamos que encontramos o tempo de inatividade para realizar esta tarefa da maneira certa :
- O que esses clientes devem fazer para evitar o mesmo problema quando o EL7 é lançado e estabilizado?
- Ou é este o caso em que as pessoas precisam se resignar a reconstruções completas a cada poucos anos?
- Isso parece ter piorado à medida que o Enterprise Linux evoluiu ... Ou estou apenas imaginando isso?
- Isso dissuadiu alguém de usar o Red Hat e sistemas operacionais derivados?
Suponho que exista o ângulo de gerenciamento da configuração, mas a maioria das instalações do Puppet que eu vejo não se traduzem bem em ambientes com servidores de aplicativos altamente personalizados (o ambiente B pode ter um único servidor cuja ifconfig
saída se parece com isso ). Seria interessante ouvir sugestões de como o gerenciamento de configuração pode ser usado para ajudar as organizações a superar o problema da versão principal do RHEL.
upgradeany
parâmetro de tempo de inicialização, sim? Testei-o duas vezes, uma vez em uma instalação C5 limpa, onde funcionou bem; uma vez em uma (cópia de teste de um) crufty antigo "costumava ser C4 e foi atualizado" instala onde falha dramaticamente.
*-release files
e tudo). Mas as perguntas dos clientes nesta semana me fizeram pensar mais sobre como um ambiente arraigado pode se tornar com uma versão específica e não tem caminho a percorrer.
yum
, o que funcionava para mim na maioria das vezes. Minha única esperança é que RH têm tido um enorme sucesso da vara dor de seus clientes pagantes para a sua decisão de não tem nenhum caminho de atualização com suporte 5> 6, e vai repensar isso por 6> 7.