- Em um novo servidor, baixei os fontes do Bacula 5.0.2.
- Compilei e instalei o software.
- Fiz uma cópia do DB MySQL antigo chamado bacula para um outro DB MySQL com o nome de bacula5 (esse procedimento pode ser realizado rapidamente com o uso do phpMyAdmin) .
- Editei o script de atualização updatedb/update_mysql_tables_10_to_11, alterando a variável db_name para bacula5. Esse passo foi necessário para garantir que o novo banco (bacula5) fosse atualizado.Rodei então o script para migrar o banco de dados da versão 10 (Bacula 2.4.X) para a versão 11 (Bacula 3.X). Se você usa a versão 3.X não é necessário realizar esse procedimento.
- Realizei alteração similar no script de atualização src/cats/update_bacula_tables e depois rodei o mesmo para migrar da versão 11 para a versão 12 (Bacula 5.0.X).
- Copiei os initscripts e também os arquivos de configuração do Bacula 2.4.X e iniciei o Bacula 5 com sucesso.
O Bacula 5 está rodando perfeitamente e vários backups já foram realizados. Além disso, não foi preciso atualizar os clientes (bacula-fd), pois todos servidores continuaram usando a versão antiga sem problemas.
Obviamente, devido a abordagem aplicada, ainda não estou utilizando nenhum recurso novo da versão 5 (e nem da 3), mas isso ficou para uma segunda etapa, já que o objetivo inicial, que era atualizar o software mantendo o serviço funcional, foi realizado com êxito.
Se você ainda tinha algum receio sobre a atualização, creio não haver razão para isso. Obviamente, a realização de um backup dos dados e configurações (mesmo que seja um simples .tar.gz) sempre é recomendado.
PS: ainda não efetuei nenhum restore dos dados. Realizarei tal tarefa na semana que vem, mas não vejo motivos para não funcionar.
UPDATE 13/03/12: para referir-se aos volumes, pode-se utilizar (além do VolumeName) o *MediaID (atenção especial ao * antes do ID da mídia).