Informacje o aktualizacjach w powietrzu

Aktualizacje są ważną częścią modelu zabezpieczeń Azure Sphere, ponieważ są one ucieleśnieniem własności bezpieczeństwa odnawialnego. Regularne aktualizowanie ułatwia zachowanie zgodności urządzeń z 7 właściwościami . Urządzenia Azure Sphere sprawdzają dostępność aktualizacji po pierwszym nawiązaniu połączenia z Internetem po włączeniu lub naciśnięciu przycisku Resetuj. Następnie testy odbywają się w regularnych interwałach (obecnie 20 godzin).

Istnieją trzy typy aktualizacji: aktualizacje wstępne, aktualizacje systemu operacyjnego i aktualizacje wdrożeniowe. Wstępnie wymagane aktualizacje są używane w celu zapewnienia, że składniki, na których opiera się sam proces aktualizacji — obecnie magazyn zaufanych kluczy (TKS) i magazyn certyfikatów — są aktualne. System TKS służy do uwierzytelniania obrazów do pobrania i zainstalowania, a magazyn certyfikatów sprawdza poprawność połączeń internetowych. Aktualizacja systemu operacyjnego jest przeznaczona dla oprogramowania dostarczonego przez firmę Microsoft na urządzeniu, w tym do normalnego systemu operacyjnego, w jakim działają aplikacje, ale także oprogramowania układowego niższego poziomu, takiego jak podsystem Pluton i Monitor zabezpieczeń. Aktualizacje wdrożeniowe są przeznaczone dla Twojego własnego oprogramowania — aplikacji o wysokim poziomie i czasie rzeczywistym oraz obrazów konfiguracji tablicy (jeśli istnieją). Wymagania wstępne i aktualizacje systemu operacyjnego są zarządzane przez usługę Azure Sphere. aktualizacje aplikacji są koordynowane przez usługę Azure Sphere na podstawie wdrożeń utworzonych przez Twoją organizację.

Aby dowolne urządzenie otrzymywało wymagane wstępnie lub aktualizacje systemu operacyjnego:

  • Musi być połączony z Internetem.
  • Wymagania sieciowe muszą być odpowiednio skonfigurowane.

Aby dowolne urządzenie zaktualizowało swoje obrazy konfiguracji aplikacji i tablicy:

We wszystkich urządzeniach w danej grupie urządzeń wdrożenia ukierunkowane na daną grupę urządzeń są uważane za źródło prawdy dotyczące obrazowania tych urządzeń. Wszystkie obrazy na urządzeniu, które nie istnieją we wdrożeniu, zostaną usunięte z urządzenia. Jedynym wyjątkiem w systemie Azure Sphere OS 21.04 jest to, że obrazy konfiguracji tablicy nie są usuwane, chyba że zostaną zastąpione nowym obrazem konfiguracji tablicy.

Sprawdzanie aktualizacji urządzenia odbywa się w trzech fazach odpowiadających trzem typom aktualizacji:

  • W pierwszej fazie usługa Azure Sphere uzyskuje manifest zawierający listę bieżących wersji magazynu certyfikatów i TKS. Jeśli magazyn certyfikatów i usług TKS na urządzeniu są aktualne, aktualizacja będzie kontynuowana w drugiej fazie. W przeciwnym razie bieżące obrazy zostaną pobrane i zainstalowane.
  • W drugiej fazie usługa Azure Sphere uzyskuje manifest zawierający listę bieżących wersji różnych obrazów składników systemu operacyjnego. Jeśli obrazy na urządzeniu są nieaktualne, bieżące obrazy są pobierane wraz z obrazami wycofywania , których można użyć do przywrócenia urządzenia do znanego dobrego stanu, jeśli proces aktualizacji zakończy się niepowodzeniem. Obrazy systemu operacyjnego i wycofywania są pobierane i przechowywane w miejscu postoju na urządzeniu, a następnie są instalowane obrazy systemu operacyjnego i urządzenie jest ponownie uruchamiane.
  • W trzeciej fazie usługa Azure Sphere sprawdza dostępność aktualizacji wdrażania, jeśli grupa urządzeń je akceptuje. Podobnie jak w przypadku aktualizacji systemu operacyjnego, w razie potrzeby są również etapowe wycofywanie obrazów dla aplikacji. Obrazy aplikacji i wycofywania są pobierane i przechowywane w obszarze przemieszczania, a następnie są instalowane obrazy aplikacji.

