Aktualizacja wersji Mediation Controller w trakcie pracy¶
Ważne
Dokumentacja aktualizacji wersji Mediation Controller w trakcie pracy jest przeznaczona dla każdego Mediation Controller działającego na Debianie 11. Wersję Debiana można sprawdzić następującym poleceniem (do wykonania przez SSH lub dostęp konsolowy):
1 | |
Informacja
Przypominamy, że przejście na root na maszynach z Debianem trzeba wykonać następującym poleceniem:
1 | |
Planowanie i przygotowanie¶
Otwarcie ruchu sieciowego¶
Przy zmianie wersji produktu wiele pakietów musi zostać pobranych z repozytoriów Debiana z powodu przejścia z wersji Debian 11 na 12. Dostęp przez TCP 80 do security.debian.org i ftp.fr.debian.org musi być otwarty.
Aby przetestować otwarcie ruchu na maszynie, można uruchomić synchronizację repozytoriów Debiana. Jeśli wyświetlą się komunikaty o błędach dotyczące dostępu do repozytoriów Debiana, oznacza to, że ruch sieciowy nie jest otwarty, prawdopodobnie blokowany przez firewall firmowy. Synchronizację repozytoriów można uruchomić następującym poleceniem:
1 | |
Pobranie mirrora i niezbędnych narzędzi¶
Mirror CyberElements Cleanroom 4.6 można pobrać z tego odnośnika (wymaga utworzenia konta klienta): Systancia Marketplace
Poza mirrorem do procesu aktualizacji wersji będą potrzebne narzędzia podmiotów trzecich:
- Klient SSH (w systemie Windows można użyć narzędzia PuTTY)
- Klient SCP (w systemie Windows można użyć narzędzi WinSCP lub FileZilla)
Instalacja i użycie narzędzia screen¶
Narzędzie screen umożliwia otwarcie kilku terminali powłoki w jednej konsoli. Użycie tego narzędzia jest niezbędne do aktualizacji do wersji CyberElements Bastion, aby usunąć zależność od stabilności łączności sieciowej. Bez narzędzia screen instalacja zostałaby bowiem przerwana w razie zerwania łączności SSH z serwerami CyberElements Bastion.
Dzięki użyciu narzędzia screen przy ponownym połączeniu z konsolą powłoki urządzeń CyberElements Bastion można odzyskać terminal, w którym wykonywany był proces aktualizacji.
Pakiet screen należy zainstalować za pomocą następującego wiersza poleceń:
1 | |
Aby otworzyć nowy terminal screen, należy wykonać następujące polecenie:
1 | |
Zastąp <ID> nazwą identyfikującą sesję.
Przykład
Przy zmianach wersji CyberElements identyfikator cye-upgrade jest łatwo rozpoznawalny. Polecenie wyglądałoby więc następująco:
1 | |
Aby odzyskać terminal otwarty przez screen, wystarczy wykonać następujące polecenie:
1 | |
Zastąp <ID> nazwą zdefiniowaną przy otwieraniu sesji.
Przykład
Terminal otwarty wcześniej z identyfikatorem cye-upgrade można odzyskać następującym poleceniem:
1 | |
Aby zamknąć terminal po zakończeniu aktualizacji wersji, wpisz w terminalu polecenie exit lub skrót klawiaturowy ctrl+d.
Wrócisz w ten sposób do konsoli. Komunikat „screen is terminating” potwierdza, że terminal został zamknięty.
Zwiększenie miejsca na dysku dla wirtualnych appliance¶
W wirtualnych appliance Systancia Cleanroom 4.4 lub 4.5 do partycji /usr trzeba dodać 2 GB miejsca na dysku. Ta operacja jest konieczna, aby mieć wystarczająco miejsca na dysku na aktualizację wersji i uniknąć zablokowania w trakcie operacji.
Przy łączeniu się z Mediation Controller, czy to przez SSH, czy w trybie konsolowym, komunikat powitalny informuje, że jesteś połączony z maszyną Systancia. Dodatkowy wiersz wskazuje wersję appliance.
Przykład
Wirtualna appliance Mediation Controller w wersji 4.5 da następujący wynik:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Jeśli maszyna nie jest wirtualną appliance dostarczoną w wersji 4.4 lub 4.5, ten rozdział można pominąć i przejść do aktualizacji wersji.
Kopia zapasowa zdecydowanie zalecana
Poniższe kroki zmieniają partycjonowanie dysku Mediation Controller. Jeśli wprowadzono zmiany ręczne, poniższe instrukcje mogą nie być odpowiednie, co spowoduje zablokowanie maszyny.
Przed dalszymi działaniami wykonaj kopię zapasową maszyny lub w razie potrzeby zduplikuj maszynę wirtualną. Snapshotów nie można użyć, ponieważ — szczególnie w VMware — blokują one możliwość zwiększenia dysku.
Na poziomie hipernadzorcy zwiększ miejsce na dysku maszyny wirtualnej o dodatkowe 2 GB. Jeśli zwiększenie dysku nie jest możliwe, sprawdź, czy nie ma snapshotów, a jeśli ich nie ma, wyłącz maszynę wirtualną, o ile zwiększanie w trakcie pracy nie jest obsługiwane.
Po zwiększeniu miejsca na dysku na poziomie maszyny wirtualnej konieczne są następujące polecenia, do wykonania jako root, aby zwiększyć partycję /usr:
1 2 3 4 5 6 | |
Aktualizacja wersji¶
Aktualizacja pakietów Debiana¶
Ponieważ aktualizacja CyberElements Bastion wymaga aktualizacji systemu Debian, zaleca się prawidłowe zaktualizowanie pakietów Debian 11, zanim nastąpi przejście na Debian 12. Aby to zrobić, wykonaj poniższe polecenia jako root (aktualizacja systemu, a następnie usunięcie niepotrzebnych pakietów):
1 2 3 | |
Mogą pojawić się komunikaty proszące o zmianę konfiguracji kilku plików konfiguracyjnych. W takich przypadkach wybierz opcję zachowania obecnej konfiguracji.
Przygotowanie sterowników Microsoft SQL Server¶
Dodatkowe kroki są wymagane, jeśli zainstalowane są sterowniki Microsoft SQL Server (tak jest w przypadku wirtualnych appliance dostarczanych przez Systancia).
Aby sprawdzić, czy są obecne na serwerze, można wykonać jako root następujące polecenie:
1 | |
Jeśli nie pojawi się żadna odpowiedź, sterowniki nie są zainstalowane i możesz przejść do kroku przygotowania mirroru.
W przeciwnym razie, jeśli sterowniki są zainstalowane, powinny zostać wypisane dwa pakiety: msodbcsql17 i mssql-tools. Postępuj według instrukcji tej sekcji.
Przykłady
Serwer, na którym sterowniki nie są zainstalowane, dałby dla poprzedniego polecenia następujący wynik:
1 | |
Serwer, na którym sterowniki są zainstalowane, da wynik podobny do tego (wersje pakietów mogą się różnić):
1 2 3 | |
Następujące polecenia są konieczne, aby zainstalować konkretną wersję pakietów i zapewnić powodzenie aktualizacji wersji:
1 | |
Skonfiguruj repozytorium Microsoft odpowiednie dla Debiana 12, aby przygotować aktualizację wersji:
1 | |
Przygotowanie mirrora CyberElements Cleanroom 4.6¶
Mirror pobrany w fazie przygotowania (plik z rozszerzeniem tgz) musi zostać przesłany na serwer przez SCP. Należy go umieścić w katalogu /tmp/.
Następnie przygotuj mirror, wykonując następujące polecenia jako root (pozostałe pliki po poprzedniej aktualizacji wersji zostaną usunięte):
1 2 3 | |
Konfiguracja APT¶
Menedżer pakietów APT jest skonfigurowany tak, aby pobierać pakiety Debian 11; trzeba go skonfigurować ponownie, aby pobierał pakiety Debian 12. Konieczna jest też aktualizacja odniesienia do lokalnego mirrora CyberElements Bastion. Aby to zrobić, wykonaj poniższe polecenia jako root:
1 2 | |
Poza skonfigurowaniem nowych repozytoriów zdecydowanie zalecamy zastosowanie poniższego ustawienia, aby polecić APT, by nie instalował zalecanych zależności, które nie są bezwzględnie konieczne, i tym samym zmniejszyć liczbę instalowanych komponentów. Poniższe polecenie stosuje to ustawienie jakoroot:
1 | |
Na koniec konieczne jest zaktualizowanie listy pakietów w repozytoriach następującym poleceniem:
1 | |
Uruchomienie aktualizacji wersji¶
Połącz się z serwerem Mediation Controller przez SSH, przejdź na root, a następnie otwórz sesję screen jak wskazano powyżej.
Zacznij od zaktualizowania pewnych określonych pakietów, aby aktualizacja wersji mogła zostać przeprowadzona. Przy wykonaniu pierwszego polecenia należy się spodziewać komunikatu o błędzie, ale drugie polecenie ten błąd naprawi:
1 2 | |
Przy aktualizacji wersji Mediation Controller z Debiana 11 do Debiana 12 pakiet collectd zostaje zaktualizowany i przestaje być zgodny z plikiem konfiguracyjnym generowanym przez CyberElements Bastion (/etc/collectd/collectd.conf). Może to spowodować błąd w trakcie aktualizacji.
Aby tego uniknąć, wyłącz collectd:
1 2 | |
Następnie aktualizację można uruchomić następującym poleceniem:
1 | |
W trakcie aktualizacji zostanie Ci zadanych kilka pytań, czy zachować pliki konfiguracyjne i zaktualizować je zgodnie ze standardową konfiguracją Debiana 12, czy zachować obecną konfigurację specyficzną. Oto nasze zalecenia dla większości plików, na jakie możesz natrafić:
| Plik konfiguracyjny | Zalecane działanie |
|---|---|
| /etc/issue | Zachowaj, odpowiedz N |
| /etc/issue.net | Zachowaj, odpowiedz N |
| /etc/security/limits.conf | Zachowaj, odpowiedz N |
| /etc/login.defs | Zachowaj, odpowiedz N |
| /etc/shibboleth/shibboleth2.xml | Zachowaj, odpowiedz N |
| /etc/shibboleth/shibd.logger | Zastosuj zmiany, odpowiedz Y |
| /etc/default/ntpsec | Zastosuj zmiany, odpowiedz Y |
| /etc/snmp/snmpd.conf | Zastosuj zmiany, odpowiedz Y |
| /etc/logrotate.d/IPdivaServer | Zastosuj zmiany, odpowiedz Y |
| /etc/ssh/sshd_config | Zachowaj, odpowiedz Keep the local version currently installed |
| /etc/ssh/ssh_config | Zastosuj zmiany, odpowiedz Y |
| /etc/apache2/ports.conf | Zachowaj, odpowiedz N |
| /etc/init.d/apache2 | Zachowaj, odpowiedz N |
| /etc/modsecurity/modsecurity.conf-recommended | Zastosuj zmiany, odpowiedz Y |
| /etc/ipdiva/httpd/commonParameters.conf | Zastosuj zmiany, odpowiedz Y |
| /etc/ipdiva/care/djangosettings.ini | Zastosuj zmiany, odpowiedz Y |
| /etc/crontab | Zastosuj zmiany, odpowiedz Y |
| /etc/openssl.cnf | Zastosuj zmiany, odpowiedz Y |
| /etc/audit/rules.d/audit.rules | Zachowaj, odpowiedz N |
| /etc/pam.d/su | Zachowaj, odpowiedz N |
| /etc/sysctl.conf | Zachowaj, odpowiedz N |
Zaakceptuj komunikat konfiguracyjny pakietu glibc: 
Zaakceptuj automatyczne ponowne uruchomienie usług: 
Po zakończeniu aktualizacji wykonaj następujące polecenia, aby ponownie włączyć collectd, usunąć niepotrzebne pakiety i ponownie uruchomić maszynę:
1 2 3 4 | |
Działania właściwe dla serwerów Mediation Controller w architekturze Cluster¶
Na serwerze Mediation Controller SLAVE wykonaj następujące polecenia, aby ponownie zsynchronizować sekret współdzielony między Mediation Controller MASTER i SLAVE:
1 2 | |
Aktualizacja wersji instancji bazy danych PostgreSQL¶
Na serwerze Mediation Controller zaktualizuj instancję bazy danych PostgreSQL z wersji 13 do wersji 15. W tym celu wykonaj poniższe instrukcje z odpowiednimi uprawnieniami root.
Przed migracją sprawdź stan instancji PostgreSQL:
1 | |
Wykonaj następujące polecenia, aby zaktualizować instancję bazy danych do PostgreSQL w wersji 15:
1 2 3 4 | |
Sprawdź, czy instancja bazy danych została poprawnie zaktualizowana. Powinny pojawić się dwie instancje: jedna w wersji 13 i druga w wersji 15, przy czym ta druga jest jedyną aktywną. Sprawdzenie wykonuje się następującym poleceniem:
1 | |
Jeśli aktualizacja wersji się udała, instancję bazy danych w wersji 13 można usunąć:
1 | |
Można rozpocząć usuwanie pakietów PostgreSQL w wersji 13:
1 | |
Migracja bazy danych CyberElements Bastion¶
Konfiguracja produktu jest przechowywana w bazie danych, którą trzeba zmigrować, aby mogła zawierać konfiguracje zmian wprowadzonych przez nową wersję. Operację wykonuje się na Mediation Controller jako root.
Architektura Cluster
W przypadku architektury Cluster operację trzeba wykonać tylko z jednego Mediation Controller, niezależnie od tego, który to będzie.
Trzeba również wykonać następujące polecenie:
1 | |
Migrację danych uruchamia się poleceniem odpowiadającym temu:
1 | |
Gdzie <org_clr> trzeba zamienić na nazwę migrowanej organizacji. Zwróć uwagę, że jeśli Mediation Controller ma wiele organizacji (multi-tenant), będziesz musiał wykonać polecenie tyle razy, ile jest organizacji do migracji.
Przykład
Dla platformy CyberElements Bastion, która ma organizacje systancia i systancia-test, będziesz musiał wykonać następujące polecenia:
1 2 | |
Po migracji bazy danych trzeba ponownie uruchomić usługę Apache2:
1 | |
Przywracanie konfiguracji¶
Niektóre konfiguracje zostały nadpisane w trakcie aktualizacji wersji i trzeba je przywrócić.
Plik commonParameters.conf:
Przenieś znaczniki <Location> dotyczące serwerów HTML5 Gateway, znajdujące się zwykle na końcu pliku, z pliku /etc/ipdiva/httpd/commonParameters.conf.dpkg-old do /etc/ipdiva/httpd/commonParameters.extra.conf (utwórz ten plik, jeśli nie istnieje). Jeśli nie ma żadnego znacznika <Location>, można skopiować poniższe przykłady.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Plik djangosettings.ini:
Skopiuj informację z wiersza 2 „allowed_hosts” pliku /etc/ipdiva/care/djangosettings.ini.dpkg-old do pliku /etc/ipdiva/care/djangosettings.ini. Można to zautomatyzować następującym poleceniem jako root:
1 | |
Zastosowanie przywróceń:
Aby zastosować przywrócenia, konieczne jest ponowne uruchomienie usługi Apache2 jako root:
1 | |
Walidacja¶
Po zakończeniu aktualizacji wersji trzeba zwalidować infrastrukturę CyberElements Bastion, aby upewnić się, że działa poprawnie, przed powrotem do produkcji. Jeśli walidacja się nie uda, rozważ wycofanie zmian przez przywrócenie kopii zapasowych serwerów CyberElements Bastion.
Przejdź do interfejsu administratora organizacji, a następnie do menu „About” na pasku sterowania, aby sprawdzić, czy wersja Mediation Controller została poprawnie zaktualizowana do 4.6.
Można rozpocząć pierwsze testy działania platformy, zalecamy jednak używanie wersji 4.6 Edge Gateway, aby zapewnić optymalną wydajność aplikacji CyberElements Bastion.