Sdílet prostřednictvím


Použití aplikace Orchestrace oprav

Důležité

Od 30. dubna 2019 se už nepodporuje aplikace orchestrace oprav verze 1.2.* . Nezapomeňte upgradovat na nejnovější verzi.

Aplikace orchestrace oprav oprav (POA) je obálka kolem služby Azure Service Fabric Repair Manager, která umožňuje plánování oprav operačního systému založeného na konfiguraci pro clustery hostované mimo Azure. Pro clustery hostované mimo Azure se nevyžaduje poa, ale plánování instalace oprav podle aktualizační domény se vyžaduje k opravě hostitelů clusteru Service Fabric bez výpadků.

POA je aplikace Service Fabric, která automatizuje opravy operačního systému v clusteru Service Fabric bez výpadků.

PoA poskytuje následující funkce:

  • Automatická instalace aktualizace operačního systému. Aktualizace operačního systému se automaticky stáhnou a nainstalují. Uzly clusteru se podle potřeby restartují bez výpadků clusteru.

  • Integrace oprav a stavu pracujících s clustery I když poa používá aktualizace, monitoruje stav uzlů clusteru. Uzly clusteru se aktualizují najednou po jednom uzlu nebo v jedné aktualizační doméně. Pokud kvůli procesu oprav dojde ke snížení stavu clusteru, oprava se zastaví, aby se zabránilo zhoršení problému.

Interní podrobnosti o poa

PoA se skládá z následujících dílčích součástí:

  • Služba koordinátoru: Za tuto stavovou službu zodpovídá:

    • Koordinace úlohy služba Windows Update v celém clusteru
    • Uložení výsledku dokončených operací služba Windows Update
  • Služba agenta uzlu: Tato bezstavová služba běží na všech uzlech clusteru Service Fabric. Služba zodpovídá za:

    • Spuštění agenta uzlu NTService.
    • Monitorování služby NTService agenta uzlu
  • Node Agent NTService: Tato služba systém Windows NT běží na vyšší úrovni oprávnění (SYSTEM). Naproti tomu služba agenta uzlu a koordinační služba běží na nižší úrovni oprávnění (NETWORK SERVICE). Služba zodpovídá za provádění následujících služba Windows Update úloh na všech uzlech clusteru:

    • Zakázání automatických aktualizací Windows na uzlu
    • Stahování a instalace aktualizací Windows podle zásad, které uživatel zadal.
    • Restartování počítače po instalaci aktualizací Windows
    • Nahrání výsledků aktualizací Systému Windows do koordinační služby
    • Hlášení zpráv o stavu, pokud operace selhala po vyčerpání všech opakování.

Poznámka:

PoA používá službu Service Fabric Repair Manager k zakázání nebo povolení uzlu a provádění kontrol stavu. Úloha opravy vytvořená nástrojem POA sleduje průběh služba Windows Update jednotlivých uzlů.

Požadavky

Poznámka:

Požadovaná minimální verze rozhraní .NET Framework je 4.6.

Povolte službu Správce oprav (pokud ještě není spuštěná)

PoA vyžaduje, aby byla v clusteru povolená služba Správce oprav.

Clustery Azure

Clustery Azure na úrovni silver durability mají ve výchozím nastavení povolenou službu Repair Manager. Clustery Azure ve zlaté úrovni stálosti můžou nebo nemusí mít povolenou službu Správce oprav v závislosti na tom, kdy byly tyto clustery vytvořeny. Clustery Azure v bronzové úrovni stálosti ve výchozím nastavení nemají povolenou službu Správce oprav. Pokud je služba už povolená, můžete ji zobrazit v části systémových služeb v Service Fabric Exploreru.

Azure Portal

Správce oprav můžete povolit na webu Azure Portal při nastavování clusteru. Při konfiguraci clusteru vyberte možnost Zahrnout správce oprav v části Funkce doplňku.

Obrázek povolení Správce oprav na webu Azure Portal

Model nasazení Azure Resource Manageru

Případně můžete pomocí modelu nasazení Azure Resource Manager povolit službu Repair Manager v nových a existujících clusterech Service Fabric. Získejte šablonu pro cluster, který chcete nasadit. Můžete použít ukázkové šablony nebo vytvořit vlastní šablonu modelu nasazení Azure Resource Manager.

