Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Debian jessie – Podstawowa konfiguracja drbd

DRBD czyli Distributed Replicated Block Device jest rozwiązaniem programowym umożliwiającym replikację urządzeń blokowych takich jak dyski twarde, partycje, woluminy logiczne z wykorzystaniem sieci.
Konfiguracja oparta jest o system Debian jessie, utworzone urządzenie działa w trybie active-passive

Operacje wykonywane na każdym z serwerów

1) Tworzymy partycje -w moim przypadku to /dev/sda3 o rozmiarze 50 GB i typie Linux (kod 83)

/dev/sda3 42008576 147028965 105020390 50.1G 83 Linux

2) Dodajemy w /etc/hosts wpisy z adresami IP i nazwą serwerów:

37.187.103.5 r2.marek.pro kimsufi2176.31.127.129 r1.marek.pro kimsufi

3)Instalujemy drbd:

apt-get install drbd drbd8-utils

4)Dodajemy moduł drbd i sprawdzamy czy został poprawnie zainicjowany:

# modprobe drbdr1:~# lsmod | grep drbddrbd 318526 3 lru_cache 13032 1 drbdlibcrc32c 12426 1 drbd

5)Wykonujemy kopie głownej konfiguracji i dokonujemy własnej:

cp /etc/drbd.conf /etc/drbd.conf_origcat /dev/null > /etc/drbd.confvi /etc/drbd.conf

Przykładowy plik konfiguracyjny: global { usage-count no; } common { syncer { rate 100M; } } resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } disk { on-io-error detach; no-disk-flushes ; no-disk-barrier; c-plan-ahead 0; c-fill-target 24M; c-min-rate 80M; c-max-rate 720M; } net { # max-epoch-size 20000; max-buffers 36k; sndbuf-size 1024k ; rcvbuf-size 2048k; } on r1.uphost.pro { device /dev/drbd0; disk /dev/sda3; address 176.31.127.129:7788; meta-disk internal; } on r2.uphost.pro { device /dev/drbd0; disk /dev/sda3; address 37.187.103.5:7788; meta-disk internal; } }

6) Tworzymy macierz danych:
r1:~# drbdadm create-md r0 Writing meta data... initializing activity log NOT initialized bitmap New drbd meta data block successfully created. 7)Uruchamiamy DRBD

r1:~# /etc/init.d/drbd start Starting DRBD resources:[ d(r0) s(r0) n(r0) ]....

Operacje do wykonania na głównym (primary) serwerze

Ustawiamy serwer jako primary usuwając wszystki dane:
drbdadm -- --overwrite-data-of-peer primary all

Sprawdzamy na drugim serwerze stan synchronizacji:

r2:~# cat /proc/drbd version: 8.3.7 (api:88/proto:86-91) srcversion: EE47D8BF18AC166BE219757 0: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r---- ns:0 nr:15790400 dw:15790144 dr:0 al:0 bm:963 lo:9 pe:29622 ua:8 ap:0 ep:1 wo:b oos:15664096 [=========>..........] sync'ed: 50.3% (15296/30716)M finish: 0:02:44 speed: 95,212 (85,352) K/sec Po zakończeniu synchronizacji wynik będzie wyglądał tak:

# cat /proc/drbd version: 8.3.7 (api:88/proto:86-91) srcversion: EE47D8BF18AC166BE219757 0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r---- ns:0 nr:31454240 dw:31454240 dr:0 al:0 bm:1920 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0 Wracamy więc do pierwszego serwera, sprawdzamy czy synchronizacja została zrobiona i tworzymy system plików, oraz montujemy go na serwerze -w moim przypadku pod /home:

mkfs.ext3 /dev/drbd0 mount /dev/drbd0 /home Sprawdzamy czy jest poprawnie zamontowany:

root@r1:~# mount | grep drbd /dev/drbd0 on /home type ext3 (rw,relatime,data=ordered) root@r1:~# df -h /dev/drbd0 Filesystem Size Used Avail Use% Mounted on /dev/drbd0 50G 1.1G 46G 3% /home root@r1:~# Gotowe!

Zmiana serwera głównego

Aby zmienić serwer główny należy odmontować zasób na serwerze głównym i ustawić serwer jako secondary

r1:~# ls -l /home/ total 1049620 drwx------ 2 root root 16384 Jan 12 02:12 lost+found -rw-r--r-- 1 root root 0 Jan 12 08:49 s -rw-r--r-- 1 root root 1073741824 Jan 12 10:23 test root@r1:~# umount /home root@r1:~# drbdadm secondary r0 następnie logujemy się na serwer zapasowy, ustawiamy go jako główny i motujemy zasób:

root@r2:~# drbdadm primary r0 root@r2:~# mount /dev/drbd0 /home Sprawdzamy czy zawartośc plików sie zgadza:

root@r2:~# ls -l /home/ total 1049620 drwx------ 2 root root 16384 Jan 12 02:12 lost+found -rw-r--r-- 1 root root 0 Jan 12 08:49 s -rw-r--r-- 1 root root 1073741824 Jan 12 10:23 test root@r2:~# Zawartość się oczywiscie zgadza – jako potwierdzenie że r2 jest serwerem primary sprawdzamy /proc/drbd

root@r2:~# cat /proc/drbd version: 8.4.3 (api:1/proto:86-101) srcversion: 1A9F77B1CA5FF92235C2213 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:4 nr:54914052 dw:54914056 dr:1529 al:1 bm:3247 lo:0 pe:0 ua:0 ap:0 ep:1 wo:d oos:0 Zapis „Primary/Secondary” potwierdza, że serwer r2 jest teraz jako primary. 

linux bezpieczeństwo serwery

Komentarze

0 nowych
GBM   21 #1 16.02.2017 08:43

Warto wspomnieć o nowej wersji DRBD czyli 9. Generalnie w porównaniu do wersji ósmej, to spory przeskok (m. in. w zwiększonym limicie liczby hostów jakie można ze sobą skrzyknać przez DRBD).

PS. Zapomniałeś dodać urla do dokumentacji, która jest nieźle zrobiona i zawiera sporo przydatnych informacji. -> http://www.drbd.org/en/doc/users-guide-90