4.18.01 Przywracanie poprzedniej wersji

Edge for Private Cloud w wersji 4.18.01

W przypadku błędu podczas aktualizacji do Edge 4.18.01 możesz przywrócić komponent, który spowodował błąd, a następnie ponowić próbę aktualizacji. Jeśli na przykład aktualizacja do Postgres 9.6 się nie powiedzie, możesz wycofać zmiany tylko w węzłach Postgres i spróbować ponownie przeprowadzić aktualizację.

Są 2 sytuacje, w których warto przeprowadzić przywrócenie:

  1. Przywróć starszą wersję. Na przykład od 4.18.01 do 4.17.01.
  2. Przywrócenie starszej wersji w tej samej wersji.

Wykonaj poniższą procedurę, by przywrócić zmiany w obu scenariuszach.

Kto może przywracać zmiany

Użytkownik wykonujący przywrócenie musi być taki sam jak użytkownik, który pierwotnie zaktualizował Edge, lub użytkownik root.

Domyślnie komponenty Edge są uruchamiane jako użytkownik „apigee”. W niektórych przypadkach komponenty Edge mogą być używane jako różni użytkownicy. Jeśli na przykład router musi mieć dostęp do portów z podwyższonymi uprawnieniami, takich jak te poniżej 1000, musisz uruchomić router jako użytkownik root lub jako użytkownik z dostępem do tych portów. Możesz też uruchomić jeden komponent jako jeden użytkownik, a drugi jako inny użytkownik.

Komponenty, które można wycofać

Podczas przywracania wcześniejszej wersji pamiętaj o tych warunkach:

  • Pięć wymienionych poniżej komponentów Edge ma ten sam kod. Dlatego, aby wycofać dowolny z 5 komponentów w węźle, musisz wycofać dowolny z pięciu zainstalowanych w nim komponentów. Jeśli na przykład w węźle są zainstalowane serwer zarządzania, router i procesor wiadomości, to aby przywrócić dowolny z nich, musisz przywrócić wszystkie 3 elementy.

    Pięć komponentów współużytkowanych kodu:

    • Serwer zarządzania
    • Router
    • procesor komunikatów
    • Serwer Qpid
    • Serwer Postgres
  • Jeśli przeprowadzasz aktualizację z wersji Edge 4.16.01, nie przywracaj wersji Cassandra. Ta wersja Edge zawiera zaktualizowaną wersję Cassandra. Jeśli przywrócisz komponenty, pozostaw Cassandra w wersji 4.18.01.

Od 18.01.

Ta sekcja zawiera procedurę przywracania Edge 4.18.01 do poprzedniej wersji. Ta sekcja jest podzielona na 2 części:

  • Wycofywanie aktualizacji Postgres
    Ostatnim etapem każdej procedury aktualizacji jest zaktualizowanie węzłów Postgres do wersji 9.6. Jeśli aktualizacja się nie powiedzie, możesz ją przywrócić, korzystając z tej procedury.
  • Przywracanie wszystkich innych komponentów Edge
    Skorzystaj z tej procedury, aby przywrócić wszystkie pozostałe komponenty Edge.

Aby wycofać aktualizację Postgres 9.6

Aby wycofać aktualizację Postgres podczas aktualizowania Postgres w konfiguracji gotowości, wykonaj te czynności:

  • Awansuj nowy węzeł gotowości na status mastera Postgres. Nowy master Postgres będzie w tej samej wersji co poprzednia instalacja Edge.
  • Skonfiguruj stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego. Stary węzeł gotowości będzie w tej samej wersji co poprzednia instalacja Edge.
  • Zarejestruj nowe węzły główne i zapasowe w grupach analitycznych i konsumentów.

