Em 18 de abril de 2014 04:42, Flavio Henrique Araque Gurgel <
[email protected]> escreveu:

> Tenho um ambiente com dois servidores, sendo um master (virtualizado)
>> com postgres 9.1.11, e a replica (maquina fisica) com postgres 9.1.12.
>>
>> Depois de executar o pg_basebackup e criar o recovery.conf na subida do
>> serviço na replica a mensagem do log é a seguinte:
>>
>> Ja verifiquei permissões, usuario e tudo está correto.
>>
>
> Acho que não. Veja mais abaixo:
>
>
>  Alguém saberia me ajudar ou indicar o caminho da luz?
>>
>> agradeço....
>>
>> Recovery.conf
>>
>> standby_mode = 'on'
>> restore_command = 'scp [email protected]:/backup/archive/%f  %p '
>> primary_conninfo = 'host=guardiandb.local.buonny port=5432
>> user=replicacao password=bUonnyRPL13 application_name=guardian'
>> trigger_file = '/tmp/psql.trigger'
>>
>
> Verifique se seu restore_command é válido testando manualmente. Não vi
> erros no log (pode ser que você tenha cortado sem querer) e pode ser que o
> restore_command esteja falhando por algum motivo desconhecido.
>

Flávio,

Fiz o comando com o usuario postgres: restore_command = 'scp
[email protected]:/backup/archive/%f  %p ' e funcionou, não pediu
senha conforme o esperado.



>
>  Log Master (fica em loop)
>>
>> sent 16779372 bytes  received 31 bytes  6711761.20 bytes/sec
>> total size is 16777216  speedup is 1.00
>> 2014-04-16 17 <callto:2014-04-16%2017>:35:20 BRT [9472]: [1-1]
>>
>> user=replicacao,db=[unknown] FATAL:  requested WAL segment
>> 00000002000038C0000000BA has already been removed
>> sending incremental file list
>> 00000002000038D400000084
>> 2014-04-16 17 <callto:2014-04-16%2017>:35:25 BRT [9614]: [1-1]
>>
>> user=replicacao,db=[unknown] FATAL:  requested WAL segment
>> 00000002000038C0000000BA has already been removed
>>
>
> Justamente, o escravo deveria, ao receber estas mensagens do master,
> chavear para o restore_command.
>
> Mas pode ser que os outros erros abaixo estejam atrapalhando *antes*
> disso. Veja:
>
>  sent 16779372 bytes  received 31 bytes  11186268.67 bytes/sec
>> total size is 16777216  speedup is 1.00
>>
>>
>>   Log replica
>>
>>
>> root@guardian:/# tail -f nohup.out
>> NOTICE:  pg_stop_backup cleanup done, waiting for required WAL segments
>> to be archived
>> NOTICE:  pg_stop_backup complete, all required WAL segments have been
>> archived
>> pg_basebackup: base backup completed
>> Ativando postgres com restore
>>   * Starting PostgreSQL 9.1 database server
>>     ...done.
>> Parando servico postgres
>>   * Stopping PostgreSQL 9.1 database server
>>     ...done.
>> Removendo base, antes de iniciar o restore
>> Preparar tablespaces e permissoes
>> Configurando permissoes e usuarios
>> Fazendo Backup
>> 1700696644 <callto:1700696644>/1700696644 <callto:1700696644> kB (100%),
>>
>> 6/6 tablespaces                                    b)
>> NOTICE:  pg_stop_backup complete, all required WAL segments have been
>> archived
>>
>
> Estas mensagens acima são do master, ok?
> Na verdade, do pg_basebackup.
>

Esta maquina é a slave que através de um script executa o pg_basebackup.
Se observar acima o script lança um label: Configurando permissoes e
usuarios.

Nesse momento o script (Configurando permissoes e usuarios) executa os
seguintes comandos:

PG_XLOG=/var/lib/postgresql/9.1/main/pg_xlog
BACKUP_IP=miura
RESTORE_FOLDER=/var/lib/postgresql/9.1/main
DADOS=/dados #postgres/database

INDICES=/indices #postgres/database
#DADOS2=/dados2
TBLSP1=/home/postgresql/tblsp1
TBLSP2=/var/postgresql/tblsp2
TBLSP3=/home2/postgresql

echo 'Configurando permissoes e usuarios'
chown -R postgres.postgres $INDICES
chown -R postgres.postgres $DADOS
chown -R postgres.postgres $TBLSP1
chown -R postgres.postgres $TBLSP2
chown -R postgres.postgres $TBLSP3
chown -R postgres.postgres $RESTORE_FOLDER
chmod -R 0700 $DADOS
chmod -R 0700 $INDICES
chmod -R 0700 $TBLSP1
chmod -R 0700 $TBLSP2
chmod -R 0700 $TBLSP3
chmod -R 0700 $RESTORE_FOLDER
echo 'Fazendo Backup'
pg_basebackup -D $RESTORE_FOLDER -Fp -v -P -U replicacao -h $MASTER
echo 'Ativando postgres com restore'
cp /recovery.conf $RESTORE_FOLDER
chown -R postgres.postgres $RESTORE_FOLDER
service postgresql start