Pokud chcete povolit službu Repair Manager pomocí šablony modelu nasazení Azure Resource Manager, postupujte takto:

  1. Zkontrolujte, jestli apiVersion je pro prostředek Microsoft.ServiceFabric/clusters nastavená verze 2017-07-01-preview. Pokud se liší, musíte aktualizovat apiVersion na verzi 2017-07-01-preview nebo novější:

    {
        "apiVersion": "2017-07-01-preview",
        "type": "Microsoft.ServiceFabric/clusters",
        "name": "[parameters('clusterName')]",
        "location": "[parameters('clusterLocation')]",
        ...
    }
    
  2. Povolte službu Správce oprav tak, že za fabricSettings oddíl přidáte následující addonFeatures část:

    "fabricSettings": [
        ...      
    ],
    "addonFeatures": [
        "RepairManager"
    ],
    
  3. Po aktualizaci šablony clusteru s těmito změnami je použijte a nechte aktualizaci dokončit. Teď můžete vidět službu Správce oprav spuštěnou v clusteru. V části systémových služeb v Service Fabric Exploreru se nazývá fabric:/System/RepairManagerService .

Samostatné místní clustery

Pokud chcete povolit službu Správce oprav v novém nebo existujícím clusteru Service Fabric, můžete použít nastavení konfigurace pro samostatný cluster Windows.

Povolení služby Správce oprav:

  1. Zkontrolujte, jestli apiVersion je v obecných konfiguracích clusteru nastavená hodnota 04–2017 nebo novější, jak je znázorněno tady:

    {
        "name": "SampleCluster",
        "clusterConfigurationVersion": "1.0.0",
        "apiVersion": "04-2017",
        ...
    }
    
  2. Povolte službu Správce oprav tak, že za fabricSettings oddíl přidáte následující addonFeatures část, jak je znázorněno tady:

    "fabricSettings": [
        ...      
    ],
    "addonFeatures": [
        "RepairManager"
    ],
    
  3. Aktualizujte manifest clusteru pomocí těchto změn pomocí aktualizovaného manifestu clusteru, vytvořte nový cluster nebo upgradujte konfiguraci clusteru.

    Po spuštění clusteru s aktualizovaným manifestem clusteru se zobrazí služba Správce oprav spuštěná v clusteru. Označuje se jako fabric:/System/RepairManagerService a je v části systémových služeb v Service Fabric Exploreru.

Konfigurace aktualizací Windows pro všechny uzly

Automatické aktualizace Windows můžou vést ke ztrátě dostupnosti, protože několik uzlů clusteru se může restartovat současně. PoA se ve výchozím nastavení pokusí zakázat automatické aktualizace Windows na každém uzlu clusteru. Pokud jsou ale nastavení spravovaná správcem nebo zásadami skupiny, doporučujeme nastavit zásadu služba Windows Update na "Oznámit před stažením".

Stažení balíčku aplikace

Pokud chcete stáhnout balíček aplikace, přejděte na stránku vydání aplikace Orchestraation Patch na GitHubu.

Konfigurace chování poa

Chování poa můžete nakonfigurovat tak, aby vyhovovalo vašim potřebám. Přepište výchozí hodnoty předáním parametru aplikace při vytváření nebo aktualizaci aplikace. Parametry aplikace můžete zadat zadáním ApplicationParameter rutin Start-ServiceFabricApplicationUpgrade New-ServiceFabricApplication .

Parametr Type Detaily
MaxResultsToCache Dlouhé celé číslo Maximální počet služba Windows Update výsledků, které by se měly ukládat do mezipaměti.

Výchozí hodnota je 3000 za předpokladu, že:
  – Počet uzlů je 20.
  – Počet aktualizací uzlu za měsíc je 5.
  – Počet výsledků na operaci může být 10.
  - Výsledky za poslední tři měsíce by měly být uloženy.
TaskApprovalPolicy Výčet
{ NodeWise, UpgradeDomainWise }
TaskApprovalPolicy označuje zásadu, kterou má koordinátorová služba používat k instalaci aktualizací Windows napříč uzly clusteru Service Fabric.

Povolené hodnoty jsou:
NodeWise: Aktualizace Windows se instalují po jednom uzlu.
UpgradeDomainWise: Aktualizace systému Windows se instalují po jedné aktualizační doméně. (Na maximum můžou všechny uzly patřící aktualizační doméně přejít na aktualizaci Windows.)

