Всем привет. Данная статья призвана помочь всем страждущим и сэкономить Ваше время в поисках и тестировании.
Встала перед нами (т.е. ИТ отделом) задача построить failover кластер на Linux CentOS + PostgreSQL.
В класической схеме такой кластер использует 2 ... n вычислительных серверов и единое хранилище. Данную схему рассматривать не будем, поскольку это слишком просто и дороже. Рассмотрим случай, когда необходимо обойтись без общего хранилища.
Для построения такого кластера мы были вынуждены прибегнуть к репликации БД. Вот здесь и возникла проблема. Бесплатных систем репликации масса, но не одна из них не смогла нам помочь. Рассмотрим все что мы испытали.
1. Pgpool I и Pgpool II - оба варианта были оттестированы на промежуточных и последних релизах, у всех одна проблема рассинхронизация бэкендов, одним словом при большой нагрузке, т.е. 1000 документов в минуту например, pgpool ложиться. Вывод нестабилен.
2. Slony-I, он же Mamoth от commanpromt - все очень круто и надежно, но! 1С 8.1 в силу своих соображений имеет таблицы, которые не имеют ни UNIQUE INDEX, ни PRIMARY KEY, без которых эти системы работать не смогут. Есть возможность создать так называемый serial key, но это уже вмешательство в структуру БД 1С, что может привести к проблемам при обновлении конфигурации, ну и с юридической точки зрения не правмочно. Вывод несовместим.
3. Pgcluster, он же Cybercluster от Cybertec (Shonig & Shonig Gmbh) - интересная система, втсраивается как патч в исходники постгрес, т.е. для начала нужно взять ветку 8.3.3 постгрес, накатить патчи от 1С, а затем накатить патч pgcluster или cybercluster. Не работатет синхронизация объктов типа BINARY (тип BYTEA). Проблема на данный момент не решена. Велась переписка с компанией Cybertec г-ом Shonig'om, но пока не увеначлась успехом. Вывод несовместим.
4. Skytools Londiste - таже ситуация, что и Slony-I
Скорее всего я что-то забыл. Но я обещая вспомнить и описать это в следующей статье.