Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Кластеризация

1. DRBD

Распределённое копируемое блочное устройство (Distributed Replicated Block Device — DRBD) создаёт зеркало между блочными устройствами нескольких систем. Копирование незаметно (прозрачно) для других приложений на этих системах. Любые блочные устройства: жёсткие диски, разделы, RAID устройства, логические тома и т.п. могут зеркалироваться.

Перед началом использования drbd установим необходимые пакеты. Введите в терминале:

sudo apt-get install drbd8-utils

Если вы используете виртуальное ядро как часть виртуальной машины, вам потребуется вручную скомпилировать модуль drbd. Возможно, более простым способом окажется установка пакета linux-server внутри виртуальной машины.

В этом разделе рассматривается установка drbd для репликации отдельных /srv разделов с файловой системой ext3 между двумя системами. Размер разделов не имеет особого значения, но оба раздела должны иметь одинаковый размер.

1.1. Конфигурация

Две системы в этом примере будут называться drbd01 и drbd02. Им потребуется разрешение имён, настроенное через DNS или с помощью файла /etc/hosts. Подробности смотрите в разделе Глава 8, Служба доменных имён (DNS) [158].

• Для настройки drbd на первой системе отредактируйте /etc/drbd.conf:

global { usage-count no; } common { syncer { rate 100M; } } resource r0 {

protocol C; startup {

wfc-timeout 15; degr-wfc-timeout 60;

}

net {

cram-hmac-alg sha1; shared-secret "secret";

}

on drbd01 {

device /dev/drbd0;

421

Кластеризация

disk /dev/sdb1;

address 192.168.0.1:7788; meta-disk internal;

}

on drbd02 {

device /dev/drbd0; disk /dev/sdb1;

address 192.168.0.2:7788; meta-disk internal;

}

}

Существует множество других опций в /etc/drbd.conf, но для данного примера прекрасно подходят их значения по умолчанию.

• Теперь скопируем /etc/drbd.conf на вторую систему:

scp /etc/drbd.conf drbd02:~

• И на drbd02 переместим файл в /etc:

sudo mv drbd.conf /etc/

Теперь с помощью утилиты drbdadm инициализируем хранилище метаданных. На каждом сервере выполним:

sudo drbdadm create-md r0

• Далее на обеих системах запустим сервис drbd:

sudo /etc/init.d/drbd start

На drbd01 или той системе, которую вы хотите сделать основной, введите следующее:

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

После выполнения вышеприведённой команды данные начнут реплицироваться на вторую систему. Чтобы наблюдать за процессом, на drbd02 введите следующее:

watch -n1 cat /proc/drbd

Для остановки просмотра нажмите Ctrl+c.

• Наконец, установите файловую систему на /dev/drbd0 и смонтируйте ее:

sudo mkfs.ext3 /dev/drbd0 sudo mount /dev/drbd0 /srv

422

Кластеризация

1.2. Тестирование

Чтобы убедиться, что данные действительно синхронизируются между системами, скопируйте несколько файлов на drbd01 (основной системе) в каталог /srv:

sudo cp -r /etc/default /srv

Далее, отсоедините /srv:

sudo umount /srv

Установите первичному серверу роль вторичного:

sudo drbdadm secondary r0

Теперь установите вторичному серверу роль первичного role:

sudo drbdadm primary r0

Наконец, монтируем раздел:

sudo mount /dev/drbd0 /srv

Используя ls вы сможете увидеть /srv/default, скопированный с бывшего

первичного сервера drbd01.

1.3. Ссылки

Для дополнительной информации по DRBD посетите DRBD web site1.

Страница руководства drbd.conf man page2 содержит подробности по опциям, не описанным в данном руководстве.

Также посмотрите страницу руководства по drbdadm3.

Дополнительную информацию также содержит страница DRBD Ubuntu Wiki4.

1http://www.drbd.org/

2http://manpages.ubuntu.com/manpages/precise/en/man5/drbd.conf.5.html

3http://manpages.ubuntu.com/manpages/precise/en/man8/drbdadm.8.html

4https://help.ubuntu.com/community/DRBD

423

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]