Pokud chcete pomoct s rozhodováním, které zásady jsou pro váš cluster nejvhodnější, přečtěte si část Nejčastější dotazy .
LogsDiskQuotaInMB Dlouhý
(Výchozí: 1024)
Maximální velikost protokolů aplikace orchestrace oprav v MB, které je možné uchovávat místně na uzlech.
WUQuery string
(Výchozí: IsInstalled=0)
Dotaz na získání aktualizací Windows Další informace najdete v tématu WuQuery.
InstallWindowsOSOnlyUpdates Logická hodnota
(výchozí hodnota: false)
Tento příznak použijte k řízení, které aktualizace se mají stáhnout a nainstalovat. Následující hodnoty jsou povolené.
true – Nainstaluje pouze aktualizace operačního systému Windows.
false – Nainstaluje všechny dostupné aktualizace na počítač.
WUOperationTimeOutInMinutes Int
(Výchozí: 90)
Určuje časový limit pro libovolnou operaci služba Windows Update (hledání nebo stažení nebo instalace). Pokud operace není dokončena v zadaném časovém limitu, je přerušena.
WURescheduleCount Int
(Výchozí: 5)
Maximální počet, kolikrát služba přeplánuje aktualizaci Systému Windows, pokud operace trvale selže.
WURescheduleTimeInMinutes Int
(Výchozí: 30)
Interval, ve kterém služba přeplánuje aktualizace Systému Windows, pokud selhání přetrvává.
WuFrequency Řetězec oddělený čárkami (výchozí hodnota: týdně, středa, 7:00:00) Frekvence instalace aktualizací Systému Windows. Formát a možné hodnoty:
– Měsíčně, DD, HH:MM:SS (například: Měsíční, 5, 12:22:32). Povolené hodnoty pro pole DD (den) jsou čísla od 1 do 28 a poslední.
- Týdně, Den, HH:MM:SS (příklad: Týdně, Úterý, 12:22:32)
- Denně, HH:MM:SS (například: Denně, 12:22:32)
- MonthlyByWeekAndDay, Week, Day, HH:MM:SS (příklad: MonthlyByWeekAndDay, 2, Friday, 21:00:00 označuje 9:00 UTC v pátek 2. týdne každého měsíce)
- Žádná indikuje, že by se neměly provádět aktualizace Windows.

Časy jsou ve standardu UTC.
AcceptWindowsUpdateEula Booleovský
(Výchozí hodnota: true)
Nastavením tohoto příznaku aplikace přijme licenční smlouvu s koncovým uživatelem pro služba Windows Update jménem vlastníka počítače.

Tip

Pokud chcete, aby se aktualizace Systému Windows stalo okamžitě, nastavte WUFrequency je vzhledem k času nasazení aplikace. Předpokládejme například, že máte testovací cluster s pěti uzly a plánujete nasadit aplikaci v přibližně 5:00 UTC. Pokud předpokládáte, že upgrade nebo nasazení aplikace trvá maximálně 30 minut, nastavte wuFrequency na hodnotu Daily, 17:30:00.

Nasazení poa

  1. Dokončete všechny požadované kroky pro přípravu clusteru.

  2. Nasaďte poa stejně jako jakoukoli jinou aplikaci Service Fabric. Pokud ho chcete nasadit pomocí PowerShellu, přečtěte si téma Nasazení a odebrání aplikací pomocí PowerShellu.

  3. Pokud chcete aplikaci nakonfigurovat v době nasazení, předejte ApplicationParameter ji rutině New-ServiceFabricApplication . Pro usnadnění vašeho pohodlí jsme společně s aplikací poskytli skript Deploy.ps1. Použití skriptu:

    • Připojte se ke clusteru Service Fabric pomocí Connect-ServiceFabricCluster.
    • Spusťte skript PowerShellu Deploy.ps1 s odpovídající ApplicationParameter hodnotou.

Poznámka:

Ponechte skript a složku aplikace PatchOrchestrationApplication ve stejném adresáři.

Upgrade POA

Pokud chcete upgradovat verzi POA pomocí PowerShellu, postupujte podle pokynů v upgradu aplikace Service Fabric pomocí PowerShellu.

Odebrání poa

Pokud chcete aplikaci odebrat, postupujte podle pokynů v tématu Nasazení a odebrání aplikací pomocí PowerShellu.

Pro usnadnění vašeho pohodlí jsme společně s aplikací poskytli skript Undeploy.ps1. Použití skriptu:

  • Připojte se ke clusteru Service Fabric pomocí Connect-ServiceFabricCluster.
  • Spusťte skript PowerShellu Undeploy.ps1.

Poznámka:

Ponechte skript a složku aplikace PatchOrchestrationApplication ve stejném adresáři.

Zobrazení výsledků služba Windows Update

PoA zveřejňuje rozhraní REST API pro zobrazení historických výsledků uživatelům. Tady je příklad výsledku JSON:

