Linux-HA-терминальный кластер для работы с «1C» 8.2::Журнал СА 9.2011
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
1001 и 1 книга  
19.03.2018г.
Просмотров: 6565
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7220
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4486
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3116
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3914
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3931
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6423
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3266
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3561
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7403
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10760
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12478
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14159
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9226
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7171
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5473
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4705
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3529
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3234
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3470
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3120
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Linux-HA-терминальный кластер для работы с «1C» 8.2

Архив номеров / 2011 / Выпуск №9 (106) / Linux-HA-терминальный кластер для работы с «1C» 8.2

Рубрика: Администрирование /  Тонкие клиенты

Алексей Камнев АЛЕКСЕЙ КАМНЕВ, руководитель отдела разработки LinuxWizard, 7 лет работы с Linux. Хобби – ультралайт-спиннинг

Linux-HA-терминальный кластер
для работы с «1C» 8.2

В данной статье вашему вниманию предлагается решение задачи построения отказоустойчивого терминального кластера «1С» 8.2 с СУБД PostgreSQL на базе терминального сервера LinuxWizard

Задача решается в несколько этапов:

  • Установка дистрибутива GET-Term.biz.
  • Объединение сетевых интерфейсов (бондинг) для надежной связи узлов кластера.
  • Установка и настройка DRBD для синхронизации данных «1С» и персональных данных пользователей.
  • Установка и настройка кластера «1C» 8.2 с PostgreSQL.
  • Настройка Heartbeat для поддержки взаимодействия пользователей вычислительных кластеров и/или для управления распределенными ресурсами.

Следует отметить, что на рынке не существует готового решения для рассматриваемой здесь задачи.

Установка терминального сервера LinuxWizard

Самый простой этап. После установки в автоматическом режиме и ответов на вопросы автоконфигуратора S4You сервер терминалов был полностью готов к работе. S4You берет на себя большую часть конфигурации: настройку сети, сервера аутентификации, сервера терминалов, в случае необходимости есть возможность настройки файлового, почтового и прокси-сервера. На серверах были подготовлены идентичные разделы /dev/sda2 и /dev/sda5. Они не были отформатированы и примонтированы. Разделы понадобятся нам для настройки синхронизации данных в кластере с помощью DRBD.

Бондинг сетевых интерфейсов

Бондинг сетевых интерфейсов настраивался в режиме обеспечения отказоустойчивости (заложенном в ядро дистрибутива). Отредактируем файл /etc/modprobe.conf:

alias bond0 bonding

options bond0 miimon=100 mode=3

Для объединения интерфейсов нам понадобится создать на обоих серверах новые интерфейсы bond0. Создадим конфигурационный файл для сетевого интерфейса bond0 - /etc/sysconfig/network-scripts/ifcfg-bond0:

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

NETWORK=192.168.0.0

IPADDR=192.168.0.1 # на втором узле IPADDR=192.168.0.2

NETMASK=255.255.255.0

USERCTL=NO

Добавим опции MASTER=bond0 и SLAVE=yes в конфигурационные файлы объединяемых сетевых интерфейсов и перезапустим службу сети:

service network restart

Установка и настройка DRBD

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

Для использования DRBD создаются новые устройства, обычно /dev/drbdX (X-число). DRBD должен быть установлен, настроен и запущен на обоих узлах. Установка DRBD:

yum install drbd kmod-drbd

Настройка заключается в конфигурировании файла /etc/drbd.conf, он должен быть одинаковым на обоих серверах:

global { usage-count no; }

resource r0 {

 protocol C;

 startup { wfc-timeout 0; degr-wfc-timeout     120; }

 disk { on-io-error detach; }

 net {  cram-hmac-alg "sha1"; shared-secret "Secret";}

 syncer { rate 10M; }

 on lw {

   device /dev/drbd0;

   disk /dev/sda2;

   address 192.168.0.1:7788;

   meta-disk internal;

 }

 on lw2 {

   device /dev/drbd0;

   disk /dev/sda2;

   address 192.168.0.2:7788;

   meta-disk internal;

 }

}

resource r1 {

...аналогично r0 только для устройства /dev/sda5

}

Создаются ресурсы для синхронизации БД PostgreSQL и данных пользователей терминального сервера r0 и r1 для узлов lw и lw2. До старта DRBD на обоих серверах необходимо выполнить инициализацию метаданных на дисках:

drbdadm create-md r0

drbdadm create-md r1

Запускаем службу DRBD на обоих серверах:

service drbd start

Устанавливаем статус главного узла на первом сервере (выступаем в роли Heartbeat, пока он не установлен и не настроен).

drbdadm -- --overwrite-data-of-peer primary all

watch -n 1 cat /proc/drbd

После синхронизации ресурсов /dev/drbd0 и /dev/drbd1 создаем на них файловую систему:

mkfs.ext3 /dev/drbd0

mkfs.ext3 /dev/drbd1

Установка и настройка кластера «1C» 8.2 с СУБД PostgreSQL

Установка пакетов «1С» на обоих серверах:

yum localinstall\

  1C_Enterprise82-common-8.2.11-236.i386.rpm\

  1C_Enterprise82-common-nls-8.2.11-236.i386.rpm\

  1C_Enterprise82-crs-8.2.11-236.i386.rpm\

  1C_Enterprise82-crs-nls-8.2.11-236.i386.rpm\

  1C_Enterprise82-server-8.2.11-236.i386.rpm\

  1C_Enterprise82-server-nls-8.2.11-236.i386.rpm\

  1C_Enterprise82-ws-8.2.11-236.i386.rpm\

  1C_Enterprise82-ws-nls-8.2.11-236.i386.rpm --nogpgcheck

Установка пакетов СУБД PostgreSQL на обоих серверах:

yum localinstall\

  postgresql-8.4eter-8.4.4-eter1.1centos.i586.rpm\

  postgresql-8.4eter-contrib-8.4.4-eter1.1centos.i586.rpm\

  postgresql-8.4eter-server-8.4.4-eter1.1centos.i586.rpm --nogpgcheck

Перед настройкой кластера «1С» следует сконфигурировать PostgreSQL:

su postgres

initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8

exit

Редактируем файл /var/lib/pgsql/data/pg_hba.conf:

local   all         all                               trust

host    all         all         127.0.0.1/32          trust

host    all         all         0.0.0.0/0             md5

Задаем пароль пользователя postgres:

psql -U postgres -c "ALTER USER postgres PASSWORD 'secret'"

Теперь в файле /var/lib/pgsql/data/pg_hba.conf поменяем trust на md5. Запустим службы PostgerSQL и «1C» на обоих серверах:

service postgresql start

service srv1cv82 start

Из приложения «Администрирование серверов «1С:Предприятие» создаем конфигурацию кластера резервирования «1C» 8.2.

Настройка Heartbeat

Для отказоустойчивости сервисов установим и сконфигурируем Heartbeat:

yum install heartbeat

В файле /etc/ha.d/ha.cf опишем узлы lw и lw2 и методы проверки доступности. В случае отказа основного узла lw его задачи будет выполнять узел lw2:

logfacility daemon

node lw

node lw2

keepalive 1

warntime 10

deadtime 30

initdead 120

udpport 694

ucast eth0 192.168.1.1

ucast eth0 192.168.1.2

ucast bind0 192.168.0.1

ucast bind0 192.168.0.2

auto_failback off

ping 192.168.1.254 # Проверка доступности сетевой коммутатора

respawn hacluster /usr/lib/Heartbeat/ipfail

crm off

В файле /etc/ha.d/authkeys укажем общий секретный ключ, позволяющий узлам безопасно связываться друг с другом:

auth 1

1 sha1 somethinglong

В файле /etc/ha.d/haresources задаем ресурсы, контролируемые серверами:

lw IPaddr::192.168.1.10/24/eth0

lw DRBDdisk::r0 Filesystem::/dev/drbd0::/var/lib/pgsql/data::ext3 postgresql

lw DRBDdisk::r1 Filesystem::/dev/drbd1::/home::ext3

***

Мы получили отказоустойчивый кластер терминалов для работы с «1С», состоящий из двух идентично сконфигурированных узлов и имеющий общий IP-адрес 192.168.1.10.

Домашние папки пользователей и база «1С», хранящаяся в СУБД PostgreSQL, находятся на ресурсах DRBD, синхронизация которых происходит по объединенным сетевым интерфейсам eth1 и eth2 на каждом из узлов.

В случае отказа основного узла lw связь между узлами прервется, и Heartbeat передаст полномочия lw2. Наш кластер будет работать безотказно, даже если один узел выйдет из строя.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru