Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Korzystanie z Doradców ds. tworzenia kopii zapasowych baz danych w celu automatyzacji zadań konserwacyjnych

Awaria zwykle powoduje awarię, co oznacza przestój systemu i potencjalną utratę danych. Gdy wykryjemy zaciemnienie, uruchamiamy nasz plan DR, aby go odzyskać. Ale byłoby niespodzianką, jeśli nie ma kopii zapasowej lub po wielu godzinach odzyskiwania, widzisz, że nie jest to ta, której potrzebujesz.

Chociaż przestoje mogą być kosztowne – często mają one wpływ finansowy, który może być szkodliwy dla firmy, a utrata danych może być powodem zamknięcia firmy.

Aby zminimalizować utratę danych, musimy mieć wiele kopii danych w różnych miejscach. Możemy zaprojektować naszą infrastrukturę na różnych warstwach i wyabstrahować każdą warstwę z warstwy poniżej. Na przykład budujemy warstwę dla klastrów instancji baz danych w celu ochrony przed awarią sprzętu. Replikujemy bazy danych w różnych centrach danych, dzięki czemu możemy bronić się przed awarią centrum danych. Każda dodatkowa warstwa dodaje złożoności, która może stać się koszmarem do zarządzania. Zasadniczo jednak kopia zapasowa zajmie centralne miejsce w odzyskiwaniu po awarii.

Dlatego ważne jest, aby mieć pewność, że jest to coś, na czym możemy polegać. Ale jak to osiągnąć? Cóż, jedną z opcji jest sprawdzenie, czy kopie zapasowe zostały wykonane na podstawie kilku ostatnich wierszy skryptu kopii zapasowej.

Prosty przykład:

#!/bin/sh

mysqldump -h 192.168.1.1 -u user -ppassword dbname > filename.sql



if [ "$?" -eq 0 ]; then

    echo "Success."

else

    echo "Error."

fi

Ale co, jeśli skrypt kopii zapasowej w ogóle się nie uruchomił? Google oferuje sporo wyników wyszukiwania dla „Linux cron, nie działa”.

Niestety, bazy danych typu open source często nie oferują repozytorium kopii zapasowych.

Kolejne testowanie kopii zapasowych. Być może słyszałeś o kocie Schrödingera. Znaną teorią kopii zapasowej Schrödingera jest . „Stan każdej kopii zapasowej jest nieznany, dopóki nie zostanie podjęta próba przywrócenia”. Brzmi jak proste podejście, ale taka próba oznaczałaby, że trzeba by skonfigurować środowisko testowe, skopiować pliki, uruchomić przywracanie… po każdej kopii zapasowej.

W tym artykule zobaczymy, jak za pomocą ClusterControl upewnić się, że kopia zapasowa jest wykonywana w celu uzyskania baz danych klasy korporacyjnej z bazami danych Open Source.

Raporty kopii zapasowych

ClusterControl jest nastawiony na raporty operacyjne. Raportowanie operacyjne zapewnia wsparcie w codziennym monitorowaniu i kontroli działalności przedsiębiorstwa. Raport kopii zapasowej jest jednym z wielu. Możesz znaleźć raporty takie jak:

  • Codzienny raport systemowy
  • Raport uaktualnienia pakietu
  • Raport o zmianie schematu
  • Dostępność 
  • Kopia zapasowa

Ale dlaczego miałbyś tego potrzebować?

Być może masz już doskonałe narzędzie do monitorowania ze wszystkimi możliwymi metrykami/wykresami i prawdopodobnie skonfigurowałeś również alerty oparte na metrykach i progach (niektórzy mają nawet automatycznych doradców, którzy dostarczają im rekomendacje lub automatycznie naprawiają rzeczy). system jest ważny; niemniej jednak musisz być w stanie przetworzyć wiele informacji.

Jak to działa? ClusterControl zbiera informacje o procesie tworzenia kopii zapasowej, systemach, platformach i urządzeniach w infrastrukturze kopii zapasowej, gdy zadanie kopii zapasowej jest uruchamiane. Wszystkie te informacje są agregowane i przechowywane w CMON (wewnętrznej bazie danych), dzięki czemu nie ma potrzeby dodatkowego odpytywania poszczególnych baz danych. Dodatkowo, gdy wykryje, że masz działający klaster, ale nie było kopii zapasowej, zostanie to również zgłoszone.

W szczegółach raportu możesz śledzić identyfikator kopii zapasowej ze szczegółowymi danymi dotyczącymi lokalizacji, rozmiaru, czasu i metody tworzenia kopii zapasowej. Szablony działają z danymi dla różnych typów baz danych, więc zarządzając środowiskiem mieszanym, uzyskasz ten sam wygląd i wygląd. Pomaga lepiej zarządzać różnymi kopiami zapasowymi baz danych.

Raporty CLI

Dla tych, którzy preferują interfejs wiersza poleceń, dobra opcja śledzenia kopii zapasowych ClusterControl Command Line Interface (CLI).