[
  {
    "NodeName": "_stg1vm_1",
    "WindowsUpdateOperationResults": [
      {
        "OperationResult": 0,
        "NodeName": "_stg1vm_1",
        "OperationTime": "2019-05-13T08:44:56.4836889Z",
        "OperationStartTime": "2019-05-13T08:44:33.5285601Z",
        "UpdateDetails": [
          {
            "UpdateId": "7392acaf-6a85-427c-8a8d-058c25beb0d6",
            "Title": "Cumulative Security Update for Internet Explorer 11 for Windows Server 2012 R2 (KB3185319)",
            "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.",
            "ResultCode": 0,
            "HResult": 0
          }
        ],
        "OperationType": 1,
        "WindowsUpdateQuery": "IsInstalled=0",
        "WindowsUpdateFrequency": "Daily,10:00:00",
        "RebootRequired": false
      }
    ]
  },
  ...
]

Pole JSON jsou popsaná v následující tabulce:

Pole Hodnoty Detaily
OperationResult 0 – Úspěšné
1. Úspěch s chybami
2. Selhání
3 . Přerušeno
4 . Přerušeno s časovým limitem
Označuje výsledek celkové operace, která obvykle zahrnuje instalaci jedné nebo více aktualizací.
ResultCode Stejné jako OperationResult Toto pole označuje výsledek operace instalace pro jednotlivé aktualizace.
OperationType 1 . Instalace
0 – Vyhledávání a stahování
Ve výchozím nastavení je instalace jediným typem OperationType, který se zobrazuje ve výsledcích.
WindowsUpdateQuery Výchozí hodnota je IsInstalled=0. Dotaz služba Windows Update, který se použil k hledání aktualizací. Další informace najdete v tématu WuQuery.
RestartRequired true – bylo vyžadováno restartování
false – restartování se nepožadovalo
Určuje, jestli se k dokončení instalace aktualizací vyžadovalo restartování.
OperationStartTime DateTime Označuje čas, kdy byla spuštěna operace (Stažení/instalace).
Čas operace DateTime Označuje čas dokončení operace (Stažení/instalace).
Hodnota HResult 0 – úspěšné
jiné – selhání
Označuje důvod selhání aktualizace Systému Windows s id aktualizace "7392acaf-6a85-427c-8a8d-058c25beb0d6".

Pokud ještě není naplánovaná žádná aktualizace, je výsledek JSON prázdný.

Přihlaste se ke clusteru, abyste mohli dotazovat služba Windows Update výsledky. Zjistěte IP adresu repliky pro primární adresu koordinační služby a v prohlížeči otevřete následující adresu URL: http://< REPLICA-IP>:<ApplicationPort>/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.

Koncový bod REST pro koordinační službu má dynamický port. Pokud chcete zkontrolovat přesnou adresu URL, přečtěte si Service Fabric Explorer. Například výsledky jsou k dispozici na adrese http://10.0.0.7:20000/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.

Obrázek koncového bodu REST

Pokud je v clusteru povolený reverzní proxy server, můžete k adrese URL přistupovat i mimo cluster.

Koncový bod, který potřebujete použít, je http://< SERVERURL>:<REVERSEPROXYPORT>/PatchOrchestrationApplication/CoordinatorService/v1/GetWindowsUpdateResults.

Pokud chcete v clusteru povolit reverzní proxy server, postupujte podle pokynů v reverzním proxy serveru v Azure Service Fabric.

Upozorňující

Po nakonfigurování reverzního proxy serveru jsou všechny mikroslužby v clusteru, které zpřístupňují koncový bod HTTP, adresovatelné mimo cluster.

Události diagnostiky a stavu

Tato část popisuje, jak ladit nebo diagnostikovat problémy s aktualizacemi oprav prostřednictvím poA v clusterech Service Fabric.

Poznámka:

Pokud chcete získat řadu následujících vyvolaných vylepšení samoobslužné diagnostiky, měli byste mít nainstalovanou verzi POA 1.4.0 nebo novější.

Agent uzlu NTService vytvoří úlohy opravy pro instalaci aktualizací na uzly. Každý úkol pak připraví služba koordinátora podle zásad schvalování úkolů. Připravené úkoly jsou nakonec schváleny Správcem oprav, který neschvaluje žádnou úlohu, pokud je cluster v pořádku.

