Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
отказоустоичивый_кластер [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 | ||
| Для усановки потребуется подключить доп репохиторий . | Для усановки потребуется подключить доп репохиторий . | ||
| Строка 17: | Строка 20: | ||
| 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 | ||
| + | |||