Я запускаю redis-server (версия 2.8.4) на Ubuntu 14.04 в Rackspace Cloud Server. Процесс redis-server запускается пользователем redis.
Рано утром сервер Redis спонтанно не смог «открыть .rdb для сохранения». Это произошло после того, как процесс длился более 20 дней без происшествий.
Как видно из фрагмента журналов ниже, Redis вел себя нормально, а затем начал давать сбой примерно в 8:08 по всемирному координированному времени. Позднее после включения и выключения сервера проблема была решена.
[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)
Итак, мой вопрос: как это могло произойти?
Я в тупике, но вот мои смутные догадки:
Бегать redis-cli
и посмотрите на результат для CONFIG GET dbfilename
и CONFIG GET dir
У меня такое чувство, что они могли быть изменены. Ценности должны быть dump.rdb
и что-то вроде /var/lib/redis
соответственно.
Если они изменились, кто-то взломал ваш сервер Redis. Если это так, проверьте, открыт ли ваш сервис Redis для всех. Вы не сможете подключиться к нему с внешнего IP-адреса.