Abychom vám pomohli pochopit, jak aktualizace poběží na uzlu, pojďme krok za krokem:

  1. NodeAgentNTService, spuštěný na každém uzlu, hledá dostupné aktualizace Windows v naplánovaném čase. Pokud jsou k dispozici aktualizace, stáhne je na uzlu.

  2. Po stažení aktualizací vytvoří agent node NTService odpovídající úlohu opravy uzlu s názvem POS___<unique_id>. Tyto úlohy opravy můžete zobrazit pomocí rutiny Get-ServiceFabricRepairTask nebo pomocí SFX v části podrobností uzlu. Po vytvoření úlohy opravy se rychle přesune do deklarovaného stavu.

  3. Služba koordinátora pravidelně hledá úlohy opravy v deklarovaném stavu a pak je aktualizuje na Příprava stavu na základě TaskApprovalPolicy. Pokud je TaskApprovalPolicy nakonfigurovaný tak, aby byl NodeWise, je úloha opravy odpovídající uzlu připravena pouze v případě, že žádná jiná úloha opravy není aktuálně ve stavu Příprava, Schváleno, Provádění nebo Obnovení .

    Podobně v případě UpgradeWise TaskApprovalPolicy existují úlohy v předchozích stavech pouze pro uzly, které patří do stejné aktualizační domény. Po přesunutí úlohy opravy do stavu Příprava se odpovídající uzel Service Fabric zakáže se záměrem Restartovat.

    PoA verze 1.4.0 a novější post události s ClusterPatchingStatus vlastnost v CoordinatorService zobrazující uzly, které jsou opraveny. Aktualizace se instalují na _poanode_0, jak je znázorněno na následujícím obrázku:

    Obrázek stavu oprav clusteru

  4. Po zakázání uzlu se úloha opravy přesune do stavu Provádění .

    Poznámka:

    Uzel, který je zablokovaný ve stavu Zakázáno , může blokovat novou úlohu opravy, která zastaví operaci oprav v clusteru.

  5. Když je úloha opravy ve stavu Provádění , zahájí se instalace opravy na daném uzlu. Po instalaci opravy se uzel může nebo nemusí restartovat v závislosti na opravě. Dále se úloha opravy přesune do stavu obnovení , který uzel znovu umožňuje. Úloha opravy se pak označí jako dokončená.

    Ve verzích POA 1.4.0 a novějších najdete stav aktualizace zobrazením událostí stavu ve službě NodeAgentService s vlastností WUOperationStatus-NodeName<>. Zvýrazněné části na následujících obrázcích zobrazují stav aktualizací Windows na uzlech poanode_0 a poanode_2:

    Snímek obrazovky znázorňující okno konzoly se stavem operace služba Windows Update se zvýrazněnou poanode_0

    Snímek obrazovky znázorňující okno konzoly se stavem operace služba Windows Update se zvýrazněnou poanode_1

    Podrobnosti můžete získat také pomocí PowerShellu. Provedete to tak, že se připojíte ke clusteru a načtete stav úlohy opravy pomocí get-ServiceFabricRepairTask.

    V následujícím příkladu je úloha "POS__poanode_2_125f2969-933c-4774-85d1-ebdf85e79f15" ve stavu DownloadComplete . To znamená, že aktualizace byly staženy na poanode_2 uzlu a instalace se pokusí po přesunutí úlohy do stavu Provádění .

     D:\service-fabric-poa-bin\service-fabric-poa-bin\Release> $k = Get-ServiceFabricRepairTask -TaskId "POS__poanode_2_125f2969-933c-4774-85d1-ebdf85e79f15"
    
     D:\service-fabric-poa-bin\service-fabric-poa-bin\Release> $k.ExecutorData
     {"ExecutorSubState":2,"ExecutorTimeoutInMinutes":90,"RestartRequestedTime":"0001-01-01T00:00:00"}
    

    Pokud se najdou další problémy, přihlaste se k virtuálnímu počítači nebo virtuálním počítačům a seznamte se s nimi pomocí protokolů událostí Windows. Dříve uvedená úloha opravy může existovat pouze v následujících dílčích stavech exekutoru:

    ExecutorSubState Popis
    None=1 Znamená to, že na uzlu nedochází k probíhající operaci. Stav může být v přechodu.
    DownloadCompleted=2 Implikuje, že operace stahování byla dokončena s úspěchem, částečným selháním nebo selháním.
    InstallationApproved=3 Implikuje, že operace stahování byla dokončena dříve a Správce oprav schválil instalaci.
    InstallationInProgress=4 Odpovídá stavu provádění úlohy opravy.
    InstallationCompleted=5 Implikuje, že instalace byla dokončena s úspěchem, částečným úspěchem nebo selháním.
    RestartRequested=6 Implikuje, že instalace opravy byla dokončena a na uzlu existuje čekající akce restartování.
    RestartNotNeeded=7 Implikuje, že restartování nebylo potřeba po dokončení instalace opravy.
    RestartCompleted=8 Znamená to, že restartování bylo úspěšně dokončeno.
    OperationCompleted=9 Operace služba Windows Update byla úspěšně dokončena.
    OperationAborted=10 Implikuje, že operace služba Windows Update byla přerušena.
  6. Po dokončení pokusu o aktualizaci uzlu ve verzích 1.4.0 a novějších se v NodeAgentService publikuje událost s vlastností WUOperationStatus-[NodeName] a upozorní vás, až se další pokus o stažení a instalaci aktualizací Windows spustí. Toto se zobrazí na následujícím obrázku:

    Snímek obrazovky s oknem konzoly služba Windows Update stavu operace pomocí NodeAgentService

