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

Исходное сообщение
"Создание кластера для бесперебойной работой с БД на базе Linux, Win..."

Отправлено BMerlin , 13-Мрт-04 14:33 
У меня есть задача написать диплом(!!!) - разработать проект в ы с о к о н а д ё ж н о г о (террит-но распределённого) кластера для бесперебойной работы базы данных (SQL запросы) Какая именно база пока не ясно. Сервера на расст. 180 м. друг от друга., рабочих станций до 60-ти.
Желательная связь только канал-канал (1000 Мбит либо оптика, либо Ethernet), т.е. желательно без общих дисков, но можно и с ними.
(тоже желательно без Fibre Chanell и SCSI, но тоже можно и эти технологии), только с локальными дисками. Кластер должен работать параллельно, в случае сбоя пользователи перекидываются на другой работающий сервер. Главное - надёжность-формула 24х7.
Не знаю на какой платформе делать проект, ни софт.
Никогда не разрабатывал кластера.
К тому же почитал, что возм. нет дешёвых кластерных решений только на связи канал-канал без общих дисковых массивов.
Буду признателен за советы и ссылки.

Содержание

Сообщения в этом обсуждении
"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено tikush , 19-Мрт-04 13:04 
>У меня есть задача написать диплом(!!!) - разработать проект в ы с
>о к о н а д ё ж н о г
>о (террит-но распределённого) кластера для бесперебойной работы базы данных (SQL запросы)
[skip]
>Буду признателен за советы и ссылки.
Связка drbd+heartbeat, например.
www.drbd.org, www.linux-ha.org

"Re: Связка drbd+heartbeat, например - потрясный совет, но +++"
Отправлено Чукч , 23-Мрт-04 00:08 
кластеризовать то надо БАЗУ.

так что ответ: Oracal и MS Sql

на подходе кластер от mySql



"Re: потрясный совет"
Отправлено tikush , 13-Апр-04 14:27 
>кластеризовать то надо БАЗУ.
связке drbd+heartbeat все равно, что поверх нее крутится.

>так что ответ: Oracal
Это другой возможный вариант. на мой взгляд, он сложнее в реализации. тем более при использовании на production-сервере надо будет заплатить некоторую сумму разработчику Оракла.

> и MS Sql
а вот это вообще не вариант, ибо, насколько я помню, в кластере от MS используется общий диск, что противоречит поставленой задаче. ну и  для меня, например, немаловажен тот факт, что это платное решение


"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено Ruark , 03-Окт-04 00:45 
>Связка drbd+heartbeat, например.
>www.drbd.org, www.linux-ha.org
Добрый день, передо мной встала точно такая же задача, бесперебойная работа БД, скорее всего MySQL, два физических сервера...
Помогите разобраться плиз, я еще новичек в таких вопросах :)
ОС будет Linux Debian, что еще необходимо доставить на неё кроме drbd и heartbeat ? Насколько я понял, drbd обеспечит репликацию данных, heartbeat переключение между двумя серверами, в случае падения одного...нужно или еще что то наподобие Linux Virtual Server ?



"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено resu , 08-Дек-04 00:58 
>>Связка drbd+heartbeat, например.
>>www.drbd.org, www.linux-ha.org

да drbd + ha работают не плохо.
Linux Virtual Server - сам я не делал, но, кажется он дает распределение нагрузки за счет переброски соединения. (было бы интересно посмотреть на готовое решение)



"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено Sirex , 03-Апр-07 13:29 
Насчёт drbd. А вы уверены, что экспорт справится, а точнее коректно отработает, если все ноды вдруг начнут писать? Но Debian не плохое решение. И хотелось бы узнать что в этом плане лучше/удобнее/проще debian или freebsd?
Я под debian поднял нормально HA-availability, а вот ипсользуя проекты такого же назначения под freebsd обломался ещё на ранней стадии:

Мне нужно организовать High-Availability кластер из 2 (192,168,9,24 и 192,168,9,25)машин с 1 виртуальным ip адресом (192,168,9,253)
Установил FreeBSD.  Использую Wackamole и, соответственно, Spread.
На всех нодах поставил spread (согласно инструкции и мануалам). Создал пользователя и группу spread.
Вот конфигурация:

Spread_Segment 192.168.9.255:4848 {
proj-bsd-1 192.168.9.24
proj-bsd-2 192.168.9.25
}
EventPriority = INFO
EventLogFile = /var/log/spreadlog_%h.out
SocketPortReuse = AUTO


Поставил wackamole, тоже согласно инструкции. Конфигурация следующая:
Spread = 4848@127.0.0.1
SpreadRetryInterval = 5s
Control = /var/run/wack.it
Prefer None
VirtualInterfaces {
lnc0:192.168.9.253/32
}

Arp-Cache = 90s
Notify {

lnc0:192.168.9.1/32 #router
arp-cache
}
balance {
AcquisitionsPerRound = all
interval = 4s
}
mature = 5s
Запускать решил своим, общим скриптом.

Вот скрипт (HA-ext.sh)
#!/bin/sh
# This product use software developed by Johns Hopkins University
# for use in the Backhand project. Form more information about
# Wackamole and Backhand see http://www.backhand.org and http://www.cnds.jhu.edu.
# This product also uses the Spread toolkit, developed by Spread Concepts
# LLC for. For more information about Spreaad see http://www.spread.org"
#wait a bit while system full starting