Wycofywanie aktualizacji

Każda część procesu aktualizacji zawiera opcję wycofania. W wstępnej aktualizacji obraz wycofywania jest po prostu kopią zapasową stanu wstępnej aktualizacji. Jeśli aktualizacja nie powiedzie się, stan wstępnej aktualizacji zostanie przywrócony.

Wycofanie na dowolnym poziomie wymusza wycofanie na wszystkich wyższych poziomach: jeśli jakikolwiek obraz oprogramowania układowego nie zostanie uruchomiony, zarówno partycje oprogramowania układowego, jak i partycje aplikacji zostaną wycofane.

W przypadku aktualizacji systemu operacyjnego niepowodzenie weryfikacji podpisu lub trudności w czasie wykonywania mogą spowodować wycofanie. W przypadku niepowodzenia weryfikacji podpisu podejmuje się próbę poprawienia obrazu; Jeśli to się nie powiedzie, zostanie wyzwolone pełne wycofanie. W przypadku pełnego wycofywania są instalowane etapowe obrazy wycofywania zarówno dla systemu operacyjnego, jak i aplikacji.

Aktualizacje systemu operacyjnego i wdrożenia mają niezależne cykle udostępniania, dlatego istnieje możliwość wystąpienia wielu wdrożeń między aktualizacjami systemu operacyjnego. W takim przypadku należy pamiętać, że cele wycofywania wdrożenia nie są najnowszym wdrożeniem, lecz wdrożeniem w czasie ostatniej aktualizacji systemu operacyjnego. Dzięki temu system operacyjny i aplikacja współdziałają ze sobą w stanie przywracania.

Przerwane aktualizacje

Jeśli aktualizacja zostanie przerwana, na przykład przez awarię zasilania lub utratę łączności, istnieją cztery możliwe scenariusze dla każdego typu aktualizacji:

  • Jeśli pomyślnie pobrano i nie zainstalowano pełnego zestawu obrazów, instalacja zostanie ukończona po przywróceniu zasilania.
  • Jeśli niektóre obrazy, ale nie wszystkie, zostały pobrane i etapowe, aktualizacja będzie nadal pobierać brakujące obrazy, a następnie przejść do instalacji.
  • Jeśli aktualizacja zostanie przerwana podczas instalacji po zakończeniu pobierania, instalacja zostanie ponownie uruchomiona podczas rozruchu.
  • Jeśli żaden obraz nie został całkowicie pobrany, proces aktualizacji rozpocznie się od nowa po przywróceniu zasilania, ponieważ nie będzie nic gotowego do zainstalowania.

Aktualizacje w scenariuszach wyłączania zasilania

Usługa Azure Sphere obsługuje scenariusze niskiego poboru energii, które umożliwiają dłuższe wyłączanie urządzeń w celu oszczędzania czasu pracy baterii. W takich scenariuszach ważne jest, aby urządzenie mogło okresowo sprawdzać dostępność aktualizacji. Przykładowa aplikacja Power Down pokazuje, jak prawidłowo zmniejszyć zużycie energii, zapewniając jednocześnie, że urządzenie będzie okresowo w stanie aktywności, aby sprawdzić dostępność aktualizacji systemu operacyjnego i aplikacji.

Odroczone aktualizacje

Aby zapobiec przerywaniu krytycznych zadań przez aktualizacje, aplikacje wysokiego poziomu mogą uwzględniać odroczoną aktualizację. Ta funkcja umożliwia aplikacji wykonywanie krytycznych zadań, a następnie przygotowywanie się do zamknięcia w celu umożliwienia kontynuowania aktualizacji. W przykładzie DeferredUpdate pokazano, jak zaimplementować taką odroczoną aktualizację.