Protokoly diagnostiky

Protokoly aplikace orchestrace oprav se shromažďují jako součást protokolů modulu runtime Service Fabric.

Protokoly můžete zachytit pomocí diagnostického nástroje nebo kanálu podle vašeho výběru. PoA používá k protokolování událostí prostřednictvím zdroje událostí následující pevné ID zprostředkovatele:

  • e39b723c-590c-4090-abb0-11e3e6616346
  • fc0028ff-bfdc-499f-80dc-ed922c52c5e9
  • 24afa313-0d3b-4c7c-b485-1047fd964b60
  • 05dc046c-60e9-4ef7-965e-91660adffa68

Sestavy stavu

PoA také publikuje sestavy stavu ve službě agenta uzlu nebo koordinační službě v následujících scénářích:

  • Agent uzlu NTService je v výpadku

    Pokud je agent uzlu NTService na uzlu mimo provoz, vygeneruje se zpráva o stavu na úrovni upozornění vůči službě agenta uzlu.

  • Služba Správce oprav není povolená.

    Pokud se v clusteru nenajde služba Správce oprav, vygeneruje se zpráva o stavu na úrovni upozornění pro službu koordinátora.

Nejčastější dotazy

Otázka: Proč se můj cluster zobrazuje v chybovém stavu, když je spuštěný poa?

A: Během procesu instalace funkce POA zakáže nebo restartuje uzly, což může dočasně vést ke clusteru, který není v pořádku.

V závislosti na zásadách aplikace může během operace opravy dojít k výpadku jednoho uzlu nebo celá aktualizační doména může jít dolů najednou.

Na konci instalace aktualizací Windows se uzly po restartování znovu spustí.

V následujícím příkladu cluster dočasně přešl do chybového stavu, protože došlo k výpadku dvou uzlů a došlo k porušení zásad MaxPercentageUnhealthyNodes. Chyba je dočasná, dokud nebude možné zahájit operaci oprav.

Obrázek clusteru, který není v pořádku

Pokud problém přetrvává, projděte si část Řešení potíží.

Otázka: Co můžu dělat, když je poA ve stavu upozornění?

A: Zkontrolujte, jestli zpráva o stavu publikuje v aplikaci indikaci původní příčiny. Upozornění obvykle obsahuje podrobnosti o problému. Pokud je problém přechodný, očekává se, že se aplikace automaticky obnoví.

Otázka: Co můžu dělat, když je cluster v pořádku a potřebuji provést urgentní aktualizaci operačního systému?

A: POA neinstaluje aktualizace, pokud cluster není v pořádku. Zkuste cluster převést do stavu v pořádku a odblokujte pracovní postup POA.

Otázka: Mám pro svůj cluster nastavit TaskApprovalPolicy jako NodeWise nebo UpgradeDomainWise?

A: Nastavení UpgradeDomainWise urychlí celkovou opravu clusteru tím, že paralelně opraví všechny uzly, které patří do aktualizační domény. Během procesu nejsou uzly, které patří do celé aktualizační domény, nedostupné (ve stavu Zakázáno).

Naproti tomu nastavení NodeWise opravuje současně pouze jeden uzel, což by znamenalo, že celkové opravy clusteru můžou trvat déle. Během procesu oprav by však nebyl k dispozici maximálně jeden uzel (v zakázaném stavu).

Pokud váš cluster dokáže tolerovat provoz na N-1 počtu aktualizačních domén během cyklu oprav (kde N je celkový počet aktualizačních domén v clusteru), můžete zásadu nastavit jako UpgradeDomainWise. V opačném případě ho nastavte na NodeWise.

