PowerScale: błąd migracji zasad SYNCIQ Smartsync dla replikacji kaskadowej lub jeden-do-wielu
Summary: Migracja jest blokowana przez dwa błędy: jeden, gdy migawka źródłowa nie jest zgodna z najnowszą migawką, i drugi, gdy jest starsza niż najnowsza. Z powodu niezgodności w konfiguracjach rozproszenia lub kaskadowych. ...
Symptoms
Migracja zasad SyncIQ SmartSync kończy się niepowodzeniem z powodu jednego z dwóch błędów:
Error Message: Migration blocked: Source record snapshot (<snapshot-id>) does not match latest dataset snapshot (<snapshot-id>) for the source basepath (<source-base-path>). This source basepath may act as a target for an existing SmartSync policy. Hence, the SIQ policy migration can't proceed unless the two snapshots are identical. Start the SIQ policy to match the latest dataset snapshot (<snapshot-id>) in source.Error Message: Migration blocked: Source record snapshot (<snapshot-id>) is older than the snapshot (<snapshot-id>) associated with the latest dataset (<dataset details>) for the source basepath (<source-base-path>). Replicate to the latest snapshot or above to proceed with the SIQ policy migration.
Cause
Błąd 1 występuje, gdy źródłowa ścieżka bazowa ma wcześniej istniejące zestawy danych, które są oznaczone jako docelowy zestaw danych przez SmartSync. Skojarzona migawka używana do migracji, używana przez rekord źródłowy zasad SyncIQ, nie jest taka sama, jak migawka używana przez najnowszy zestaw danych dla określonej źródłowej ścieżki bazowej.
Błąd 2 występuje, gdy źródłowa ścieżka bazowa zawiera istniejące zestawy danych, które nie są oznaczone jako docelowy zestaw danych przez SmartSync. Powiązana migawka używana do migracji, używana przez rekord źródłowy zasad SyncIQ, nie jest większa lub równa migawce używanej przez najnowszy zestaw danych dla określonej źródłowej ścieżki bazowej.
Resolution
Jeśli błąd już wystąpił, przejdź do sekcji Kroki odzyskiwania.
Kroki migracji prewencyjnej
Środki ostrożności, które należy podjąć, zanim błędy pojawią się już w zadaniu migracji. Przed rozpoczęciem zadania migracji należy wykonać następujące czynności, aby uniknąć wyżej wymienionych błędów:
Konfiguracja impedancji wyjściowej bramki (A → B + A → C)
-
Krok 1: Identyfikowanie zasad SyncIQ Documentum Interactive Delivery Services. Oto przykład:
- Zasady A → B:
# isi sync policies view <pol_a_b> | head -2 - Zasady A → C:
# isi sync policies view <pol_a_c> | head -2
- Zasady A → B:
-
Krok 2: katalog rekordów źródłowych w klastrze A:
# cd /ifs/.ifsvar/modules/tsm/config/source_records/ -
Krok 3: Wypisz i wyświetl plik XML odpowiadający poszczególnym identyfikatorom zasad, a następnie zanotuj wartość last-snap-id:
-
Sprawdź migawkę A→B (w następnym kroku otrzymany identyfikator będzie AX):
# grep '<latest-snap-id>' <pol_a_b_ID>.xml -
Sprawdź migawkę A→C (w następnym kroku otrzymany identyfikator zmieni się na AY):
# grep '<latest-snap-id>' <pol_a_c_ID>.xml
-
-
Krok 4: Porównaj najnowsze wartości snap-id. Najpierw zmigruj zasady ze starszym (niższym)najnowszym-identyfikatorem-przystawki
:Jeśli migawka A do B (AX) jest starsza niż migawka A do C (AY), na przykład:AX = snapID 100,AY = snapID150.
Następnie najpierw przeprowadź migrację zasad A do B.
Jeśli migawka A do C (AY) jest starsza niż migawka A do B (AX), na przykład:AX = snapID 150,AY = snapID100.
Następnie najpierw przeprowadź migrację zasad A do C.
Jeśli obie zasady używają tej samej migawki, na przykład:AX = 100,AY = 100.
Obie zasady można migrować w pierwszej kolejności. Druga migracja zasad ponownie używa zestawu danych.
Konfiguracja łańcuchowa (kaskadowa) (A → B → C)
-
Synchronizacja powinna być w pełni zakończona, upewniając się, że wszystkie klastry zaangażowane w łańcuch zasad odzwierciedlają identyczne dane.
-
Przed kontynuowaniem migracji wyłącz wszystkie zasady SyncIQ w łańcuchu. Zapobiega to wyzwalaniu nowych zadań przyrostowych SyncIQ w trakcie migracji. Na przykład w łańcuchu A→B→C wyłącz zarówno zasady A→B, jak i B→C.
-
Ważne: Migracja musi zawsze rozpoczynać się od klastra głównego (źródłowego). W przypadku dowolnego klastra pośredniego (takiego jak B w konfiguracji 3-klastrowej) wszystkie zasady, których źródłowa ścieżka bazowa jest również obiektem docelowym dla innej zasady SmartSync, muszą używać tej samej (identycznej) migawki, co najnowszy zestaw danych dla tej ścieżki bazowej. Jeśli migawki nie są zgodne, zadanie migracji zostanie wstrzymane (nie zostanie trwale zablokowane). Czynności przywracania dodane poniżej w sekcji Czynności odzyskiwania.
Przed migracją zasad łańcuchowych należy się upewnić, że zasada B→C SyncIQ używa synchronizacji opartej na migawkach z tym samym wzorcem migawki utworzonym przez zasadę A→B w klastrze B. Dzięki temu obie zasady współużytkują tę samą linię bazową migawki w klastrze przekaźnikowym.
-
Jeśli zasady B→C SyncIQ nie były pierwotnie skonfigurowane z synchronizacją opartą na migawkach, zaktualizuj je przed migracją, wykonując następujące czynności:
-
Krok 1: Sprawdź, czy zasady A→B tworzą docelowe migawki archiwum (Target Snapshot Archive: powinien pokazywać Yes), a także ze wzorcem nazewnictwa innym niż domyślny wzorzec nazewnictwa SIQ-*.
# isi sync policies view pol_wJ9n-a2b | grep -E "Target Snapshot Archive|Target Snapshot Pattern" Target Snapshot Archive: No Target Snapshot Pattern: SIQ-%{SrcCluster}-%{PolicyName}-%Y-%m-%d_%H-%M-%SJak można zauważyć w powyższym przykładzie, Target Snapshot Archive jest ustawione na"Nie"a wzorzec jest domyślny z prefiksem SIQ-*.
-
Krok 2: Zmodyfikuj zasady A→B, aby utworzyć migawkę archiwum z innym wzorcem niż domyślny:
# isi sync policies modify <A_to_B_policy> --target-snapshot-archive True --target-snapshot-pattern 'snapB-%{PolicyName}-%Y-%m-%d'
# isi sync policies view pol_wJ9n-a2b | grep -E "Target Snapshot Archive|Target Snapshot Pattern" Target Snapshot Archive: Yes Target Snapshot Pattern: snapB-%{PolicyName}-%Y-%m-%d -
Krok 3: Zmodyfikuj zasady B→C na --schedule=when-snapshot-taken:
# isi sync policies modify <B_to_C_policy> --schedule=when-snapshot-taken -
Krok 4: Wyzwól zadanie zasad A→B, aby upewnić się, że zasady B→C nadrobią zaległości i ponownie użyje migawki archiwum utworzonej przez A-B>; możesz to sprawdzić, uruchamiając polecenie reports.
# isi sync job start <A_to_B_policy>
# isi sync reports listPoczekaj na zakończenie zadania zasad A→B, co z kolei spowoduje wyzwolenie zadania zasad B→C. Po zakończeniu obu zadań sprawdź, czy migawka archiwum utworzona przez ostatnie uruchomienie zasady A→B jest ponownie używana przez najnowsze zadanie B→C przy użyciu następującego polecenia:
# cat /ifs/.ifsvar/modules/tsm/config/target_records/<A_to_B_policy_Id>.xml | grep latest-archive-snap
<latest-archive-snap-alias>621</latest-archive-snap-alias>
<latest-archive-snap>625</latest-archive-snap>
# cat /ifs/.ifsvar/modules/tsm/config/source_records/<B_to_C_policy_Id>.xml | grep latest-snap-id
<latest-snap-id>625</latest-snap-id>
<restore-latest-snap-id>0</restore-latest-snap-id>Jak można zauważyć powyżej, latest-snap-id dla zasad B→ C jest taki sam jak latest-archive-snap dla A→ B. Jest to stan, w którym migracja polityki łańcuchowej ma zostać pomyślnie przeprowadzona.
-
Kroki migracji odzyskiwania
Jeśli podjęto już próbę migracji, a zadanie migracji przechodzi w stan WSTRZYMANY, wykonaj następujące kroki odzyskiwania:
Konfiguracja impedancji wyjściowej wentylatora
Jeśli zadanie migracji zasad SyncIQ zakończy się niepowodzeniem z powodu błędu, odpowiednia zasada SyncIQ zostanie ponownie włączona. Kroki zaradcze są następujące:
- Krok 1: Uruchom politykę SyncIQ, aby nadrobić zaległości:
# isi sync job start <policy-name> - Krok 2: Poczekaj, aż nowe zadanie zakończy się pomyślnie i pojawi się w danych wyjściowych raportów:
# isi sync reports list --policy-name <policy-name> - Krok 3: Wznów zadanie migracji SmartSync, które zostało wstrzymane:
# isi dm jobs resume <job_id>
Konfiguracja łańcuchowa (kaskadowa)
Jeśli zadanie migracji zasad SyncIQ zakończy się niepowodzeniem z powodu błędu, odpowiednia zasada SyncIQ zostanie ponownie włączona. Kroki zaradcze są następujące:
- Krok 1: Zmodyfikuj zasady SyncIQ przy użyciu polecenia:
# isi sync policies modify <B_to_C_policy> --schedule=when-snapshot-taken - Krok 2: Uruchom zasady A-B> Smart Sync przy użyciu polecenia (zakładając, że zasady nadrzędne zostały już przeniesione):
# isi dm policies modify <policy_name> --run-now=yes
Migawka zostanie automatycznie zsynchronizowana z najnowszą migawką zestawu danych na źródłowej ścieżce bazowej. - Krok 3: Wznów zadanie migracji za pomocą polecenia:
# isi dm jobs resume <job_id>