Я пытаюсь запустить pgpool на 2+ веб-серверах, на которых также есть приложение rails и т. Д. Идея состоит в том, чтобы иметь репликацию через slony или потоковую передачу и восстановление после отказа через pgpool.Было бы также хорошо иметь запросы, сбалансированные для replca, и соединения с веб-сервером, но важно, чтобы master_slave и аварийное переключение работали.
Я установил pgpool версии 3.4.1 (lainihi) из пакетов aptна Ubuntu 10.04 LTS.db01 является мастером и копируется в db02 через slony.Мой pgpool.conf выглядит так:
# configure frontend
listen_addresses = 'localhost'
port = 5432
# configure the backends
backend_host_name = 'db01'
backend_port = 5432
secondary_backend_host_name = 'db02'
secondary_backend_port = 5432
# uncomment this and pgpool fails to connect
#master_slave_mode = true
#master_slave_sub_mode = 'slony'
Он работает прямо сейчас в «сыром режиме», и мне интересно, получу ли я много пользы с master_slave?В любом случае, если я раскомментирую master_slave = true, я получаю фоллинг при подключении:
# psql -h localhost -U XXX -W
Password for user XXX:
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
в журнале pgpool. Я вижу следующее
2011-01-13 02:03:17 DEBUG: pid 24144: I am 24144 accept fd 6
2011-01-13 02:03:17 DEBUG: pid 24144: Protocol Major: 1234 Minor: 5679 database: user:
2011-01-13 02:03:17 DEBUG: pid 24144: SSLRequest: sent N; retry startup
2011-01-13 02:03:17 DEBUG: pid 24144: Protocol Major: 3 Minor: 0 database: XXX user: XXX
2011-01-13 02:03:17 DEBUG: pid 24147: I am 24147 accept fd 6
2011-01-13 02:03:17 DEBUG: pid 24147: Protocol Major: 3 Minor: 0 database: XXX user: XXX
2011-01-13 02:03:17 DEBUG: pid 24144: pool_read_message_length: lenghth: 12
2011-01-13 02:03:17 DEBUG: pid 24144: trying md5 authentication
2011-01-13 02:03:17 DEBUG: pid 24144: master: 1 salt: 8bcce867
2011-01-13 02:03:17 DEBUG: pid 24147: pool_read_message_length: lenghth: 12
2011-01-13 02:03:17 DEBUG: pid 24147: trying md5 authentication
2011-01-13 02:03:17 DEBUG: pid 24147: master: 1 salt: bb5f7a63
2011-01-13 02:03:17 DEBUG: pid 24144: master: 0 salt: 5abb8e55
2011-01-13 02:03:17 DEBUG: pid 24144: do_md5: backend does not return R while processing MD5 authentication E
2011-01-13 02:03:17 ERROR: pid 24144: pool_do_auth: backend does not return authenticaton ok
2011-01-13 02:03:17 DEBUG: pid 24147: master: 0 salt: 4c1e5953
2011-01-13 02:03:17 DEBUG: pid 24147: do_md5: backend does not return R while processing MD5 authentication E
2011-01-13 02:03:17 ERROR: pid 24147: pool_do_auth: backend does not return authenticaton ok
Кажется, что pgpool не может аутентифицироваться с помощьюbackend, но я могу подключиться к каждому backend-серверу с каждого клиента с помощью psql, и, как я уже сказал, pgpool работает в «сыром» режиме.
Любая помощь в настройке pgpool будет принята с благодарностью.Это выглядит как отличное решение, но его установка оказалась более сложной, чем ожидалось.
TIA,
Деннис