Otázka: Kolik času trvá oprava uzlu?

A: Oprava uzlu může trvat několik minut (například aktualizace definic v programu Windows Defender) až hodiny (například kumulativní aktualizace Windows). Doba potřebná k opravě uzlu závisí hlavně na:

  • Velikostaktualizacích
  • Počet aktualizací, které se musí použít v okně oprav.
  • Doba potřebná k instalaci aktualizací, restartování uzlu (v případě potřeby) a dokončení kroků instalace po restartování.
  • Výkon virtuálního počítače nebo počítače a síťové podmínky.

Otázka: Jak dlouho trvá oprava celého clusteru?

A: Doba potřebná k opravě celého clusteru závisí na:

  • Doba potřebná k opravě uzlu.

  • Zásady koordinační služby. Výchozí zásada NodeWise vede k opravě pouze jednoho uzlu najednou, který je pomalejší než použití příkazu UpgradeDomainWise.

    Příklad: Pokud oprava uzlu trvá přibližně 1 hodinu, oprava clusteru 20 uzlů (stejného typu uzlů) s 5 aktualizačními doménami vyžaduje:

    • Pro NodeWise: ~20 hodin.
    • Pro UpgradeDomainWise: ~5 hodin.
  • Zatížení clusteru. Každá operace opravy vyžaduje opětovné přidělení úlohy zákazníka do jiných dostupných uzlů v clusteru. Uzel, který je opravený, by během této doby byl ve stavu Zakázání. Pokud je cluster spuštěný téměř ve špičce, proces zakázání bude trvat déle. Proto se může zdát, že celkový proces oprav je v takových stresovaných podmínkách pomalý.

  • Selhání stavu clusteru během oprav Jakékoli snížení stavu clusteru by přerušilo proces oprav. Tento problém by se přidal do celkového času potřebného k opravě celého clusteru.

Otázka: Proč se ve výsledcích služba Windows Update zobrazují některé aktualizace, které se získávají prostřednictvím rozhraní REST API, ale ne v historii služba Windows Update na počítači?

A: Některé aktualizace produktů se zobrazují jenom v jejich vlastní historii aktualizací nebo oprav. Aktualizace Windows Defenderu se například můžou nebo nemusí zobrazovat v historii služba Windows Update ve Windows Serveru 2016.

Otázka: Dá se poa použít k opravě vývojového clusteru (cluster s jedním uzlem)?

A: Ne, poa nejde použít k opravě clusteru s jedním uzlem. Toto omezení je záměrně způsobené výpadky systémových služeb Service Fabric nebo jiných zákaznických aplikací. Proto by opravy úloh oprav nikdy neschválili Správce oprav.

Otázka: Návody oprav uzlů clusteru v Linuxu?

A: Informace o orchestraci aktualizací v Linuxu najdete v tématu Automatické upgrady imagí operačního systému ve škálovací sadě virtuálních počítačů Azure.

Otázka: Proč cyklus aktualizace trvá tak dlouho?

Odpověď: Dotaz na výsledek JSON, zadejte cyklus aktualizace pro všechny uzly a potom můžete zkusit zjistit čas potřebný instalací aktualizace na každém uzlu pomocí OperationStartTime a OperationTime (OperationCompletionTime).

Pokud dojde k velkému časovému intervalu, ve kterém neprobíhá žádná aktualizace, může být cluster v chybovém stavu a v důsledku toho správce oprav nemůže schválit žádné úlohy opravy poa. Pokud instalace aktualizace na jakémkoli uzlu trvá dlouhou dobu, nemusí být tento uzel chvíli aktualizován. Na instalaci může docházet k mnoha aktualizacím, což může vést ke zpožděním.

Může také být možné, že opravy uzlů jsou zablokované, protože jsou zablokované ve stavu Zakázání . K tomu obvykle dochází, protože zakázání uzlu může vést kvorum nebo ztrátě dat.

Otázka: Proč musí být uzel při opravě poa zakázaný?

A: PoA zakáže uzel se záměrem Restartování , který zastaví nebo relokuje všechny služby Service Fabric spuštěné na uzlu. Funkce POA zajistí, že aplikace nebudou používat kombinaci nových a starých knihoven DLL, takže doporučujeme neopravy uzlu bez jeho zakázání.

Otázka: Jaký je maximální počet uzlů, které je možné aktualizovat pomocí poa?

A: PoA používá Service Fabric Repair Manager k vytvoření úloh opravy uzlů pro aktualizace. Nelze však současně prezentovat více než 250 úloh opravy. V současné době poA vytváří úlohy opravy pro každý uzel najednou, takže POA nemůže aktualizovat více než 250 uzlů v clusteru.

