Domyślam się, że osób, które to interesuje jest jakieś może pięć, ale postanowiłem raz na jakiś czas dać trochę informacji zza kulis naszego forum. Jest przy nim trochę pracy, wymaga to wszystko trochę umięjętności i wiedzy, a ja mogę się nią trochę podzielić. Wtedy, jeśli ktoś będzie chciał zrobić własne forum, to będzie tę wiedzę mieć.
Dziś chciałbym powiedzieć parę słów o kopiach zapasowych. Nasze forum jest oczywiście codziennie backupowane, więc w razie wybuchu - jestem w stanie w ciągu parunastu minut przywrócić stan sprzed przynajmniej 24h.
Ale zanim zaczniemy, parę zasad:
- kopie zapasowe powinny być robione… w innym miejscu niż stoi główna usługa (co komu po kopii na serwerze, który będzie mieć awarię tak samo jak forum?),
- two is one, one is none - dobrze robić kopie zapasowe i kopie zapasowe - jeśli jedna z kopii zapasowych będzie mieć awarię, to zawsze jest druga
- kopie bezpieczeństwa są bezużyteczne jeśli nie da się ich przywrócić, to wydaje się zabawne, ale więcej zaraz.
Nasze forum jest backupowane każdego dnia, w środku nocy, na Amazon S3 (jest do tego wbudowana opcja w Discourse). Trzymam też jedną, co-trzydniową kopię w “glacierze”, czyli serwerze, na którym trzyma się dane dłużej niż na samym S3. Trzymamy tych kopii trzy ostatnie - czyli z ostatnich trzech dni. Tym samym jeśli ktoś prosi o usunięcie swoich danych z forum, to fizycznie zajmuje to trzy dni, po tym czasie - dane znikają nawet z kopii zapasowej i nie ma szansy, że je odzyskamy.
Raz na jakiś czas robię też zrzut kopii na swój własny dysk po to, żeby po prostu mieć ją “bliżej” (robię to raz na tydzień). Trzymam na swoim dysku jedną, tygodniową kopię. (Na dysku == iCloud drive, więc mam ją w chmurze przez ten tydzień).
Czyli podsumowując:
- kopia robi się raz dziennie,
- trzymam 3 dzienne kopie na S3,
- w glacierze trzymam 1 kopię, która zmienia się co 3 dni,
- raz na tydzień aktualizuję kopię bazy na swoim dysku
Żeby nie można było przywrócić forum musi więc: paść ovh (gdzie stoi forum), paść iCloud (i mój komputer), paść Amazon S3. Nikła szansa, więc jesteśmy bezpieczni.
Co do przywracalności - wielokrotnie bywało tak, że padł jakiś serwis, który owszem - miał kopię bezpieczeństwa - ale nie dało się jej wgrać, bo nikt nigdy tego zrobić nie próbował. Dlatego… ja (chociaż tego nie widzicie) raz na jakiś czas, bardzo wcześnie, przywracam forum z kopii bezpieczeństwa po to, żeby sprawdzić czy działa. Do tego parę razy postawiłem na szybko bucket żeby sprawdzić czy to dalej działa na całkiem nowym serwerze. Dlatego w sytuacji “forum padło”, jestem w stanie bardzo szybko chociażby: postawić nowy bucket na DigitalOcean (jeśli padło ovh), wgrać tam Discourse, przywrócić kopię zapasową i przekierować domeny.
Ostatnia rzecz, która może być interesująca (zawsze jest!) - koszty. Nasz serwer na OVH kosztuje około 420zł rocznie (środkowy VPS na OVH). Jedna kopia zapasowa zajmuje około 3,5GB miejsca. Na S3 trzymam więc około 11GB (+ glacier kolejne 3,5) danych, których miesięczny koszt otrzymania wynosi… w granicach $0.18. Każdego miesiąca ten koszt rośnie (bo i danych przybywa), ale myślę, że nawet w długim horyzoncie czasowym nie przekroczymy złótówki na miesiąc.
To byłoby na tyle - gdyby ktoś był ciekawy któregoś aspektu - niech da znać. Chętnie wytłumaczę i odpowiem na pytania. A gdyby ktoś chciał stworzyć własne forum, to teraz też wie jak wygląda kwestia robienia kopii bezpieczeństwa.