Po zakończeniu przywracania stary węzeł nadrzędny nie będzie już potrzebny. Możesz wtedy wyłączyć stary węzeł nadrzędny.

  1. Sprawdź, czy nowy węzeł gotowości Postgres jest uruchomiony:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli Postgres nie jest uruchomiony, uruchom go:

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Upewnij się, że w starym węźle głównym i starym węźle gotowości jego usługa Postgres jest zatrzymana:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Jeśli Postgres jest uruchomiony, zatrzymaj go:

    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop

  3. Jeśli moduł Qpid został zainstalowany, uruchom go w starym węźle gotowości:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Awansuj nowy węzeł gotowości jako węzeł główny Postgres:
    1. Wyznacz nowy węzeł gotowości na nowy węzeł nadrzędny:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      Jeśli pojawi się prośba, wpisz hasło użytkownika „apigee” do Postgres. Wartością domyślną jest „postgres”.

    2. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Skonfiguruj nowy wzorzec:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Ponownie utwórz stary węzeł gotowości:
    1. Edytuj plik konfiguracyjny użyty do zainstalowania bieżącej wersji Edge, aby określić następujące ustawienia:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Usuń katalog danych w starym węźle gotowości:
      > cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Skonfiguruj ponownie stary węzeł gotowości jako węzeł gotowości dla nowego węzła głównego:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Upewnij się, że Postgres działa w starym węźle gotowości:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Jeśli nie jest uruchomiony, uruchom go:

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Sprawdź, czy został dodany nowy węzeł gotowości, wyświetlając plik /opt/apigee/apigee-postgresql/conf/pg_hba.conf w nowym masterze.
  7. Wyświetl bieżące statystyki i informacje o grupie klientów, uruchamiając na serwerze zarządzania to polecenie:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    To polecenie zwraca nazwę grupy Analytics w polu name oraz nazwę grupy konsumentów w polu name w sekcji consumer-groups. Zwraca też identyfikatory UUID starego węzła głównego Postgres i węzłów gotowości w polach postgres-server i datastores. Dane wyjściowe powinny mieć postać:

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }

  8. Uzyskaj adres UUID starego węzła głównego, uruchamiając w nim to polecenie cURL:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Identyfikator UUID węzła powinien pojawić się na końcu danych wyjściowych w formie:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"

  9. Powtórz poprzedni krok, aby uzyskać adresy IP starego węzła gotowości i nowego węzła głównego.
  10. Usuń z grupy klientów stare węzły główne i gotowości:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    gdzie axgroup-001 i consumer-group-001 to domyślne nazwy grup użytkowników i analityki. Kolejność masterUUID,standbyUUID jest taka sama jak powyżej podczas wyświetlania bieżących statystyk i informacji o grupie klientów. Być może trzeba będzie określić je jako standbyUUID,masterUUID.

    Właściwość datastores elementu consumer-groups powinna być teraz pusta.

  11. Usuń z grupy analityki Analytics stary węzeł główny i węzeł gotowości:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    Właściwość postgres-server w polu uuids powinna być teraz pusta.

  12. Zarejestruj nowe węzły główne i zapasowe PG w grupach analitycznych i konsumentów:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. Zweryfikuj grupę analityczną:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Powinny się wyświetlić identyfikatory UUID nowych węzłów głównych i gotowości na liście w grupie analityki i grupie konsumentów.

  14. Ponownie uruchom serwer zarządzania brzegowymi:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Uruchom ponownie wszystkie serwery Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Uruchom ponownie wszystkie serwery Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Sprawdź stan replikacji, uruchamiając te skrypty na obu serwerach. System powinien wyświetlać identyczne wyniki na obu serwerach, aby zapewnić prawidłową replikację:

    Na nowym wzorcu uruchom polecenie:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Potwierdź, że jest oznaczony jako master. W starym węźle gotowości:

    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Potwierdź, że jest w trybie gotowości.

  18. Po wykonaniu kilku żądań do interfejsu API powtórz poprzedni krok, aby upewnić się, że węzły są zsynchronizowane.
  19. Usuń starego mastera Postgres, wykonując procedurę aktualizacji Apigee Edge z wersji 4.16.01/4.16.05 do 4.17.09.

    Możesz też odinstalować Qpid ze starego głównego węzła i zainstalować Qpid w nowym węźle nadrzędnym, zgodnie z poniższym opisem. Po odinstalowaniu Qpid możesz wyłączyć stary węzeł główny.

Odinstaluj Qpid ze starego mastera i zainstaluj Qpid na nowym

