Przejdź do treści

Weryfikacja

Kopia zapasowa, której nikt nie przywrócił, to tylko nadzieja. Tenax przywraca Twoje kopie zapasowe według harmonogramu, sprawdza je i oznacza te, które przejdą sprawdzenia, jako zweryfikowane.

in a BackupPolicy
spec:
  verify:
    schedule: "17 4 * * 0"          # weekly, Sunday 04:17 in the policy's time zone
    checks: [inventory-matches, row-estimates-within-10pct, target-checks]
    randomPointInTime: true          # also restore a random second inside the window

Zgodnie z harmonogramem kontroler tworzy Restore do piaskownicy z najnowszej kopii zapasowej, a gdy istnieją strumienie, także do losowego punktu w oknie. Następnie uruchamia sprawdzenia:

Sprawdzenie Przechodzi, gdy
inventory-matches Przywrócone tabele i odcisk schematu zgadzają się z inwentarzem kopii zapasowej.
schema-matches Odcisk schematu się zgadza.
row-estimates-within-NNpct Liczba wierszy każdej tabeli mieści się w NN % szacunku z inwentarza.
target-checks Każde sprawdzenie SQL zadeklarowane w celu zwraca true.

Sprawdzenia celu to zwykły SQL, który musi zwrócić pojedynczą wartość true:

in a BackupTarget
spec:
  checks:
    - name: orders-not-empty
      database: app
      sql: select count(*) > 0 from orders
    - name: recent-orders
      database: app
      sql: select max(created_at) > now() - interval '2 days' from orders

Udane uruchomienie oznacza kopię zapasową jako verified i zapisuje czas przywracania, eksportowany jako tenax_verify_rto_seconds. Nieudane uruchamia alert TenaxVerificationFailed; brak udanego uruchomienia przez 8 dni uruchamia TenaxVerificationOverdue. Uruchom weryfikację ręcznie przez tenax verify team-a/app --wait lub przyciskiem Zweryfikuj teraz na stronie celu.