26 сент. 2012 г.

HA Cluster Oracle Linux. Настройка кластера.

С теорией и подготовкой вроде закончили, можно начать к самой конфигурации кластера.
Настраиваем кластер:


Создаем конфигурацию кластера (выполнить на всех нодах):
#ccs_tool create -2 node-cluster

Кластер будет в специальном двунодовом режиме (-2) и называется node-cluster.
Запускаем процессы на всех нодах:
#service ricci start
#service cman start

Для ricci нужно создать пароль
#passwd ricci
#service ricci restart

Ricci будем использовать для команды ccs_sync которая синхронизирует конфигурацию между нодами.


c) Редактируем конфиг corosync, приведу свой и его опишу:


#nano /etc/cluster/cluster.conf


<?xml version="1.0"?>
<cluster config_version="12" name="node-cluster">
        <cman expected_votes="1" two_node="1"/>
        <clusternodes>
                <clusternode name="node_1" nodeid="1"/>
                <clusternode name="node_2" nodeid="2"/>
        </clusternodes>
        <rm log_facility="local4" log_level="5">
                <failoverdomains>
                        <failoverdomain name="node-cluster" nofailback="1" restricted="1">
                                <failoverdomainnode name="node_1"/>
                                <failoverdomainnode name="node_2"/>
                        </failoverdomain>
                </failoverdomains>
                <resources>
                        <ip address="192.168.0.15/24" monitor_link="1"/>
                </resources>
                <service domain="node-cluster" name="nodeOL" recovery="relocate">
                        <ip ref=" 192.168.0.15/24 "/>
                </service>
        </rm>
        <logging debug="on"/>
</cluster>


Первая строка понятно, версия xml. 
Вторая строка открывает тег верхнего уровня - cluster. Его опции:

config_version - версия конфигурации, каждый раз когда руками изменяем что-то, нужно изменить версию конфигурации на +1 иначе при синхронизации между нодами, файл посчитается старым и не изменится.
name - имя кластера.

Далее идет тег cman, в котором задаем параметры:

expected_votes - ожидаемые голоса кворума, сколько голосов нужно для работы кластера.
two_nodes - специальный режим, только для двунодовой конфигурации.

Следующий тег clusternodes содержит список нод. Описываем ноды тегами clusternode:


name - имя ноды кластера.

nodeid - индивидуальный идентификатор.

Внутри clusternode так же можно сделать привязку к fence_device, но я не использовал его.


Тег rm - задает описание ресурсов кластера, тут же описываем логирование:

log_facility - категории логов.

log_level - уровень логирования.

Failoverdomains - создаем домены ресурса с помощью тега failoverdomain.

name - имя домена.
nofailback - не передавать ресурс обратно восстановившейся ноде.
restricted - если стоит 1 то ресурс может передаваться только внутри описанного домена.

Так же можно поставить приоритет передачи ресурса между нодами с помощью параметра ordered.

Тег resources, позволяет описывать ресурсы, здесь могут размещаться общие файловые хранилища, в моем случае - мониторить (minitor_link) общий ip адрес.

Следующий тег - services, служит для описания сервисов. 
recovery - relocate означает что сервис будет передан другой ноде в случае падения.
Тегом login_debug - включаем дебаг в логах.

Комментариев нет:

Отправить комментарий