URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6864
[ Назад ]

Исходное сообщение
"Web кластер ( Cluster )"

Отправлено Евгений , 30-Май-10 23:27 
Приветствую!

Несколько дней борюсь надо настройкой двух машин в кластер.
Задача создать отказоустойчивый веб кластер.
На обоих машинах стоит Debian 6

Использую связку heartbeat + perlbal + apache2 + memcached + php5

В целом все настроил при отключении одного сервера второй работает и отвечает на все запросы мгновенно!

Осталась проблема с PHP!

Два дня пытаюсь решить проблему php сессий. memcached работает с патчем repcached (http://repcached.lab.klab.org/) сессия при логинации реплицируется на оба сервера и по ключу сессии можно это увидеть.

Проблема заключается в том что как только балансировщик (Perlbal) обращается к другому серверу, сессия обнуляется, соответственно пользователь который логинется получает страницу для повторного входа!

Думал проблема в perlbal, попробовал заменить его на haproxy результат идентичен!

Куда смотреть? в чем может быть проблема, быть может кто то сталкивался.

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Web кластер ( Cluster )"
Отправлено Michael , 30-Май-10 23:41 

>Куда смотреть? в чем может быть проблема, быть может кто то сталкивался.

в мемкеше


"Web кластер ( Cluster )"
Отправлено Евгений , 30-Май-10 23:47 
>
>>Куда смотреть? в чем может быть проблема, быть может кто то сталкивался.
>
>в мемкеше

Все перерыл!
Вот конфиги мемкеша

php.ini
session.save_handler = memcache
session.save_path = "tcp://IP:11211?persistent=1,tcp://IP:11211?persistent=1"

-----------------

memcache.ini
extension=memcache.so

[memcache]
memcache.dbpath="/var/lib/memcache"
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0
memcache.allow_failover=1

Все правильно, он между собой дружит на обоих серверах после остановки одного и его запуска данные синхранизирует, а вот стоит обновить страницу до момента пока балансер не переправит на другой сервер и все сессия обнуляется


"Web кластер ( Cluster )"
Отправлено KarD_IO , 31-Май-10 21:25 
Если сессия храниться в куках, тогда, возможно, при переключении меняется домен, кука становится невалидной. Все.

"Web кластер ( Cluster )"
Отправлено Евгений , 31-Май-10 21:28 
>Если сессия храниться в куках, тогда, возможно, при переключении меняется домен, кука
>становится невалидной. Все.

Вот именно что домен один и тот же!
Сейчас еще поднял параллельную файловую систему GlusterFS толку нет все так же при отключении одного апача на другом логинация пропадает.. уже все что можно перепробовал и не могу понять гугл не помогает


"Web кластер ( Cluster )"
Отправлено KarD_IO , 31-Май-10 22:40 
>>Если сессия храниться в куках, тогда, возможно, при переключении меняется домен, кука
>>становится невалидной. Все.
>
>Вот именно что домен один и тот же!

давайте HTTP заголовки посмотрим? c куками


"Web кластер ( Cluster )"
Отправлено Евгений , 31-Май-10 22:42 
>>>Если сессия храниться в куках, тогда, возможно, при переключении меняется домен, кука
>>>становится невалидной. Все.
>>
>>Вот именно что домен один и тот же!
>
>давайте HTTP заголовки посмотрим? c куками

Всем спасибо, оказалось все проще, а именно установкой модуля php5-suhosin, сейчас все работает!


"Web кластер ( Cluster )"
Отправлено Vaso Petrovich , 31-Май-10 16:14 
>На обоих машинах стоит Debian 6

Гость из будущего?


"Web кластер ( Cluster )"
Отправлено Евгений , 31-Май-10 16:17 
>>На обоих машинах стоит Debian 6
>
>Гость из будущего?

Debian Squeeze