Resolvendo o problema rndc freeze failed: not found

Todos sabem que este site aqui sempre foi meu repositório de soluções, seja ela muito simples, ou mais complexa.

E hoje, como uso o Bind gerenciado via Terraform em um ambiente, acabei recebendo um erro ao rodar o comando :

rndc freeze dominioexemplo.com.br

Você vai se perguntar porque eu precisei rodar este comando se eu uso o Terraform. O caso é que esta zona é de um ambiente legado e nem todas as entradas estão sendo gerenciadas pelo Terraform. E como as zonas gerenciadas pelo Terraform tem que ser configuradas como dinâmicas, toda zona tem um arquivo de journal que, é comparado com a zona do arquivo e caso tenha inconsistências, ela não é carregada.

O freeze congela a zona, permite a edição e, quando sobe novamente, ele simplesmente expurga o arquivo de journal ( formato jnrl ) e a zona volta a responder sem problema.

Mas, ao rodar o freeze o erro apresentado foi :

rndc: freeze failed: not found

Achei o troço muito estranho. Mas é aquela, sempre temos uma surpresa nova quando nosso cérebro começa a rodar tudo no modo automático, né ?

E a solução estava super na cara. A zona em questão existia em duas views do Bind. Na external e na internal. Portanto, quando eu não especificava a view correta, o comando tentava rodar o freeze, mas apareciam duas entradas para o mesmo nome de domínio.

E para resolver, foi só passar no final, a view correta. Tomemos como correta a view external, o comando ficaria :

rndc freeze dominioexemplo.com.br IN external

E seu comando vai rodar sem erros.

Caso queira dar o thaw na zona :

rndc thaw dominioexemplo.com.br IN external

Espero que ajude, mesmo sendo um troço super simples. Mas uma coisa que eu ando aprendendo na marra, é que é melhor pensar simples, do que complexo. E tudo acontecerá de forma mais amigável.

comments powered by Disqus