Имеется сервер под RHEL5, на котором Postgres-8.1. Компания хочет переехать на 8.4 или хотя бы 8.3...
, но беда в том, что база данных огроменная, больше 300GB, и останавливать её больше, чем минут на 10-15 категорически не позволяют. А на ней pg_dump исполняется около 3 часов с небольшим +/- в зависимости от нагрузки.
Поставили второй сервер, тоже под RHEL5, на него установили Postgres-8.4. Решили провести переезд репликацией при помощи Slony1.
Вопросы:
1. Нет ли другого решения? Чтобы проще и без долгого простоя?
2. А вообще сработают слоны с 8.1 на 8.4?
3. Версии слонов на обоих серверах должны полностью совпадать? А то в репозитории slony1-1.2.16 требуют установки 8.3 минимум, потому на тот сервер, где у меня 8.1, пришлось поставить слонов 1.2.15. И теперь думаю, что ставить на новый сервер - тоже 1.2.15 или можно 1.2.16?
Спасибо
На вашем месте я бы сказал
На вашем месте я бы сказал начальству: либо вы хотите обновить ПО, либо вы не хотите останавливать БД. Либо, либо! Если хотят перейти, значит ПУСТЬ НАЙДУТ ВРЕМЯ. А то как в том анекдоте - и рыбку сьесть и на х... сесть! Чудес не бывает! Если у вас не кластер высокой доступности, то пусть не жмутся и выделяют время! Точка! Для сравнения попробуйте также находу обновить Oracle или Informix или MS SQL. Ничего не выйдет! Значит нечего выдумывать ерунду.
А вот чтобы не терять это время напрасно, вам безусловно необходим тестовый сервер. на который вы должны выполнить тестовый перенос БД, проверить всё ли после переноса работает хорошо и только после этого переносить продуктив!
Как у тебя всё просто -
Как у тебя всё просто - либо-либо Но сам же при этом и оговариваешься "если у вас не кластер высокой доступности." Остановка этого нашего "низкодоступного" кластера на час - это сотня-полторы тысяч уев минимум, во время минимальной нагрузки. Высокая доступность или так себе?
Новый сервер, о котором я написал, как раз и предназначен пока для тестовых нужд. На него я и собираюсь выполнять тестовый перенос БД. На нём и будут проверять, и т.д. и т.п.
Но ты вопросы мои не читал, да? Ухватился за начало поста - и пошёл указывать чужим начальникам, как они должны работать. Спасибо, это я им укажу. А по существу вопросов есть что сказать?
Спасибо.
Кластер высокой доступности -
Кластер высокой доступности - это не только понятие, которое означает, что сервис, предоставляемый кластером не может быть остановлен - это ещё как минимум два сервера, работающие параллельно друг с другом и средство которое может переключать нагрузку с одного сервера на другой в случае выхода основного из строя. У вас же никаким кластером не пахнет!
Странно, что при таких убытках и деньгах у вас всего один сервер, который при этом нельзя ещё остановить! А что если на нём блок питания сдохнет или материнка или сетевуха?
Так что действительно всё просто - либо правильная архитектура с резервированием, либо с вопросами "как?" обращайтесь к Хоттабычу, а не сюда
По существу вопроса я вам написал - НИКАК если по уму!
Не по уму, можете попробовать через инкрементальное резервное копирование и WAL. Теоретически после переноса полного дампа, вам нужно сделать бакап WAL который будет незначителен, а значит и быстр и перенести этот бакап. Но это теоретически, потому что я совсем не уверен в хорошей поддержке WAL в 8.1. Но вам видимо больше ничего не светит, так что пробуйте.
И последнее. Не бойтесь открывать начальству глаза. Я поработал во многих конторах и знаю, что начальство обычно витает в облаках, часто не понимая сути технических проблем. Не стоит каждый раз прогибаться под дурное начальство - всё-равно все их бредовые фантазии вам не воплотить!
Давай ещё конструктивнее? :)
Для начала (к продолжению) у меня два предложения: давай на ты, и давай отбросим весь неконструктив - и то, и другое отвлекает от предмета разговора
Реальное устройство всей системы я излагать не могу по вполне понятным причинам. Обсудим сценарий: есть единственный сервер с 8.1 Хочу сделать "кластер высокой доступности" о двух серверах. На втором сервере (надо же двигаться вперёд) ставлю 8.4. На оба сервера ставлю slony1.
Это будет работать? Разумеется, никакие нововведения 8.4 пока в код системы не вводятся. Вопрос именно такой прямолинейный - заработает ли эта репликация и такой кластер: 8.1 master + 8.4 slave? Или 8.3 slave?
Спасибо.
> Это будет работать? Ответ:
> Это будет работать?
Ответ: а хрен его знает!
Понятное дело, что я такого никогда не делал. Пробуйте.
Значит, будет о чём поведать
Значит, будет о чём поведать