2014-10-03 3 views
0

Я использую сервер redis (версия 2.4.6) с включенностью RDB на машине Windows 8. Я хочу, чтобы имитировать отказ redis и сброс, поэтому я могу быть более уверенным в моем процессе резервного копирования.Redis Failure Backup Simulation

Я нашел много информации о постоянстве и резервных копиях redis, но я не могу понять, что делать, как только произойдет сбой.

Я попытался скопировать мой dump.rdb с большим количеством тестовых данных из папки данных, затем удалить/переустановить redis, вставить исходный файл dump.rdb в новую папку данных и запустить. Когда я запускаю команду «keys *», она говорит о пустом списке или наборе.

Итак, как я могу имитировать отказ базы данных redis и затем восстановить ее?

EDIT: Я перезаписывал файл rdb ПЕРЕД Я закончил redis, вызывая перезапись. Теперь это шаги, которые я предпринимаю для имитации сбоя и резервного копирования.

  1. Я остановить службу REDIS
  2. Я перезаписать файл dump.rdb с файлом RDB из тестовой базы данных (на другом сервере)
  3. Я пытаюсь запустить службу REDIS снова, но я получаю Ошибка «Служба сервера Redis на локальном компьютере началась, а затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами».

Если я удалю файл rdb, я могу запустить службу и создать пустой файл rdb в том же месте.

Это то, что он показывает в файле redis.log: «Невозможно обработать формат RDB версии 6», но обе базы используют ту же самую версию redis.

ответ

0

Я понял. По-видимому, моя тестовая база данных использовала другую версию redis (я думал, что они такие же). Я получил еще один файл rdb из тестовой базы данных, которая также использует v 2.4.6, и все загружено как ожидалось.

0

Проверьте SNAPSHOTTING часть вашего файла redis.conf. Здесь указывается имя файла и имя пути ddb (отдельные параметры).

Убедитесь, что вы положили дамп в правильную папку и с правильным именем, восстановление произойдет, когда вы запустите свой Redis.

Как насчет того, чтобы убить процесс Redis для имитации отказа?

+0

Спасибо за ответ, это по сути то, что я делал. Я внес некоторые изменения в свой первоначальный вопрос. Новая информация дает вам больше идей? – erics2783

0

Перейти к Redis стабильной реж и запустить ./src/redis-server

Это работало для меня.