Redis falhou espontaneamente: “Falha ao abrir .rdb para salvar: Permissão negada”

2

Estou executando o redis-server (ver. 2.8.4) no Ubuntu 14.04 no Rackspace Cloud Server. O processo redis-server está sendo executado pelo usuário redis.

De manhã cedo, o servidor Redis começou a falhar espontaneamente "abrindo .rdb para salvar". Isso ocorreu depois que o processo ficou ativo por mais de 20 dias sem incidentes.

Como você pode ver no trecho dos logs abaixo, o Redis estava se comportando normalmente e começou a falhar às 8h08 UTC. O ciclo de energia do servidor resolveu mais tarde o problema.

[26083] 31 Aug 07:54:47.089 * RDB: 2 MB of memory used by copy-on-write
[17183] 31 Aug 07:54:47.186 * Background saving terminated with success
[17183] 31 Aug 07:59:48.028 * 10 changes in 300 seconds. Saving...
[17183] 31 Aug 07:59:48.029 * Background saving started by pid 26653
[26653] 31 Aug 07:59:48.032 * DB saved on disk
[26653] 31 Aug 07:59:48.032 * RDB: 2 MB of memory used by copy-on-write
[17183] 31 Aug 07:59:48.129 * Background saving terminated with success
[17183] 31 Aug 08:04:49.061 * 10 changes in 300 seconds. Saving...
[17183] 31 Aug 08:04:49.061 * Background saving started by pid 27197
[27197] 31 Aug 08:04:49.064 * DB saved on disk
[27197] 31 Aug 08:04:49.065 * RDB: 2 MB of memory used by copy-on-write
[17183] 31 Aug 08:04:49.162 * Background saving terminated with success
[17183] 31 Aug 08:07:56.881 * DB saved on disk
[17183] 31 Aug 08:08:05.880 # Failed opening .rdb for saving: Permission denied
[17183] 31 Aug 08:12:57.047 * 10 changes in 300 seconds. Saving...
[17183] 31 Aug 08:12:57.047 * Background saving started by pid 28087
[28087] 31 Aug 08:12:57.048 # Failed opening .rdb for saving: Permission denied
[17183] 31 Aug 08:12:57.148 # Background saving error
[17183] 31 Aug 08:13:03.068 * 10 changes in 300 seconds. Saving...
[17183] 31 Aug 08:13:03.069 * Background saving started by pid 28088
[28088] 31 Aug 08:13:03.070 # Failed opening .rdb for saving: Permission denied
[17183] 31 Aug 08:13:03.169 # Background saving error
[17183] 31 Aug 08:13:09.087 * 10 changes in 300 seconds. Saving...
[17183] 31 Aug 08:13:09.087 * Background saving started by pid 28089
[28089] 31 Aug 08:13:09.088 # Failed opening .rdb for saving: Permission denied
(... continues like this until server restart)

Então, minha pergunta: como isso pode acontecer?

Estou perplexo, mas aqui estão meus palpites vagos:

  • Uso de memória muito alto (estou executando apenas uma instância de 512 MB e o Redis me avisou para configurar 'vm.overcommit_memory = 1' em /etc/sysctl.conf)
  • O Redis atingiu algum tipo de limite interno após 20 dias de operação contínua (e isso acontecerá novamente em outros ~ 20 dias).
  • A Rackspace fez algo às 8h UTC (4h, horário da costa leste) que de alguma forma impactou meu servidor.
por whusterj 31.08.2016 / 20:16

1 resposta

8

Execute redis-cli e observe a saída de CONFIG GET dbfilename e CONFIG GET dir

Tenho a sensação de que aqueles podem ter sido alterados. Os valores devem ser dump.rdb e algo como /var/lib/redis , respectivamente.

Se eles mudaram, alguém comprometeu seu servidor redis. Se for esse o caso, verifique se o seu serviço de redis está aberto ao público. Você não deve conseguir se conectar a ele de um IP externo.

    
por 31.08.2016 / 22:19