Como atualizar com segurança um software de servidor (sem risco de perder os dados no banco de dados)?

1

Vou usar um servidor rodando Ubuntu Linux ou CentOS para meus projetos. O servidor não será gerenciado pela empresa de hospedagem, vou gerenciá-lo myselff. Eu tenho trabalhado com o Ubuntu e o CentOS por alguns anos agora, então é confortável para mim fazer tarefas administrativas neste tipo de servidores.

Mas tenho dúvidas sobre as atualizações de software. Não é problema atualizá-lo usando o gerenciador de pacotes (por exemplo, apt-get no Ubuntu), mas não tenho certeza de como manter os dados seguros.

Um pequeno exemplo. Vamos supor que há muitas solicitações de usuários para o servidor no momento em que inicio uma atualização de software. O gerenciador de pacotes atualiza os servidores Apache e MySQL. Esses servidores serão parados, atualizados e reiniciados. O que acontece com os dados no banco de dados MySQL? Pode ser danificado por este procedimento (por causa de solicitações incompletas, por exemplo)? E como posso atualizar o software do servidor e evitar danos aos dados?

Obrigado

    
por Artyom 24.11.2010 / 20:03

2 respostas

5

  1. Backups. Faça backups agendados.
  2. Teste suas restaurações.
  3. Remova o site quando fizer atualizações.
  4. Se você não puder fazer isso, re-arquive-o para que um único servidor saindo de serviço não tenha impacto sobre o seu site e, em seguida, apenas role as atualizações para um servidor de cada vez.

O passo 4 não será fácil.

    
por 24.11.2010 / 20:41
-1

Não se preocupe muito. No CentOS (provavelmente no Ubunto também) quando você faz atualizações / upgrades com o yum, basicamente nenhum serviço é reiniciado. O Apache não é reiniciado quando você faz atualizações / upgrades.

O único serviço que eu lembro, que está reiniciando durante a atualização é o ssh - mas você não perde uma conexão com o servidor.

Reiniciar o serviço após a atualização é uma decisão sua. Se você fizer isso graciosamente, nenhum dado será perdido. Se você planeja reiniciar o mysql, será melhor se você parar o site por alguns segundos. A maioria das pessoas não notará um tempo de inatividade tão curto. Eu não lembro exatamente o valor, mas acho que por um período de 4-5 segundos o tempo limite não será percebido pelo tcp stack e pelo aplicativo (navegador)

    
por 24.11.2010 / 22:02