Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
отказоустоичивый_кластер [2013/04/23 07:13] 46.231.215.230 создано |
отказоустоичивый_кластер [2013/12/15 17:11] (текущий) |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
В бизнес решениях зачастую очень важна откуазоустоичивость реализованного решения, | В бизнес решениях зачастую очень важна откуазоустоичивость реализованного решения, | ||
- | Что нам потребуется: | + | Что нам потребуется: |
Изначально нужно настроить службу которая будет синхронизировать данные между дисками двух систем. | Изначально нужно настроить службу которая будет синхронизировать данные между дисками двух систем. | ||
Строка 8: | Строка 8: | ||
DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) — это блочное устройство, | DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) — это блочное устройство, | ||
+ | |||
+ | Перед установкой проыедем настройку серверов: | ||
+ | у каждого из них должен быть внутренний и внеший адрес, один из них используется для синхронизайии второй для работы с внешнем миром. у каждого сервера должен быть указан hostname, в нашем случае cl1.cl и cl2.cl | ||
Для усановки потребуется подключить доп репохиторий . | Для усановки потребуется подключить доп репохиторий . | ||
- | '' | + | '' |
- | # vi / | + | vi / |
- | enabled=0 | + | enabled=0\\ |
- | # yum --enablerepo=elrepo install drbd83-utils kmod-drbd83'' | + | yum --enablerepo=elrepo install drbd83-utils kmod-drbd83'' |
+ | После установки DRBD пристепим к настроике: | ||
+ | у нас имеется наразмеченный раздел на наших серверах и называется он /dev/sda3. | ||
+ | Внесем в конфигурационный файл DRBD ./ | ||
+ | |||
+ | '' | ||
+ | # | ||
+ | common { syncer { rate 10M; } }\\ | ||
+ | # | ||
+ | resource r0 {\\ | ||
+ | # | ||
+ | protocol C;\\ | ||
+ | # | ||
+ | net {\\ | ||
+ | | ||
+ | # | ||
+ | shared-secret " | ||
+ | # | ||
+ | }\\ | ||
+ | on cl1.cl {\\ | ||
+ | # | ||
+ | device | ||
+ | # будет создано виртуальное устроиство\\ | ||
+ | disk / | ||
+ | # раздел на котором находится информация\\ | ||
+ | address | ||
+ | # адрес и порт для синхронизации \\ | ||
+ | meta-disk internal;\\ | ||
+ | # метаданные хранятся на диске\\ | ||
+ | }\\ | ||
+ | on cl2.cl {\\ | ||
+ | device | ||
+ | disk / | ||
+ | address | ||
+ | meta-disk internal;\\ | ||
+ | }\\ | ||
+ | } | ||
+ | '' | ||
+ | |||
+ | |||
+ | |||
+ | Описание протоколов: | ||
+ | |||
+ | Protocol A: write IO is reported as completed, if it has reached | ||
+ | local disk and local TCP send buffer. | ||
+ | Protocol B: write IO is reported as completed, if it has reached | ||
+ | local disk and remote buffer cache. | ||
+ | |||
+ | Protocol C: write IO is reported as completed, if it has reached | ||
+ | both local and remote disk. | ||
+ | |||
+ | |||
+ | Перед конфигурированием иногда может понадобится загрузить модуль ядра drbd | ||
+ | |||
+ | modprobe drbd | ||
+ | |||
+ | Копируем конфигурационный файл на вторй сервер и выполняем команду: | ||
+ | drbdadm create-md r0 | ||
+ | на двух серверах. | ||
+ | при успешном ее выполнение, | ||
+ | service drbd start | ||
+ | |||
+ | проверяем статус устроиства | ||
+ | | ||
+ | cat /proc/drbd | ||
+ | |||
+ | если видим строку | ||
+ | |||
+ | 0: cs: | ||
+ | | ||
+ | значит устроиство создано успешно и обе ноды находятся в состояние Secondary. | ||
+ | |||
+ | одну из них нам нужно перевести в сотстояние primary; | ||
+ | |||
+ | Сделаем это на первом сервере cl1.cl | ||
+ | |||
+ | drbdadm -- --overwrite-data-of-peer primary r0 | ||
+ | |||
+ | после этого начнетя процесс синхронизации нод | ||
+ | |||
+ | для просмотра наберите | ||
+ | |||
+ | watch cat /proc/drbd | ||
+ | | ||
+ | После синхронизации можно проверить стостояние | ||
+ | |||
+ | drbdadm dstate r0 | ||
+ | |||
+ | Результат UpToDate/ | ||
+ | |||
+ | Создадим файловую систему на нашем новом блочном устроистве. | ||
+ | |||
+ | mkfs -t ext3 /dev/drbd0 | ||
+ | |||
+ | Создадим точку монтирование для файловой системы: | ||
+ | |||
+ | mkdir /mnt/drbd0 | ||
+ | |||
+ | Смонтируем в него наше устроиство | ||
+ | |||
+ | mount /dev/drdb0 /mnt/drdb0 | ||
+ | |||
+ | Для проверки можно создать на нем несколько файлов и папок. | ||
+ | |||
+ | |||
+ | размонтируем устроиство, | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | На втором сервере сделаем повысим статус ноды до primary, создадим точку монтирования, | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | mkdir /mnt/drbd0 | ||
+ | |||
+ | |||
+ | mount /dev/drdb0 /mnt/drdb0 | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | если не получилось очищаем устроиство и делаем все заново | ||
+ | |||
+ | drbdadm -- --assume-clean resize r0 | ||
+ | |||