Można zachować dostępność aplikacji podczas przenoszenia klastra SLES 15 SP5 do SP6, ale nie można uaktualnić i zrestartować pojedynczej instancji systemu operacyjnego praktycznie bez żadnych przerw. SUSE obsługuje migrację Service Pack z SP5 do SP6, a proces migracji online nadal wymaga ponownego uruchomienia systemu. Aby uniknąć przestoju usługi, należy uaktualniać po jednym węźle na raz w obsługiwanym klastrze SUSE Linux Enterprise High Availability (SLE HA) lub utworzyć zastępcze środowisko SP6 i przenieść do niego ruch. Usługa musi mieć sprawne środowisko, w którym będzie mogła działać, gdy każdy host będzie niedostępny.
Ten przewodnik dla początkujących koncentruje się na ścieżce aktualizacji ciągłej dla klastra SLE HA. Wyjaśnia również, co zrobić, jeśli masz tylko jeden serwer, co sprawdzić przed zmianą i jak sprawdzić, czy usługa działa prawidłowo. Dokładne polecenia i kolejność przenoszenia obciążeń zależą od zasobów klastra, pamięci masowej i aplikacji.
Co oznacza „bez przestoju systemu”
Migracja Service Packa polega na wymianie pakietów systemowych podczas działania systemu źródłowego. W systemie SUSE nazywa się to migracją online. Zmniejsza to konieczność rozruchu z nośnika instalacyjnego, ale oficjalna procedura zaleca ponowne uruchomienie systemu po pomyślnej migracji. Migracja online to nie to samo, co aktualizacja na żywo, która pozostawia ten sam host w ciągłej obsłudze żądań.
W przypadku usługi klastrowej, modernizacja ciągła oznacza wyłączenie jednego węzła z eksploatacji, migrację i ponowne uruchomienie, powrót do klastra, a następnie powtórzenie procesu na kolejnym węźle. Aplikacja może pozostać dostępna z innego węzła, jeśli przełączenie awaryjne zadziała, a dostępna przepustowość jest wystarczająca. Przełączenie awaryjne może jednak spowodować krótkotrwałą przerwę w aktywnych sesjach, dlatego należy mierzyć jakość usługi widocznej dla użytkownika, zamiast zakładać, że „wysoka dostępność” gwarantuje, że każde połączenie pozostanie nienaruszone.
SUSE wymienia SLES 15 SP5 jako obsługiwane źródło SP6, zarówno online, jak i offline. Obsługiwana ścieżka jest udokumentowana w przewodniku po ścieżkach aktualizacji SLES 15 SP6 . Dokumentacja SUSE HA obsługuje stopniową aktualizację klastra między pakietami Service Pack w ramach tej samej głównej wersji. Zobacz przewodnik po aktualizacji klastra SLE HA .
Wybierz właściwe podejście, zanim cokolwiek zmienisz
- Jeden samodzielny serwer: zaplanuj okno konserwacyjne na migrację hosta i ponowne uruchomienie. Moduł równoważenia obciążenia nie będzie w stanie usunąć przestoju, jeśli nie ma drugiej sprawnej instancji aplikacji.
- Dwa lub więcej węzłów SLE HA: należy rozważyć udokumentowaną procedurę stopniowej aktualizacji po sprawdzeniu kworum, ogrodzenia, rozmieszczenia zasobów, dostępu do pamięci masowej i wolnej pojemności.
- Aplikacja z replikami poza SLE HA: zaktualizuj zastępczego hosta lub pulę SP6, zweryfikuj go i stopniowo przenieś ruch. Jest to wdrożenie typu blue-green lub rolling na poziomie aplikacji; jest ono niezależne od migracji SLES na miejscu.
- Host zarządzany przez SUSE Manager: postępuj zgodnie z przepływem pracy migracji klienta SUSE Manager. SUSE zaleca, aby nie korzystać z migracji online YaST ani
zypper migrationbezpośrednio na kliencie SUSE Manager.
Jeśli Twoja usługa to baza danych lub inna aplikacja stanowa, traktuj kompatybilność aplikacji i replikację danych jako oddzielny strumień pracy. Ścieżka migracji systemu operacyjnego nie zapewnia automatycznej aktualizacji bazy danych ani nie dowodzi, że jej replikacja i konstrukcja failover są bezpieczne.
Przygotuj klaster i plan zmian
1. Potwierdź wersje, rejestrację i kwalifikowalność do aktualizacji
Sprawdź, czy każdy węzeł korzysta z systemu SLES 15 SP5, z rozszerzeniem SLE HA oraz innymi modułami lub produktami zarejestrowanymi zgodnie z oczekiwaniami. Lista celów migracji zależy od zainstalowanych produktów i rozszerzeń. Brak celu SP6 może wskazywać na problem z rejestracją, repozytorium lub dostępnością rozszerzenia; nie próbuj wymuszać innej ścieżki repozytorium tylko po to, aby cel się pojawił.
W przypadku zarejestrowanego systemu poniższe kontrole przeznaczone wyłącznie do odczytu mogą pomóc ustalić jego stan:
cat /etc/os-release
sudo SUSEConnect --status
sudo zypper lr -u
Porównaj zainstalowane produkty SLES i SLE HA, repozytoria i architekturę na wszystkich węzłach. Jeśli host jest zarządzany przez SUSE Manager, skorzystaj z odpowiedniej procedury migracji klienta zamiast bezpośrednich kroków opisanych poniżej.
2. Załataj, wykonaj kopię zapasową i przetestuj
Przed uaktualnieniem system SUSE wymaga, aby system źródłowy miał zainstalowany najnowszy poziom poprawek. Zastosuj aktualne aktualizacje konserwacyjne SP5 i zapoznaj się z informacjami o wydaniu SP6 w celu zapoznania się ze zmianami w pakietach, modułach i aplikacjach. Instrukcje dotyczące przygotowania do uaktualnienia systemu SUSE wymagają również utworzenia aktualnej kopii zapasowej i zapoznania się z informacjami o wydaniu.
Utwórz kopię zapasową konfiguracji systemu i danych aplikacji oraz sprawdź, czy można ją przywrócić. Przetestuj całą procedurę w klastrze przejściowym, który odpowiada środowisku produkcyjnemu, uwzględniając interfejsy sieciowe, pamięć masową, zasoby klastra, repozytoria firm trzecich i kontrole stanu aplikacji. Zapisz, ile czasu zajmuje migracja i restart każdego węzła, aby móc oszacować czas potrzebny na zmiany.
3. Udowodnij, że pozostałe węzły mogą udźwignąć obciążenie
Przed usunięciem węzła upewnij się, że klaster jest sprawny i nie ma nierozwiązanych awarii zasobów. Sprawdź, czy inny węzeł może uruchamiać usługi, montować lub uzyskiwać dostęp do wymaganej pamięci masowej oraz obsługiwać oczekiwany ruch. Jeśli utrata jednego węzła spowodowałaby przeciążenie procesora, pamięci, sieci lub pamięci masowej, zwiększ pojemność, zmniejsz obciążenie lub zaplanuj okno konserwacyjne zamiast twierdzić, że nie ma przestoju.
Upewnij się, że funkcja odgradzania klastra jest skonfigurowana i działa zgodnie z ustalonym projektem HA. Funkcja odgradzania chroni współdzielone zasoby, izolując węzeł, któremu nie można zaufać; jej wyłączenie w celu ułatwienia aktualizacji może stwarzać ryzyko rozdwojenia jaźni. Zachowaj dostęp do konsoli lub dostępu poza pasmem na wypadek, gdyby węzeł nie powrócił po restarcie.
Przeprowadź aktualizację ciągłą, jeden węzeł na raz
Poniższe kroki stanowią zarys planowania. Postępuj zgodnie z procedurą odpowiednią dla Twojej wersji SLE HA i konfiguracji zasobów; nie kopiuj sekwencji zarządzania zasobami bezmyślnie do środowiska produkcyjnego.
- Potwierdź stan klastra. Zarejestruj aktualny stan i upewnij się, że wszystkie węzły i zasoby są sprawne. W SLE HA
crm statusjest to udokumentowany sposób sprawdzania stanu klastra.
- Przenieś lub usuń usługi z węzła. Użyj zatwierdzonej procedury klastra, aby umieścić zasoby aplikacji na innym sprawnym węźle. Przed kontynuowaniem sprawdź punkt końcowy aplikacji i zależną pamięć masową.
- Zatrzymaj stos klastra na aktualizowanym węźle. Instrukcje dotyczące aktualizacji ciągłej SUSE ostrzegają, że pozostawienie aktywnego menedżera zasobów klastra podczas aktualizacji oprogramowania może prowadzić do problemów, takich jak odgradzanie aktywnych węzłów. Udokumentowane polecenie na poziomie węzła to
crm cluster stop:
- Uruchom migrację pakietu Service Pack SLES. Na zarejestrowanym hoście niezarządzanym przez SUSE Manager użyj
sudo zypper migration. Przejrzyj proponowane zmiany docelowe i repozytorium SP6. Przed potwierdzeniem przeczytaj proponowane działania dotyczące pakietów, zwłaszcza pakietów do usunięcia lub obniżenia wersji. Oficjalne instrukcje migracji online SLES opisują tę ścieżkę wiersza poleceń.
- Zrestartuj i zweryfikuj węzeł. Po zakończeniu migracji uruchom ponownie hosta zgodnie z instrukcjami SUSE. Sprawdź, czy uruchamia system SLES 15 SP6, czy wymagane produkty są zarejestrowane, czy repozytoria są zgodne z docelowym pakietem Service Pack i czy na węźle nie występują żadne krytyczne błędy systemowe.
- Zwróć węzeł do klastra. Uruchom stos klastra, korzystając z zatwierdzonej procedury; przewodnik SLE HA pokazuje
crm cluster start: Sprawdź crm statusHawk2 i upewnij się, że węzeł łączy się ponownie bez awarii zasobów.
- Powtórz dopiero po ustabilizowaniu klastra. Przenieś obciążenie kolejnego węzła, wyłącz go z klastra, przeprowadź migrację, zrestartuj, zweryfikuj i ponownie dołącz do niego. Nie rozpoczynaj pracy nad kolejnym węzłem, gdy pozostały klaster jest zdegradowany lub wykonuje więcej zadań, niż jest w stanie bezpiecznie obsłużyć.
Firma SUSE twierdzi, że węzły klastra w wersji mieszanej są obsługiwane tylko tymczasowo podczas aktualizacji ciągłej i że aktualizacja powinna zostać ukończona w ciągu jednego tygodnia. Zaplanuj krótką, kontrolowaną sekwencję, zamiast pozostawiać klaster w wersji mieszanej na czas nieokreślony. Na koniec upewnij się, że wszystkie węzły korzystają z SP6, sprawdź stan klastra i aplikacji oraz przejrzyj dzienniki i rejestrację w repozytorium.
Typowe problemy i co z nimi zrobić
- Brak celu migracji do SP6: sprawdź rejestrację, aktywne repozytoria oraz czy każdy zainstalowany moduł lub rozszerzenie ma obsługiwany cel migracji do SP6. Przed rozpoczęciem rozwiąż problemy z repozytoriami lub uprawnieniami.
- Solver proponuje nieoczekiwane usunięcia: zatrzymaj i sprawdź pochodzenie pakietów, repozytoria firm trzecich i zależności. SUSE zaznacza, że przestarzałe repozytoria lokalne lub DVD powinny zostać wyłączone na czas migracji. Nie akceptuj planu pakietów, którego nie potrafisz wyjaśnić.
- Zaktualizowany węzeł nie dołączy ponownie: przed ponowną próbą utrzymuj aplikację na zdrowych węzłach, sprawdź logi klastra i systemu oraz zweryfikuj sieć węzła, rejestrację produktu, konfigurację repozytorium i pakiety SLE HA.
- Usługa jest dostępna, ale użytkownicy zgłaszają błędy: testy transakcji aplikacji, a nie tylko dostępności hosta. Sprawdź połączenia z bazą danych, współdzieloną pamięć masową, uwierzytelnianie, zaplanowane zadania i wszelkie kontrole kondycji modułu równoważenia obciążenia.
- System jednoserwerowy musi pozostać online: nie ma procedury migracji pakietu Service Pack SLES, która pozwoliłaby uniknąć restartu na tym samym hoście. Dodaj drugą instancję aplikacji lub zaplanuj okres konserwacji.
Jak ocenić, czy udało się uniknąć przestoju
Zdefiniuj mierzalny warunek powodzenia przed wprowadzeniem zmiany. Na przykład: zewnętrzna kontrola kondycji usługi przebiega pomyślnie przez cały okres konserwacji każdego węzła, wskaźniki błędów utrzymują się w uzgodnionym progu, a reprezentatywna transakcja użytkownika kończy się powodzeniem, podczas gdy jeden węzeł jest niedostępny. Rejestruj wszelkie przerwy w działaniu, przerwane sesje, zadania w kolejce lub obniżoną wydajność. Jeśli punkt końcowy działał, ale kluczowy przepływ pracy nie powiódł się, migracja nie osiągnęła celu na poziomie usługi.
Aktualizacja ciągła może zapewnić dostępność odpowiednio zaprojektowanej usługi podczas restartu poszczególnych serwerów. Nie gwarantuje ona jednak nieprzerwanych sesji, nie kompensuje niewystarczającej pojemności klastra ani nie eliminuje restartu dla każdego migrowanego hosta. W przypadku wdrożeń jednowęzłowych, aplikacji stanowych bez przetestowanej replikacji lub klastrów z nieobsługiwanymi rozszerzeniami, należy skorzystać z zaplanowanego okna konserwacji lub zbudować i zweryfikować środowisko zastępcze przed przeniesieniem ruchu produkcyjnego.
Oficjalne referencje