Wykonaj te czynności, aby odinstalować Qpid ze starego mastera i zainstalować go w nowym:

  1. Zablokuj dostęp firmom przetwarzającym wiadomości do portu Qpid 5672 w starym masterze, uruchamiając to polecenie we wszystkich procesorach wiadomości:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Sprawdź, czy kolejka wiadomości Qpid jest pusta, uruchamiając poniższe polecenie. Nie możesz odinstalować Qpid, dopóki nie przetworzy on wszystkich oczekujących wiadomości:
    > qpid-stat -q

    To polecenie wyświetla tabelę z liczbą zdarzeń msg, msgIn, and msgOut. Wszystkie wiadomości zostaną przetworzone w dniach msg=0 i msgIn=msgOut.

  3. Ustal identyfikator UUID serwera Qpid na starym masterze, uruchamiając następujące polecenie na starym masterze. Zapisz te informacje na później:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Zatrzymaj Qpid na starym masterze:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Odinstaluj serwer Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Usuń stary serwer Qpid z grup analitycznych i grup konsumentów:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Usuń stary serwer Qpid z Zookeeper:
    > curl -u sysAdminEmail:password -X DELETE
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Zainstaluj Qpid w nowym masterze:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Określ identyfikator UUID serwera Qpid w nowym masterze, uruchamiając na nim poniższe polecenie. Zapisz te informacje na później:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Zarejestruj nowy serwer Qpid w grupach analitycznych i grup konsumentów:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
    > curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. Uruchom ponownie wszystkie procesory wiadomości:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Uruchom to polecenie na nowym serwerze Qpid, aby sprawdzić, czy kolejki zostały utworzone:
    > qpid-stat -q

    Upewnij się, że wartości msg, msgIn i msgOut są aktualizowane w miarę przetwarzania wiadomości przez serwer Qpid.

Aby przywrócić poszczególne komponenty z wersji 4.18.01

W ramach procesu przywracania musisz pobrać plik bootstrap.sh dla bieżącej wersji Edge:

  • Aby wrócić do wersji 4.17.09, pobierz bootstrap_4.17.09.sh
  • Aby wrócić do wersji 4.17.05, pobierz bootstrap_4.17.05.sh
  • Aby wrócić do wersji 4.17.01, pobierz bootstrap_4.17.01.sh
  • Aby wrócić do wersji 4.16.09, pobierz bootstrap_4.16.09.sh
  • Aby wrócić do wersji 4.16.05, pobierz bootstrap_4.16.05.sh
  • Aby wrócić do wersji 4.16.01, pobierz bootstrap.sh

W przypadku każdego węzła hostującego komponent, który ma zostać przywrócony:

  1. Zatrzymaj komponent, który chcesz przywrócić:
    1. Jeśli przywracasz jeden z tych komponentów w węźle, musisz zatrzymać go wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. Jeśli przywracasz inny komponent w węźle, zatrzymaj tylko ten:
      • > apigee-service comp stop
  2. Jeśli przywracasz poprzednią wersję funkcji Generowanie przychodu, odinstaluj ją ze wszystkich węzłów serwera zarządzania i procesora wiadomości:
    > apigee-service edge-mint-gateway uninstall
  3. Aby przywrócić poprzednią wersję węzła, odinstaluj komponent:
    1. Jeśli przywracasz którykolwiek z tych komponentów w węźle, odinstaluj je wszystkie: serwer zarządzania, router, procesor wiadomości, serwer Qpid lub serwer Postgres:
      > apigee-service edge-gateway uninstall
    2. Jeśli przywracasz inny komponent w węźle, odinstaluj tylko ten:
      > apigee-service comp uninstall
    3. Jeśli przywracasz poprzednią wersję routera, musisz usunąć zawartość /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. Aby przywrócić komponent:
    1. Odinstaluj wersję apigee-setup.18.01:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Pobierz plik bootstrap.sh dla wybranej wersji: na przykład dla wersji 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Zainstaluj narzędzie i jego zależności w wersjach 4.16.01, 4.16.05 lub 4.16.09 apigee-service. Na przykład dla 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      gdzie uName i pWord to nazwa użytkownika i hasło otrzymane z Apigee. Jeśli pominiesz właściwość pWord, pojawi się prośba o jej podanie.

    4. Zainstaluj apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Zainstaluj żądaną wersję komponentu:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      gdzie comp to komponent do zainstalowania, a configFile to plik konfiguracji wybranej wersji.

    6. Jeśli przywracasz Qpid, wyczyść iptables:
      > sudo iptables -F
  5. Aby przywrócić komponent do określonej wersji 4.18.01:
    1. Pobierz konkretną wersję komponentu:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      gdzie comp-version to komponent i wersja do zainstalowania. Na przykład:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install

      Jeśli używasz repozytorium online Apigee, możesz sprawdzić dostępne wersje komponentów, używając tego polecenia:

      > yum --showduplicates list comp

      Na przykład:

      > yum --showduplicates list edge-ui
    2. Aby zainstalować komponent, użyj narzędzia apigee-setup:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Na przykład:

      > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      Pamiętaj, że nazwę komponentu musisz określić tylko podczas instalacji.

Jeśli podczas przywracania wcześniejszej wersji wystąpią problemy, skontaktuj się z zespołem pomocy Apigee Edge.