Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:руководство_по_ubuntu_server:кластеризация:drbd [2012/10/27 12:26] [DRBD] |
wiki:руководство_по_ubuntu_server:кластеризация:drbd [2012/10/27 15:58] (текущий) [Ссылки] |
||
|---|---|---|---|
| Строка 18: | Строка 18: | ||
| ====Настройка==== | ====Настройка==== | ||
| - | The two hosts in this example will be called drbd01 and drbd02. They will need to have name resolution configured either through DNS or the /etc/hosts file. See Domain Name Service (DNS) for details. | + | Две системы в этом примере будут называться **drbd01** и **drbd02**. Им потребуется разрешение имен, настроенное через **DNS** или с помощью файла **/etc/hosts**. Подробности смотрите в разделе [[wiki:руководство_по_ubuntu_server:служба_доменных_имен|Служба доменных имен (DNS)]]. |
| - | + | ||
| - | To configure drbd, on the first host edit /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; | + | |
| - | 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; | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | There are many other options in /etc/drbd.conf, but for this example their default values are fine. | + | |
| - | + | ||
| - | Now copy /etc/drbd.conf to the second host: | + | |
| - | + | ||
| - | scp /etc/drbd.conf drbd02:~ | + | |
| - | + | ||
| - | And, on drbd02 move the file to /etc: | + | |
| - | + | ||
| - | sudo mv drbd.conf /etc/ | + | |
| - | + | ||
| - | Now using the drbdadm utility initialize the meta data storage. On each server execute: | + | |
| - | + | ||
| - | sudo drbdadm create-md r0 | + | |
| - | + | ||
| - | Next, on both hosts, start the drbd daemon: | + | |
| - | + | ||
| - | sudo /etc/init.d/drbd start | + | |
| - | + | ||
| - | On the drbd01, or whichever host you wish to be the primary, enter the following: | + | |
| - | + | ||
| - | sudo drbdadm -- --overwrite-data-of-peer primary all | + | |
| - | + | ||
| - | After executing the above command, the data will start syncing with the secondary host. To watch the progress, on drbd02 enter the following: | + | |
| - | + | ||
| - | watch -n1 cat /proc/drbd | + | |
| - | + | ||
| - | To stop watching the output press Ctrl+c. | + | |
| - | + | ||
| - | Finally, add a filesystem to /dev/drbd0 and mount it: | + | |
| + | -- Для настройки **drbd** на первой системе отредактируйте /etc/drbd.conf: | ||
| + | .. <code> | ||
| + | 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; | ||
| + | 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; | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | .. :!: **//Существует множество других опций в /etc/drbd.conf, но для данного примера прекрасно подходят их значения по умолчанию.//** | ||
| + | -- Теперь скопируем /etc/drbd.conf на вторую систему: | ||
| + | .. <code>scp /etc/drbd.conf drbd02:~</code> | ||
| + | -- И на **drbd02** переместим файл в /etc: | ||
| + | .. <code>sudo mv drbd.conf /etc/</code> | ||
| + | -- Теперь с помощью утилиты **drbdadm** инициализируем хранилище метаданных. На каждом сервере выполним: | ||
| + | .. <code>sudo drbdadm create-md r0</code> | ||
| + | -- Далее на обеих системах запустим сервис **drbd**: | ||
| + | .. <code>sudo /etc/init.d/drbd start</code> | ||
| + | -- На **drbd01** или той системе, которую вы хотите сделать основной, введите следующее: | ||
| + | .. <code>sudo drbdadm -- --overwrite-data-of-peer primary all</code> | ||
| + | -- После выполнения вышеприведенной команды данные начнут реплицироваться на вторую систему. Чтобы наблюдать за процессом, на **drbd02** введите следующее: | ||
| + | .. <code>watch -n1 cat /proc/drbd</code> | ||
| + | .. Для остановки просмотра нажмите Ctrl-C. | ||
| + | -- Наконец, установим файловую систему на /dev/drbd0 и укажем точку монтирования: | ||
| + | .. <code> | ||
| sudo mkfs.ext3 /dev/drbd0 | sudo mkfs.ext3 /dev/drbd0 | ||
| sudo mount /dev/drbd0 /srv | sudo mount /dev/drbd0 /srv | ||
| + | </code> | ||
| - | ====Тестирование==== | + | ====Проверка==== |
| - | To test that the data is actually syncing between the hosts copy some files on the drbd01, the primary, to /srv: | + | Чтобы убедиться, что данные действительно синхронизируются между системами, скопируйте несколько файлов на **drbd01** (основной системе) в каталог /srv: |
| + | <code>sudo cp -r /etc/default /srv</code> | ||
| - | sudo cp -r /etc/default /srv | + | Далее, отсоедините /srv: |
| + | <code>sudo umount /srv</code> | ||
| - | Next, unmount /srv: | + | Установите первичному серверу роль вторичного: |
| + | <code>sudo drbdadm secondary r0</code> | ||
| - | sudo umount /srv | + | Теперь установите вторичному серверу роль первичного: |
| + | <code>sudo drbdadm primary r0</code> | ||
| - | Demote the primary server to the secondary role: | + | Наконец, монтируем раздел: |
| + | <code>sudo mount /dev/drbd0 /srv</code> | ||
| - | sudo drbdadm secondary r0 | + | Используя **ls** вы сможете увидеть /srv/default, скопированный с бывшего первичного сервера **drbd01**. |
| - | + | ||
| - | Now on the secondary server promote it to the primary role: | + | |
| - | + | ||
| - | sudo drbdadm primary r0 | + | |
| - | + | ||
| - | Lastly, mount the partition: | + | |
| - | + | ||
| - | sudo mount /dev/drbd0 /srv | + | |
| - | + | ||
| - | Using ls you should see /srv/default copied from the former primary host drbd01. | + | |
| ====Ссылки==== | ====Ссылки==== | ||
| - | For more information on DRBD see the DRBD web site. | + | -- Для дополнительной информации по DRBD посетите [[http://www.drbd.org/|сайт DRBD]]. |
| - | + | -- Страница руководства [[http://manpages.ubuntu.com/manpages/precise/en/man5/drbd.conf.5.html|drbd.conf]] содержит подробности по опциям, не описанным в данном руководстве. | |
| - | The drbd.conf man page contains details on the options not covered in this guide. | + | -- Также посмотрите страницу руководства по [[http://manpages.ubuntu.com/manpages/precise/en/man8/drbdadm.8.html|drbdadm]]. |
| - | + | -- Дополнительную информацию также содержит страница [[https://help.ubuntu.com/community/DRBD|DRBD Ubuntu Wiki]]. | |
| - | Also, see the drbdadm man page. | + | |
| - | + | ||
| - | The DRBD Ubuntu Wiki page also has more information. | + | |
| ---- | ---- | ||