DRBD jest to soft robiący “RAID1 przez sieć” (może kiedyś opisze pełną instalację, chociaż manual na stronie jest bardzo dobry). ten soft jest na tyle sprytny że w przypadku rozłączenia maszyn i ponowneo połączenia synchronizuje tylko zmiany, ale niestety nie jest tak sprytny jeżeli chodzi o początkowy sync wymagany przy instalacji. Wszystko jest ok jak masz 2 serwery połączone GBit ethernet ale w moim przypadku połączenie to 10MBit VPNu od właściciela serwerowni (dwie lokacje dwa serwery) więc trzeba kombinować.

Niestety w dokumentacji nie opisali jak to przyspieszyć więc moją pierwszą myślą była kompresja (w końcu pusty dysk więc same zera nie?). Wyklepałem pośpiesznie OpenVPN z wyłączonym szyfrowaniem, tylko sama kompresja i przyśpieszyło z megabajta/sek do około4-5. Cóż, całkiem nieźle, ale zacząłem grzebać dalej. Okazało się że się da szybciej, ba, prawie natychmiastowo ;]. Przepis jest taki:

1.Wyłączamy na obydwu nodach (www – nazwa noda)
drbdadm down www

2.Robimy
drbdadm -- --force create-md www
na obu nodach

3.Robimy
drbdadm up www
na obu nodach

4.Robimy
drbdadm -- --clear-bitmap new-current-uuid www
na jednym nodzie

Co to nam daje? DRBD myśli że oba nody są w syncu gdy w rzeczywistości nie są. O ile w każdym innym przypadku byłoby to złe, to w przypadku “pierwszego syncu” nie stanowi to problemu.

Dlaczego ? Bo teraz, gdy sformatujemy nasz nowiuśki /dev/drbdX, każde dane zapisane na niego będą już w “prawdziwym” syncu a to co poprzednio było niezsynchronizowane i tak nie będzie używane ponieważ system nic do tego nie zapisał.

A dla tych co dalej się martwią, można zawsze zrobić
drbdadm verify www
(po skończeniu trzeba zrobić down i up)
wtedy partycje będą zgodne bit-to-bit, a i tak będzie to szybsze od normalnego syncu (radze poczytac o verify w dokumentacji drbd, przydatna rzecz)

Related Posts: