W drugiej części cyklu przejdę do właściwej konfiguracji DRBD. Przypominam, że konfiguracja pakietu oparta jest o wersję 8.3, czyli taką która aktualnie zawarta jest w dystrybucji Ubuntu 12.04. Tutaj została opisana instalacja pakietu DRBD.

W katalogu /etc/drbd.d tworzę nowy zasób (ang. resource), który będzie opisywał moją macierz. Tworzę plik o nazwie mirror.res . Należy pamiętać, że plik musi mieć rozszerzenie .res, ponieważ tylko takie pliki są ładowane do konfiguracji (na podstawie /etc/drbd.conf ).

mirror.res

resource mirror
{
protocol C;

syncer
{
rate 100M;
csums-alg crc32c;
}

disk
{
on-io-error detach;
}

net
{
data-integrity-alg crc32c;

after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
}

handlers
{
split-brain „/usr/lib/drbd/notify-split-brain.sh root@abc.pl”;
}

device    /dev/drbd0;
disk      /dev/sdb1;
meta-disk internal;
on serwer1
{
address 192.168.0.1:7789;
}
on serwer2
{
address 192.168.0.2:7789;
}
}

Co oznaczają kolejne linie konfiguracji ?

Słowo kluczowe resource określa nazwę naszej macierzy.

protocol C – określa tryb replikacji danych. Są jeszcze tryby A i B, ale C zapewnia największe bezpieczeństwo. W tym trybie, wymagane są potwierdzenia, że dane zostały zapisane na zdalnym dysku.

Słowo kluczowe syncer określa parametry synchronizacji dysków. Parametr rate określa szybkość synchronizacji. Należy pamiętać, że jest on zdefiniowany w bajtach, a nie bitach. Zatem dla karty 1Gb maksymalna wartość to 110MB. Parametr csums-alg określa algorytm zapewniający integrację danych.

Parametr on-io-error określa co ma się stać w przypadku gdy dysk ulegnie uszkodzeniu. Wartość detach mówi, że w takim wypadku musi on zostać odłączony.

W przypadku tego typu konfiguracji często może wystąpić zjawisko określane jako split-brain. Występuje ono wtedy, gdy w przypadku awarii, uszkodzeniu ulegają dwa węzły. Po ponownym uruchomieniu nie wiadomo, który z nich ma być podstawowym, tzn. względem którego ma być przeprowadzona ponowna synchronizacja danych. W przypadku pakietu DRBD, zjawisko split-brain można obsłużyć następująco. Po pierwsze o wystąpieniu takiego zdarzenia można powiadomić administratora, wysyłając mu maila (split-brain „/usr/lib/drbd/notify-split-brain.sh root@abc.pl”;). Wcześniej należy upewnić się, że w systemie zainstalowany jest aplikacja mail. Jeżeli nie, wykonujemy polecenie:

sudo apt-get install mailutils

Następnie układamy następujący scenariusz:

after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;

Oznacza on, że jeżeli jest to możliwe to węzłem podstawowym zostaje ten, na którym odnotowano najwięcej zmian (discard-zero-changes). Jeżeli nie jest to możliwe, to węzłem podstawowym zostaje ten, który pełnił taką funkcję standardowo w naszej konfiguracji (discard-secondary) . Jeżeli i to nie przyniesie rezultatu, dyski zostaną odłączone i będą oczekiwać naszej reakcji (disconnect) .

Dalsza część pliku konfiguracyjnego określa nasze zasoby: nazwę partycji (disk), nazwy (te uzyskane przez hostname) oraz numery IP naszych węzłów . Słowo device określa nazwę wirtualnego urządzenia, które tworzą nasze dwa fizyczne dyski, natomiast słowo meta-disk określa miejsce przechowywania informacji na temat synchronizacji. Wartość internal określa, że są one przechowywane na tych samych dyskach co nasze dane.

W kolejnej części uruchamiamy DRBD. Zapraszam.

Leave A Reply

Exit mobile version