É um desabafo, misturado com frustração e uma recomendação.
No começo da semana passada, como sempre faço gastei 10 minutinhos pra atualizar o servidor, verificar os logs etc. Mal sabia a desgraça que isso ia gerar.
No começo do ano estava insatisfeito com o fedora como servidor, ele funcionava muito bem mas seus ciclos de releases semestrais e os problemas de migrar de uma versão para outra no linode me fizeram desistir. Eu estava super empolgado com o archlinux, e migrei todos os serviços do liquuid.me pra essa distro, nessa época eu ainda não tinha me dado conta dos riscos de uma distro tão amadora.
Os problemas começaram a surgir em pouco tempo, quase que quinzenalmente ao atualizar o sistema alguma coisa quebrava, primeiro foi o jabber, depois o apache, o mysql etc… Eu sempre dei um jeito de resolver os pepinos, no caso do ejabberd houve um episódio onde o servidor era incompativel com o compilador/interpretador erlang disponível no archlinux, o que me obrigou a bloquear as atualizações desse serviço.
Depois de um tempo, fiquei com vários pacotes blacklisted no pacman, já que as versões mais novas não funcionavam ou tinham problemas de empacotamento. Então o apache e mysql começaram dar sinais de estress, saindo do ar praticamente todos os dias. Fiz um script que reiniciava os serviços em caso de interrupções, achei que fosse culpa dos pesados moodle e drupal.
Chegou a um ponto impossível de se trabalhar, serviços capotando, tive que arriscar uma atualização, fiz, deu mais ou menos certo, o pacote do PHP mudou sua estrutura,nome, dependências e gastei 2 horas tentando encaixar o mod_php no apache, sem sucesso, simplesmente desisti.
Fiquei 3 ou 4 dias sem apache, e sem tempo nenhum pra cuidar do servidor… Pensei em colocar um slackware , mas o linode só tem o slack 12.2, e meus testes com slack 13 foram um desastre, problemas com o kernel do linode não me deixavam subir o apache.
Ponderei entre configurar o servidor com debian, com quem já trabalhei muitos anos, e ubuntu, devido as deficiências do debian em fornecer versões recentes de software sem ter que mudar pro testingo ou unstable. No fim escolhi o CentOS.
CentOS, é uma distribuição clone do RedHat Enterprise Linux, mas sem as ferramentas proprietárias de gerenciamento e integração de serviços. Ou seja, o trem é estavel, muito bem suportado e com suporte até 2014 🙂
Em 40 minutos já tinha web, emails funcionando. Faltou o ejabberd,não encontrei pacote pronto pra ele, instalei o disponível no site oficial mas ele não foi capaz de importar meu banco de dados antigo.
Ainda tenho que aparar algumas arestas, mas acho que da pra seguir a vida … pra servidor , archlinux nunca mais !
E eu quase comecei a usar o Arch em casa por conta de um amigo, o @hlegius, que fala super bem…
Estou com um servidor da Locaweb, cloud, com o ubuntu 8, está uma belezinha até agora 🙂
O arch é bom em desktops, pois é sempre atualizado e sempre traz as últimas versões dos programas … Mas em servidores a jogada é estabilidade, não estou falando apenas dos programas não falharem, mas das versões dos daemons não terem mudanças bruscas a ponto de invalidar as configurações dos serviços. Como servidor o Arch da muito mais trabalho que um debian, centos, gentoo ou slackware, justamente por “mudar demais” em pouco tempo.
Eu utilizo o Arch no meu desktop, e mantenho-o quase como um servidor. Tenho apache, php, nginx, postgreSQL e tudo funciona perfeitamente.
Mas como faço isto ? Não utilizo os repositórios de teste, marco no pacman os pacotes que quero que NÃO atualizem, por serem críticos, e tudo se mantém lindo e funcional. Acompanho o fórum BR e o site oficial, e quando sei que vai ter alguma atualização maior, eu deixo para fazê-la depois de todos os outros, assim, saberei o que dei de errado.
Estas são dicas quentes para manter um servidor ArchLinux.
Servidores não são para brincar. Se começar a bagunçar o CentOS tb vai tombar, e o Debian tb, e o SUSE tb,…..
Abraços !
Oi Sérgio, um ambiente de desenvolvimento normalmente é bem diferente de um ambiente de produção. Não da pra comparar o seu setup pessoal em seu desktop com um ambiente em produção com multiplos usuários e serviços pendurados. Em produção se o servidor de email não está bem configurado os usuários não recebem emails, isso é grave.
No meu caso o motivo principal foi o pacote Ejabberd do arch que quebrou durante uma atualização. O problema do Ejabberd, que estava no repositório oficial stable como todo o resto, não era compativel com os compiladores e interpretadores Erlang do mesmo respositório, fiz bug report e aguardei por semanas, até que desisti.
Meus usuários jabber nunca se importaram muito se o server rodava arch ou windows, eles queriam mesmo usar o chat, deixei meu lado fã de lado (eu era muito fã do arch na época), e foi a melhor coisa que fiz, minha vida melhorou muito.
Eu aprendi com meus 10 anos como sysadmin unix, a nunca ser fã de distribuição linux nenhuma. Aquela que te serve bem no desktop talvez não te sirva em servidor, e as vezes uma distribuição que foi boa deixar de te atender… é a vida, temos que conviver com isso.
Manter uma distro rolling release em servidor não é coisa simples como num desktop, se não faz parte da cultura da distro distribuir scripts de migração de configurações, nem verificar os impactos de introduzir uma nova versão de um interpretador, a coisa fica feia.
Dos linux já administrei SuSE, RedHat, CentOS, Debian, Ubuntu, Gentoo e até Slackware, o arch sem dúvida foi o mais trabalhoso… não sei se hoje mudou, espero que sim.