É suficiente para backup de todo o servidor - MySQL incluído?

1

Eu quero um backup completo do meu servidor. É o CentOS 5.

Meus pensamentos: Eu posso literalmente pegar cada arquivo no servidor e fazer backup dele, e eu terei um backup de tudo. Configuração do servidor, meus arquivos PHP, MySQL DB, TUDO ... isso é uma suposição precisa?

Eu estava fazendo o backup do MySQL adicionalmente, mas talvez isso não seja necessário, já que os arquivos DB estão incluídos nos backups do meu Servidor?

Mais ... Estou testando o Backup do RackSpace Server. Isso basicamente pega todos os arquivos no meu disco, e faz o backup em SSL, e criptografa os dados no disco de backup. Eu posso executá-lo todos os dias e apenas "arquivos atualizados" são enviados para o destino de backup.

Obrigado pela ajuda aqui ...

    
por Shackrock 21.08.2011 / 21:13

2 respostas

2

Eu não posso concordar com Nils. Eu admito que não posso falar com o MySQL, mas posso dizer por experiência que isso não é não verdadeiro no Oracle.

Tirar um instantâneo dos arquivos de banco de dados no disco é bastante insignificante, mesmo se for instantâneo. O banco de dados contém muitas transações, algumas das quais são quase totalmente liberadas para o disco, algumas das quais são parcialmente liberadas e algumas delas permanecem quase inteiramente na RAM. O que está no disco pode ser recuperável com ferramentas de banco de dados, mas é improvável que seja um banco de dados viável.

Pior ainda: para qualquer banco de dados considerável, os backups levarão algum tempo, e isso significa que os backups somente de disco são completamente inúteis. Pense nisso como um instantâneo muito embaçado; você fotografa algo se movendo bem rápido (seu DB) e você mantém o obturador aberto durante o tempo necessário para fazer o backup (20 minutos? 2 horas? 28 horas? (para alguns dos meus bancos de dados de produção)). A fotografia ficará muito embaçada; você pegará algumas tabelas cedo, com poucas transações comprometidas com disco; outros você pode pegar muitas horas depois, com algumas centenas de milhares de transações em disco até lá. Não posso dizer que o seu backup de disco não funcione de imediato; Eu não posso nem dizer que você não será capaz de se recuperar com ferramentas forenses DB; mas eu não confiaria no meu trabalho.

Se o seu FS oferecer suporte a instantâneos e o seu banco de dados suportar backups (ou equivalentes), eles poderão funcionar. Hot-backup é uma instrução para o banco de dados quiesce as tablespaces; ele armazena em buffer todas as transações pendentes em algum tipo de arquivo de log e as aplica en bloc quando você tira as tablespaces do estado de backup ativo. Isso pode funcionar enquanto você desativa os espaços de tabela e faz backup deles em fita, mas funciona como um tratamento absoluto se você puder quiesce os espaços de tabela, capturar o sistema de arquivos subjacente, liberar as tablesapces do backup quente e rolar o snapshot para fita.

Se você não pode gerenciar isso - e muitas vezes não consigo - então o que eu faço é dizer ao software de backup para ignorar completamente os arquivos de dados e fazer com que o MySQL execute o mysqldumps primeiro para armazenamento online e depois para a fita. Eu nunca tive um problema em me recuperar desses.

Mas, como sempre adiciono esses casos, qualquer que seja , você deve documentá-lo bem e testá-lo com frequência . Esse último é mais vital que qualquer outra dica. Se você sabe que funciona, quem se importa com o que você está fazendo? Você pode fazer o backup usando o zip para arquivos WORM escritos nos casos-asa de cigarras, se for conhecido por trabalhar de forma confiável. Mas se você não está testando, quem se importa com o que dizem os chefes do serverfault? Não é adequado ao propósito.

    
por 21.08.2011 / 21:56
1

Basicamente sim - tudo é um arquivo. Mas: os arquivos no disco contendo os dados podem ser inconsistentes devido ao fato de que alguns dados ainda estão no cache de RAM e ainda não foram gravados no disco.

Então, você faz backup de um banco de dados sob carga pesada usando apenas o backup de arquivo, e você pode perder algumas transações. A maneira mais segura de ter um backup completo por arquivo é desligar o banco de dados, sincronizar os discos e iniciar o backup. Ou use DB-means para fazer backup do conteúdo do banco de dados em disco - esses backups serão - mais ou menos - consistentes. No mySQL você pode escolher diferentes modos de backup ...

EDITAR: Tente o mysql-Administrator (se você o tiver disponível). Lá você pode especificar trabalhos de backup via GUI. O resultado será um comando de backup correspondente como cron-job usando sua especificação de backup.

    
por 21.08.2011 / 21:30