echo "running spread tool..." >> /var/log/mylog
/usr/local/bin/spread -c /usr/local/etc/spread.conf 2>&1 >> /var/log/mylog &

#нужно дать подумать, прежде чем коннектится к службе
sleep 3s

# иногда эта зараза не стартует вообще.
# пишет, что конфигурация считана успешно, всё в порядке
# но процесс тут же умирает
if ps -A | grep spread | grep -v grep; then

echo "running wackamole tool..." >> /var/log/mylog;
/usr/local/sbin/wackamole -c /usr/local/etc/wackamole.conf 2>&1 >> /var/log/mylog;
else
echo "spread proccess not found";
fi

Запускаю скрипт кроном:
@reboot /path/to/script/HA-ext.sh

А ситуация следующая:
С автозапуска службы стартуют, ошибки о том, что wackamole не смог подключиться нету (да и как так можно, когда служба не ведет нормально логи, только инфа о успешном старте). Но виртуальный интерфейс 192,168,9,253 не поднялся (как бы это и есть основная задача: один комп поддерживает виртуальный ай-пи, пока другой, скажем, перегружается)

Пробовал отключать автозапуск и стартовать ручками.
Через скрпит - не пашет: процессы есть, ошибок нет, но и Virtual IP (VIP) тоже отсутствует.
Если запускаю службы по порядку из консоли (csh) руками, то иногда (50%) они срабатывают (появляется VIP). Но со скрпита ни как.
Мне нужно 100% появления ай-пи. 100%и руками добиться сложно.

Кто, что может сказать по этому поводу?


"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено resu , 04-Май-07 17:47 
drbd - работает как  Master-Slave причем пишется только на мастера, поетому нет проблем со всеми нодами есть только один нод.
я с фрии не знаком, но вы конечно пробовали ХА на  фрии поставить?

"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено b2d , 19-Дек-07 17:55 
>>>Связка drbd+heartbeat, например.
>>>www.drbd.org, www.linux-ha.org
>
>да drbd + ha работают не плохо.
>Linux Virtual Server - сам я не делал, но, кажется он дает
>распределение нагрузки за счет переброски соединения. (было бы интересно посмотреть на
>готовое решение)

Ставил я drbd - писать и читать можно только с одной ноды. Т.е. о распределенной файловой системе речь не идет... У кого получилось настроить переключение в случае падения 1й из нод - просьба рассказать как. drbd работает но многого не умеет, будем изучать что умеет Linux HA


"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено resu , 21-Дек-07 01:07 
у связки ha+drbd общий смысл (imho) такой:
1. оба нода работают. ha - поднимает виртуальный интерфэйс, к которому и кидаются клиенты. drbd - постоянно реплицирует данные с мастера на слэйв.
2. отвалился мастер -  HA (на слэйве) переводит свой /dev/drbd* в из slave в master и поднимает все тот же виртуальный интерфэйс (если primary node по харду сильнее второго мона установить auto fail back. не соит включать первый нод после сбоя при выключеном втором (иначе зачам весь геморой с кластером), в последней версии drbd есть multiprimary - работают действительно параллельно, но с репликацией были проблемы, т.к. копать сюда необходимости не было, подробнее не скажу).

"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено b2d , 21-Дек-07 11:24 
>[оверквотинг удален]
>1. оба нода работают. ha - поднимает виртуальный интерфэйс, к которому и
>кидаются клиенты. drbd - постоянно реплицирует данные с мастера на слэйв.
>
>2. отвалился мастер -  HA (на слэйве) переводит свой /dev/drbd* в
>из slave в master и поднимает все тот же виртуальный интерфэйс
>(если primary node по харду сильнее второго мона установить auto fail
>back. не соит включать первый нод после сбоя при выключеном втором
>(иначе зачам весь геморой с кластером), в последней версии drbd есть
>multiprimary - работают действительно параллельно, но с репликацией были проблемы, т.к.
>копать сюда необходимости не было, подробнее не скажу).

Я вчера плакал от смеха...
кароче все я поставил drbd + GFS...
замечательно .. дошел до точки монтирования gfs и тут всплыла такая штука что лом ядро с 2.6.20 GFS 1 не поддерживает... только GFS2 ....
кароче я плачу... прийдеться все заново компилить ... причем ручками....


"Создание кластера для бесперебойной работой с БД на базе Lin..."
Отправлено Egenius , 12-Сен-08 11:43 
Можно уточнить одну вешь ?
Я так понял связка ha+drdb работает как отказостойчивый кластер в котором второй комп кластера большую чать времени простаивает и его ресурсы не используются.
Можно ли сделать такой кластер, в котором помимо отказоустойчивости реализовалось бы распределение нагрузки(использование общей памяти и процессоров), чтобы второй сервер выполнял не только роль бэкапа, но и принимал активное участие в обработке процессов ?
Или вариант, в котором на одной машине кластера выполняется, например апач, а на второй в это время работает мускул, но на обоих машинах установлены оба этих сервиса, так то при падении машины с мусклом(или при отказе самого мускла) другая машина поднимала этот сервис. При этом могут ли машины кластера делить между собой ресурсы ?
Спасибо !