CLI umożliwia wykonywanie większości funkcji dostępnych w ClusterControl za pomocą prostych poleceń. Jednym z nich jest wykonanie kopii zapasowej i raporty z kopii zapasowych.

Używany w połączeniu z potężnym graficznym interfejsem użytkownika, daje użytkownikom ClusterControl alternatywne sposoby zarządzania ich środowiskami baz danych typu open source przy użyciu preferowanego silnika.

$ s9s backup --list --cluster-id=1 --long --human-readable

ID CID STATE     OWNER HOSTNAME CREATED  SIZE FILENAME

 1   1 COMPLETED dba   10.0.0.5 07:21:39 252K mysqldump_2017-05-09_072135_mysqldb.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:21:43 1014 mysqldump_2017-05-09_072135_schema.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:03 109M mysqldump_2017-05-09_072135_data.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:07 679 mysqldump_2017-05-09_072135_triggerseventsroutines.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:20 252K mysqldump_2017-05-09_073016_mysqldb.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:24 1014 mysqldump_2017-05-09_073016_schema.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:44 109M mysqldump_2017-05-09_073016_data.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:49 679 mysqldump_2017-05-09_073016_triggerseventsroutines.sql.gz

Poczynając od wersji 1.4.1, skrypt instalatora automatycznie zainstaluje ten pakiet w węźle ClusterControl. CLI jest częścią pakietu s9s-tools. Można go również zainstalować osobno na innym komputerze, aby zdalnie zarządzać klastrem bazy danych. Podobnie jak ClusterControl wykorzystuje bezpieczną komunikację SSH.

Automatyczna weryfikacja kopii zapasowej

Kopia zapasowa nie jest kopią zapasową, jeśli nie możemy odzyskać danych. Weryfikacja kopii zapasowych to coś, co zwykle pomija wiele firm. Zobaczmy, jak ClusterControl może zautomatyzować weryfikację kopii zapasowych i pomóc uniknąć niespodzianek.

W ClusterControl wybierz klaster i przejdź do sekcji „Kopia zapasowa”, a następnie wybierz „Utwórz kopię zapasową”.

Funkcja automatycznej weryfikacji kopii zapasowej jest dostępna dla zaplanowanych kopii zapasowych, więc wybierzmy opcja „Zaplanuj kopię zapasową”.

Podczas planowania kopii zapasowej, oprócz wybrania typowych opcji, takich jak metoda lub pamięć, musimy również określić harmonogram/częstotliwość. W tym przykładzie skonfigurujemy weryfikację kopii zapasowej MySQL. Jednak to samo można osiągnąć w przypadku baz danych PostgreSQL i Timescale.

Po zaznaczeniu weryfikacji kopii zapasowej pojawi się kolejna karta.

Tu możemy ustawić wszystkie niezbędne kroki w celu przygotowania środowiska. Gdy zapewniony jest adres IP, możemy zaplanować taką kopię zapasową. Po zakończeniu tworzenia kopii zapasowej zostanie ona skopiowana do tymczasowego środowiska weryfikacji kopii zapasowej (opcja „przywróć kopię zapasową włączoną”). Po pomyślnym odświeżeniu zobaczysz status weryfikacji w zakładce repozytorium kopii zapasowych.

Nieudane wykonywanie kopii zapasowych i usługi integracyjne

Kolejną interesującą opcją uzyskania dodatkowych wskazówek na temat wykonywania kopii zapasowych jest skorzystanie z usług ClusterControl Integration. Możesz kontrolować stan wykonywania kopii zapasowej za pomocą usług innych firm.

Integracja narzędzi innych firm umożliwia automatyzację alertów z innymi popularnymi systemami. Obecnie ClusterControl obsługuje usługi ServiceNow, PagerDuty, VictorOps, OpsGenie, Slack, Telegram i Webhooks.

Poniżej widzimy przykład integracji kanału Slack. Za każdym razem, gdy wystąpi zdarzenie backupu, pojawi się ono w kanale Slack.

Wnioski

Kopie zapasowe są obowiązkowe w każdym środowisku. Pomagają chronić dane i znajdują się w centrum każdego scenariusza odzyskiwania po awarii. ClusterControl może pomóc zautomatyzować proces tworzenia kopii zapasowej baz danych, aw przypadku awarii przywrócić go kilkoma kliknięciami. Możesz także mieć pewność, że są one wykonywane pomyślnie i niezawodnie, więc w przypadku katastrofy nie stracisz swoich danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaawansowane zapytanie MySql:Aktualizuj tabelę informacjami z innej tabeli

  2. MySQL, zaktualizuj wiele tabel za pomocą jednego zapytania

  3. Wydajność MYSQL OR vs IN

  4. Używasz warstwy bazy danych Django poza Django?

  5. 5 najlepszych narzędzi GUI MySQL (bezpłatne i płatne)