DRBD Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:кластеризация:drbd [2012/10/27 12:04]
создано
wiki:руководство_по_ubuntu_server:кластеризация:drbd [2012/10/27 15:58] (текущий)
[Ссылки]
Строка 1: Строка 1:
 +<style float-left>​
 +[[wiki:​руководство_по_ubuntu_server|Руководство по Ubuntu Server]] >>
 +[[wiki:​руководство_по_ubuntu_server:​кластеризация|Кластеризация]]</​style>​
 +<style float-right>​
 +[[wiki:​руководство_по_ubuntu_server:​кластеризация|<​-назад]] | 
 +[[wiki:​руководство_по_ubuntu_server:​частные_сети|далее->​]]</​style>​
 +
 =====DRBD===== =====DRBD=====
  
-Distributed Replicated Block Device ​(DRBD) mirrors block devices between multiple hostsThe replication is transparent to other applications on the host systemsAny block device hard diskspartitions, RAID deviceslogical volumes, etc can be mirrored.+Распределенное копируемое блочное устройство (Distributed Replicated Block Device ​DRBD) создает зеркало между блочными устройствами нескольких системКопирование незаметно (прозрачно) для других приложений на этих системахЛюбые блочные устройства:​ жесткие дискиразделы, RAID устройствалогические тома и т.п. могут зеркалироваться.
  
-To get started using drbd, first install the necessary packagesFrom a terminal enter:+Перед началом использования **drbd** установим необходимые пакетыВведите в терминале: 
 +<​code>​sudo apt-get install drbd8-utils</​code>​ 
 +<​note>​Если вы используете виртуальное ядро, как часть виртуальной машины,​ вам потребуется вручную скомпилировать модуль **drbd**. Возможно более простым способом окажется установка пакета **linux-server** внутри виртуально машины.</​note>​
  
-sudo apt-get install drbd8-utils +В этом разделе рассматривается установка **drbd** для репликации отдельных ​/srv разделов с файловой системой ​ext3 между двумя системамиРазмер разделов не имеет особого значенияно оба раздела должны иметь одинаковый размер.
- +
-If you are using the virtual kernel as part of a virtual machine you will need to manually compile the drbd module. It may be easier to install the linux-server package inside the virtual machine. +
- +
-This section covers setting up a drbd to replicate a separate ​/srv partition, with an ext3 filesystem between two hostsThe partition size is not particularly relevantbut both partitions need to be the same size. +
- +
-    Configuration +
-    Testing +
-    References+
  
 ====Настройка==== ====Настройка====
  
-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 ​fileSee 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 drbd01the primaryto /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]].
-    Alsosee the drbdadm ​man page.+
  
-    The DRBD Ubuntu Wiki page also has more information.+----
  
 +<style float-right>​
 +[[wiki:​руководство_по_ubuntu_server:​кластеризация|<​-назад]] | 
 +[[wiki:​руководство_по_ubuntu_server:​частные_сети|далее->​]]</​style>​