Právní omezení

  • PoA přijímá licenční smlouvu s koncovým uživatelem pro služba Windows Update jménem uživatele. Volitelně můžete nastavení vypnout v konfiguraci aplikace.

  • PoA shromažďuje telemetrii ke sledování využití a výkonu. Telemetrie aplikace se řídí nastavením nastavení telemetrie modulu runtime Service Fabric (které je ve výchozím nastavení zapnuté).

Řešení problému

Tato část obsahuje možná řešení potíží s opravami uzlů.

Uzel se nevrátí do stavu

  • Uzel může být zablokovaný ve stavu Zakázání , protože:

    • Čeká se na bezpečnostní kontrolu. Pokud chcete tuto situaci napravit, ujistěte se, že je v pořádku dostatek uzlů.
  • Uzel může být zablokovaný ve stavu Zakázáno , protože:

    • Byla zakázána ručně.
    • Byla zakázaná kvůli probíhající úloze infrastruktury Azure.
    • Služba POA ho dočasně zakázala, aby opravila uzel.
  • Uzel může být zablokovaný ve stavu down, protože:

    • Byl umístěn ve stavu dolů ručně.
    • Probíhá restartování (což může aktivovat poA).
    • Má vadný virtuální počítač nebo počítač nebo má problémy s připojením k síti.

Aktualizace byly na některých uzlech přeskočeny.

POA se pokusí nainstalovat aktualizaci Windows podle zásad pro přeplánování. Služba se pokusí obnovit uzel a přeskočit aktualizaci podle zásad aplikace.

V takovém případě se ve službě agenta uzlu vygeneruje sestava stavu na úrovni upozornění. Výsledek služba Windows Update obsahuje také možný důvod selhání.

Při instalaci aktualizace dojde k chybě stavu clusteru.

Chybná aktualizace Systému Windows může snížit stav aplikace nebo clusteru na konkrétním uzlu nebo v aktualizační doméně. PoA ukončí všechny následné služba Windows Update operace, dokud cluster nebude znovu v pořádku.

Správce musí intervenovat a určit, proč aplikace nebo cluster nejsou v pořádku kvůli služba Windows Update.

Poznámky k verzi POA

Poznámka:

V případě POA verze 1.4.0 a novější najdete poznámky k verzi a vydané verze na stránce vydání aplikace Orchestraation oprav na GitHubu.

Verze 1.1.0

  • Veřejná verze

Verze 1.1.1

  • Opravili jsme chybu v SetupEntryPoint nodeAgentService, která bránila instalaci NodeAgentNTService.

Verze 1.2.0

  • Opravy chyb souvisejících s pracovním postupem restartování systému
  • Oprava chyby při vytváření úloh RM kvůli tomu, ke které kontrole stavu během přípravy oprav nedochází podle očekávání.
  • Změna režimu spouštění pro službu Windows POANodeSvc z automatické na zpožděné automatické.

Verze 1.2.1

  • Oprava chyby v pracovním postupu vertikálního snížení kapacity clusteru Zavedli jsme logiku uvolňování paměti pro úlohy opravy POA, které patří do neexistujících uzlů.

Verze 1.2.2

  • Různé opravy chyb
  • Binární soubory jsou teď podepsané.
  • Přidání odkazu sfpkg pro aplikaci.

Verze 1.3.0

  • Nastavení InstallWindowsOSOnlyUpdates na false teď nainstaluje všechny dostupné aktualizace.
  • Změnili jsme logiku zakázání automatických aktualizací. Opravili jsme chybu, kdy se automatické aktualizace neaktivovaly na Serveru 2016 a novějším.
  • Parametrizované omezení umístění pro obě mikroslužby POA pro pokročilé případy použití.

Verze 1.3.1

  • Oprava regrese, kdy POA 1.3.0 nebude fungovat na Windows Serveru 2012 R2 nebo starším kvůli selhání zakázání automatických aktualizací.
  • Oprava chyby, kdy je konfigurace InstallWindowsOSOnlyUpdates vždy vybrána jako True.
  • Změna výchozí hodnoty InstallWindowsOSOnlyUpdates na False

Verze 1.3.2

  • Oprava problému, který má vliv na životní cyklus oprav na uzlu, pokud existují uzly s názvem, který je podmnožinou názvu aktuálního uzlu. U takových uzlů je možné, že se zmeškaly opravy nebo čeká na restartování.