9.2 Mantendo o ZENworks Data Store no PostgreSQL

As seções a seguir fornecem instruções para fazer backup e restauração do Armazenamento de Dados do PostgreSQL:

9.2.1 Exibindo a senha para o banco de dados PostgreSQL padrão

A senha para o banco de dados padrão do ZENworks PostgreSQL é armazenada como texto simples no Servidor Principal ZENworks. Você poderá acessar o banco de dados sem a senha se estiver conectado como Root.

Se precisar da senha para fins de manutenção, você poderá usar o comando a seguir para exibi-la (você deverá estar conectado como Root):

cat /etc/opt/novell/zenworks/serversecret

9.2.2 Compreendendo a manutenção automatizada do banco de dados

Se você estiver usando um banco de dados PostgreSQL, há algumas tarefas de manutenção automatizadas que são executadas com freqüência diária e mensal.

Manutenção diária: uma vez por dia, as versões antigas são marcadas, permitindo que o espaço usado por esses registros sejam usados por novos dados; as estatísticas usadas pelo mecanismo de consulta são atualizadas para atingir o melhor desempenho possível. Essa manutenção é executada diariamente às 2:15 h.

Manutenção mensal: diferentemente da manutenção diária, a manutenção mensal realmente libera o espaço usado pelos registros antigos marcados; isso impede uma grande disparidade entre o espaço em disco alocado para o banco de dados e o espaço real usado pelo banco de dados. Como esse é um processo intensivo, ele é programado para ocorrer mensalmente e não uma vez por dia. Ele é executado às 3:15 h no primeiro dia de cada mês.

9.2.3 Fazendo backup do ZENworks Data Store

Esta seção só será relevante se você usar o banco de dados PostgreSQL como o Armazenamento de Dados.

Você pode usar zlm_dbbackup.sh para fazer um backup do Armazenamento de Dados. Esse utilitário de backup está localizado em /opt/novell/zenworks/sbin.

  1. É importante que você efetue login em um Servidor ZENworks como root.

  2. Digite o seguinte no prompt de comando:

    zlm_dbbackup.sh

NOTA: Você não poderá executar o utilitário de backup em um servidor secundário do SLES 9 se o servidor principal for um servidor do SLES, pois o utilitário pg_dump do servidor do SLES 9, usado pelo utilitário de backup, é incompatível com a versão do banco de dados do Postgres em execução no servidor principal. É necessário executar o utilitário de bakcup no servidor principal.

Um diretório com a data atual é criado em /var/opt/novell/zenworks/backup/db. O arquivo de backup, chamado timestamp-zenworks-backup.tar.gz , é gravado nesse diretório. Por exemplo, se o backup for feito em 23 de agosto de 2005 às 23:30 h, o diretório e o arquivo a seguir serão criados:

/var/opt/novell/zenworks/backup/db/2005-08-23/23:30:00-zenworks-backup.tar.gz

As informações de registro sobre a operação de backup são gravadas no arquivo /var/opt/novell/log/zenworks/dbbackup.log.

O utilitário não requer nenhuma interação do usuário. Se quiser, você poderá programar a operação de backup do banco de dados como uma tarefa cron.

9.2.4 Restaurando o ZENworks Data Store

Esta seção só será relevante se você usar o banco de dados PostgreSQL como o Armazenamento de Dados.

Se necessário, é possível restaurar o ZENworks Data Store com um backup que você tenha criado. Use zlm_dbrestore.sh, localizado em /opt/novell/zenworks/sbin, para restaurar o Armazenamento de Dados de um backup.

A operação de restauração elimina o banco de dados existente e cria um novo.

Para restaurar o ZENworks Data Store:

  1. Em todos os Servidores ZENworks, interrompa o Servidor ZENworks (novell-zenserver) e o ZENworks Loader (novell-zenloader) com os seguintes comandos:

    /etc/init.d/novell-zenserver stop/etc/init.d/novell-zenloader stop

    Como todos os Servidores ZENworks acessam o Armazenamento de Dados, é preciso interromper esses serviços em todos os Servidores ZENworks do sistema.

  2. É importante que você efetue login em um Servidor ZENworks como root.

  3. Digite o seguinte no prompt de comando:

    zlm_dbrestore.sh -F caminho_arquivo_backup

    A opção -F deve incluir o caminho completo do arquivo de backup. Por exemplo:

    zlm-dbrestore.sh -F /var/opt/novell/zenworks/backup/db/2005-08-23/23:30:00-zenworks-backup.tar.gz
    
  4. Se solicitado, insira S a fim de parar o Servidor ZENworks (novell-zenserver).

  5. Se solicitado, insira S a fim de parar o ZENworks Loader (novell-zenloader).

  6. Se precisar informar uma senha para eliminar o banco de dados, informe a senha do Administrador.

  7. Se precisar informar uma senha para criar o novo banco de dados, informe a senha do Administrador.

    As informações de registro sobre a operação de restauração são gravadas no arquivo /var/opt/novell/log/zenworks/dbrestore.log.

  8. Após a restauração, é necessário verificar se o Armazenamento de Dados está sincronizado com o Armazenamento de Objetos. Para obter instruções, consulte Seção 9.4, Sincronizando o Armazenamento de Objetos e o Armazenamento de Dados.