>  pg_basebackup: base backup completed
>> Ativando postgres com restore
>>   * Starting PostgreSQL 9.1 database server
>>   * The PostgreSQL server failed to start. Please check the log output:
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [1-1] user=,db=
>>
>> LOG:  could not open temporary-files directory
>> "pg_tblspc/850298/PG_9.1_201105231/pgsql_tmp": Permission denied
>>
>
> Ooops: permissão negada no diretório da sua tablespace!
>

Como explico acima o script que fica encarregado de criar as pastas e dar
permissão, acredito que o script esteja rodando corretamente, pois não
lança erro. Tive um problema nesse servidor uma vez, de ele dar erros nos
discos e por este motivo o linux, deixa a partição como somente leitura,
mas acredito que este não seria o caso.

>
>  2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [2-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/850298/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [3-1] user=,db=
>>
>> LOG:  could not open temporary-files directory
>> "pg_tblspc/16384/PG_9.1_201105231/pgsql_tmp": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [4-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/16384/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [5-1] user=,db=
>>
>> LOG:  could not open temporary-files directory
>> "pg_tblspc/866627/PG_9.1_201105231/pgsql_tmp": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [6-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/866627/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [7-1] user=,db=
>>
>> LOG:  could not open temporary-files directory
>> "pg_tblspc/850338/PG_9.1_201105231/pgsql_tmp": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [8-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/850338/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [9-1] user=,db=
>>
>> LOG:  could not open temporary-files directory
>> "pg_tblspc/16385/PG_9.1_201105231/pgsql_tmp": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2194]: [10-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/16385/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2202]: [1-1]
>>
>> user=[unknown],db=[unknown] LOG:  incomplete startup packet
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [1-1] user=,db=
>>
>> LOG:  database system was interrupted; last known up at 2014-04-17 18
>> <callto:2014-04-17%2018>:54:26 BRT
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [2-1] user=,db=
>>
>> LOG:  creating missing WAL directory "pg_xlog/archive_status"
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [3-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/850298/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [4-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/16384/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [5-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/866627/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [6-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/850338/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:21 BRT [2201]: [7-1] user=,db=
>>
>> LOG:  could not open tablespace directory
>> "pg_tblspc/16385/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:22 BRT [2211]: [1-1]
>>
>> user=postgres,db=postgres FATAL:  the database system is starting up
>> scp: /backup/archive/00000002.history: No such file or directory
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:22 BRT [2201]: [8-1] user=,db=
>> LOG:  entering standby mode
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:22 BRT [2217]: [1-1]
>>
>> user=postgres,db=postgres FATAL:  the database system is starting up
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:23 BRT [2220]: [1-1]
>>
>> user=postgres,db=postgres FATAL:  the database system is starting up
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:23 BRT [2201]: [9-1] user=,db=
>>
>> LOG:  restored log file "00000002000038F30000006F" from archive
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:23 BRT [2226]: [1-1]
>>
>> user=postgres,db=postgres FATAL:  the database system is starting up
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2232]: [1-1]
>>
>> user=postgres,db=postgres FATAL:  the database system is starting up
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [10-1]
>>
>> user=,db= LOG:  restored log file "00000002000038F300000051" from archive
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [11-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/850298/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [12-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/16384/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [13-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/866627/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [14-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/850338/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [15-1]
>>
>> user=,db= LOG:  could not open tablespace directory
>> "pg_tblspc/16385/PG_9.1_201105231": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [16-1]
>>
>> user=,db= LOG:  redo starts at 38F3/510000A0
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [17-1]
>>
>> user=,db= FATAL:  could not stat directory
>> "pg_tblspc/866627/PG_9.1_201105231/124383": Permission denied
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2201]: [18-1]
>>
>> user=,db= CONTEXT:  xlog redo insert: rel 866627/124383/867766; tid
>> 60999/407
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2194]: [11-1]
>>
>> user=,db= LOG:  startup process (PID 2201) exited with exit code 1
>> 2014-04-17 18 <callto:2014-04-17%2018>:54:24 BRT [2194]: [12-1]
>>
>> user=,db= LOG:  terminating any other active server processes
>>
>
> Servidor morreu de propósito por causa da falta de permissão.
> Cheque as permissões novamente e lembre-se das tablespaces.
>

Irei verificar as permissões novamente, mas o script que fica encarregado
disso, muito estranho.
Master (virtualizado)  com postgres 9.1.11, e a replica (maquina fisica)
com postgres 9.1.12. As versões de release diferentes, poderia ser a causa?

Desde já, agradeço a ajuda.
[]s


> []s
> Flavio Gurgel
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a