Добрый день!
Не получается настроить восстановление на резервном сервере. Вроде всё делаю по инструкции.
Версия постгрес 9.1, ось Ubuntu 12.04
НА МАСТЕРЕ:
1. Включаю режим архивирования.
2. Получаю архив кластера и wal-файлы, которые образовались в архивном каталоге /var/lib/postgresql/archive после включения режима архивации.
psql -c "select pg_start_backup('hot_backup');" tar -cf /var/lib/postgresql/backup.tar /var/lib/postgresql/9.1/ psql -c "select pg_stop_backup();" tar -rf /var/lib/postgresql/backup.tar /var/lib/postgresql/archive/
НА СЛЕЙВЕ
1. Создаю с нуля резервный сервер, ставлю postgresql 9.1
2. Останавливаю postgres.
3. Сношу каталог кластера - удаляю ВСЁ что есть в каталоге /var/lib/postgresql/9.1/main и копирую туда содержимое с мастера. Назначаю нужные права файлам (postgres). Пробую стартовать сервер - успешно. Останавливаю и продолжаю.
4. Создаю папку для wal-файлов /var/lib/postgresql/9.1/wals и копирую туда файлы журнала из архивного каталога. Назначаю нужные права.
5. Создаю файл recovery.conf:
standby_mode = 'on' restore_command = 'cp /var/lib/postgresql/9.1/wals/%f %p' archive_cleanup_command = 'pg_archivecleanup /var/lib/postgresql/9.1/wals %r'
* Starting PostgreSQL 9.1 DATABASE server * The PostgreSQL server failed TO start. Please CHECK the log output: 2014-11-12 20:47:40 YEKT ОТМЕТКА: система БД была выключена в процесса восстановления: 2014-11-12 20:47:17 YEKT 2014-11-12 20:47:40 YEKT ОТМЕТКА: переход в режим резервного сервера 2014-11-12 20:47:40 YEKT ОТМЕТКА: файл журнала "00000001000000000000008D" восстановлен из архива 2014-11-12 20:47:40 YEKT ОТМЕТКА: запись нулевой длины по смещению 0/8D00018C 2014-11-12 20:47:40 YEKT ОТМЕТКА: файл журнала "00000001000000000000008D" восстановлен из архива 2014-11-12 20:47:40 YEKT ОТМЕТКА: запись нулевой длины по смещению 0/8D00018C 2014-11-12 20:47:40 YEKT ОТМЕТКА: неполный стартовый пакет 2014-11-12 20:47:41 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:41 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:42 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:42 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:43 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:43 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:44 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:44 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:45 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:45 YEKT ОТМЕТКА: файл журнала "00000001000000000000008D" восстановлен из архива 2014-11-12 20:47:45 YEKT ОТМЕТКА: запись нулевой длины по смещению 0/8D00018C 2014-11-12 20:47:45 YEKT ВАЖНО: система баз данных запускается 2014-11-12 20:47:46 YEKT ВАЖНО: система баз данных запускается [fail]
2014-11-12 21:14:26 YEKT ОТМЕТКА: файл журнала "00000001000000000000008D" восстановлен из архива 2014-11-12 21:14:26 YEKT ОТМЕТКА: запись нулевой длины по смещению 0/8D00018C
Где копать?
Я так навскидку могу только
Я так навскидку могу только предположить, что проблема в фйле журнала где запись нулевой длины. Возможно файл как-то неправильно сформирован. Интересно, он не последний случайно?
Да, последний. Вообще я эту
Да, последний.
Вообще я эту процедуру выполнял с нуля 3 раза подряд. И безуспешно. Сервер запускается, если нет файла recovery.conf, но с файлом не хочет. Вот результат после третьей попытки:
Всё делаю строго по инструкции с этого сайта (спасибо переводчику, перевод очень качественный). Уже 2 дня бьюсь...