9.2.5 Otimizando o banco de dados do servidor

Para melhorar o desempenho do banco de dados do servidor, use o script zlm-pgsql-vacuum, encontrado no diretório /opt/novell/zenworks/bin do Servidor ZENworks. Quando você instala um Servidor ZENworks Primário em um banco de dados PostgreSQL local, o programa de instalação cria um script que é executado mensalmente.

O script zlm-pgsql-vacuum executa o comando vacuumdb, que tem um impacto significativo sobre o desempenho do banco de dados. Efetue login como root antes de executar o script zlm-pgsql-vacuum. Para obter o desempenho ideal, execute os seguintes scripts vacuum:

  • zlm-pg-vacuum ou zlm-pg-vacuum --busy-tables: Dependendo da atividade do banco de dados, execute o script diária ou semanalmente. Execute o script uma vez por semana em um servidor com carga leve e uma vez por dia em um servidor com carga pesada.

  • zlm-pg-vacuum --full: Execute o script durante um período de menor atividade ou durante o tempo de espera do servidor de banco de dados. Dependendo da atividade do banco de dados, execute o script semanal ou quinzenalmente. Ele executa uma análise vacuum completa e bloqueia exclusivamente tabelas.

Adicionalmente, você pode ajustar os parâmetros a seguir dependendo do dimensionamento e dos requisitos de memória:

  • No arquivo /etc/sysctl.conf, configure kernel.shmmax.

  • No arquivo postgresql.com, configure buffer_compartilhado, mem_classif, mem_vacuum, buffers_wal, e segmentos_ponto_de_verificação.

Para obter mais informações sobre como ajustar os parâmetros, consulte a documentação do PostgreSQL.

Veja a seguir um cenário de exemplo que ilustra como é possível ajustar os parâmetros do banco de dados. Os valores indicados nesse cenário são de exemplo; você deve ajustá-lo de acordo com seus requisitos. Para obter mais informações sobre como ajustar os parâmetros, consulte a documentação do PostgreSQL.

Um cenário de exemplo: Nesse cenário, suponha que o servidor ZENworks esteja em execução em um IBM x346 com dois processadores Xeon e 4 GB de RAM. O banco de dados está em execução no mesmo servidor. 2 GB de RAM são dedicados a outros processos do ZENworks, 1 GB de RAM ao sistema operacional e processos não-ZENworks, e o 1 GB de RAM restante é para o PostgreSQL.

Para otimizar o desempenho do banco de dados do servidor:

  1. No arquivo /etc/sysctl.conf , defina o valor de kernel.shmmax como 1572864000, de modo que o processo possa ter 1,5 GB de memória compartilhada.

    O parâmetro do kernel shmmax permite que o PostgreSQL consuma mais memória compartilhada. Por padrão, o kernel permite apenas que um processo consuma 32 MB de memória compartilhada.

  2. No arquivo postgresql.com, configure os seguintes parâmetros:

    • buffers_compartilhados = 131072

    • mem_classif = 10240

    • mem_vacuum = 102400

    • buffers_wal = 20

    • segmentos_ponto_de_verificação = 20

  3. Reinicialize o servidor para que as mudanças entrem em vigor.

9.2.6 Reiniciando serviços do Servidor Novell ZENworks após reiniciar o banco de dados

Depois da reinicialização do banco de dados PostgresSQL no Servidor ZENworks Linux Management, as conexões do banco de dados serão restauradas em aproximadamente 15 minutos. Durante esse período, o ZENworks Control Center e o utilitário zlman poderão exibir erros de conexão do banco de dados.

Para restaurar as conexões imediatamente, reinicie os serviços do Novell ZENworks executando este comando:

/opt/novell/zenworks/bin/zlm-config --restart