Sdílet prostřednictvím


Použití aplikace orchestrace oprav

Důležité

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

Aplikace orchestrace 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. U clusterů hostovaných mimo Azure se poa nevyžaduje, ale k opravě hostitelů clusteru Service Fabric bez výpadku se vyžaduje plánování instalace oprav podle aktualizační domény.

POA je aplikace Service Fabric, která automatizuje opravy operačního systému v clusteru Service Fabric, aniž by došlo k výpadku.

Poa poskytuje následující funkce:

  • Automatická instalace aktualizace operačního systému. Aktualizace operačního systému se stahují a instalují automaticky. Uzly clusteru se podle potřeby restartují bez výpadku clusteru.

  • Integrace oprav a stavu podporujících clustery Zatímco poa provádí aktualizace, monitoruje stav uzlů clusteru. Uzly clusteru se aktualizují po jednom uzlu nebo po jedné aktualizační doméně. Pokud stav clusteru přestane fungovat kvůli procesu oprav, opravy se zastaví, aby se problém nezhoršil.

Interní podrobnosti o poa

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

  • Koordinační služba: Tato stavová služba zodpovídá za:

    • Koordinace úlohy služba Windows Update v celém clusteru.
    • Ukládání výsledků 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í služby NTService agenta uzlu.
    • Monitorování služby NTService agenta uzlu
  • NtService agenta uzlu: Tato služba systém Windows NT běží s vyšší úrovní oprávnění (SYSTEM). Naproti tomu služba agenta uzlu a služba koordinátoru běží s nižší úrovní oprávnění (NETWORK SERVICE). Služba zodpovídá za provádění následujících úloh služba Windows Update na všech uzlech clusteru:

    • Zakázání automatických aktualizací systému Windows na uzlu
    • Stahování a instalace aktualizací systému Windows podle zásad, které uživatel zadal.
    • Restartování počítače po instalaci aktualizací systému Windows.
    • Nahrání výsledků aktualizací Systému Windows do koordinační služby
    • Hlášení stavu v případě, že operace selhala poté, co vyčerpala všechny opakování

Poznámka

Poa používá service Service Fabric Repair Manager k zakázání nebo povolení uzlu a provádění kontrol stavu. Úloha opravy vytvořená aplikací POA sleduje průběh služba Windows Update pro každý uzel.

Požadavky

Poznámka

Minimální požadovaná 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 Správce oprav. Clustery Azure na zlaté úrovni odolnosti můžou nebo nemusí mít povolenou službu Správce oprav v závislosti na tom, kdy se tyto clustery vytvořily. Clustery Azure na bronzové úrovni odolnosti ve výchozím nastavení nemají službu Správce oprav povolenou. Pokud je služba už povolená, uvidíte ji spuštěnou v části systémové služby v Service Fabric Explorer.

Azure Portal

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

Obrázek povolení Správce oprav z Azure Portal

Model nasazení Azure Resource Manager

Případně můžete pomocí modelu nasazení Azure Resource Manager povolit službu Správce oprav na nových i 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 Správce oprav pomocí šablony modelu nasazení Azure Resource Manager, postupujte takto:

  1. Zkontrolujte, že apiVersion je pro prostředek Microsoft.ServiceFabric/clusters nastavená hodnota 2017-07-01-preview. Pokud se liší, musíte provést aktualizaci 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 oddíl přidáte fabricSettings následující addonFeatures část:

    "fabricSettings": [
        ...      
    ],
    "addonFeatures": [
        "RepairManager"
    ],
    
  3. Jakmile tyto změny aktualizujete v šabloně clusteru, použijte je a nechte aktualizaci dokončit. Ve vašem clusteru teď můžete vidět spuštěnou službu Správce oprav. V části systémových služeb v Service Fabric Explorer 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 s Windows.

Povolení služby Správce oprav:

  1. Zkontrolujte, že apiVersion v části Obecné konfigurace clusteru je 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 oddíl fabricSettings 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 tak, že pomocí aktualizovaného manifestu clusteru vytvoříte nový cluster nebo upgradujete konfiguraci clusteru.

    Po spuštění clusteru s aktualizovaným manifestem clusteru uvidíte službu Správce oprav spuštěnou v clusteru. Jmenuje se fabric:/System/RepairManagerService a je v části systémových služeb v Service Fabric Explorer.

Konfigurace aktualizací Windows pro všechny uzly

Automatické aktualizace systému Windows můžou vést ke ztrátě dostupnosti, protože se může restartovat více uzlů clusteru současně. Poa se ve výchozím nastavení pokusí zakázat automatické aktualizace Systému Windows na každém uzlu clusteru. Pokud ale nastavení spravuje správce nebo Zásady skupiny, doporučujeme zásadu služba Windows Update explicitně nastavit na "Upozornit před stažením".

Stažení balíčku aplikace

Pokud si chcete stáhnout balíček aplikace, přejděte na stránku verze aplikace Orchestrace oprav 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 nebo Start-ServiceFabricApplicationUpgradeNew-ServiceFabricApplication .

Parametr Typ Podrobnosti
MaxResultsToCache Dlouhé Maximální počet služba Windows Update výsledků, které by měly být uloženy v 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á koordinační služba použít k instalaci aktualizací Windows napříč uzly clusteru Service Fabric.

Povolené hodnoty jsou následující:
NodeWise: Aktualizace Systému Windows se instalují po jednom uzlu.
UpgradeDomainWise: Aktualizace Windows se instalují po jedné aktualizační doméně. (Maximálně všechny uzly, které patří do aktualizační domény, můžou přejít na aktualizaci Windows.)

Informace o tom, které zásady jsou pro váš cluster nejvhodnější, najdete v části Nejčastější dotazy .
LogsDiskQuotaInMB Dlouhé
(Výchozí: 1024)
Maximální velikost protokolů aplikace orchestrace oprav v MB, které se dají uchovávat místně na uzlech.
WUQuery řetězec
(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)
Pomocí tohoto příznaku můžete řídit, které aktualizace se mají stahovat a instalovat. Jsou povoleny následující hodnoty.
true – Nainstaluje jenom aktualizace operačního systému Windows.
false – nainstaluje všechny dostupné aktualizace do počítače.
WUOperationTimeOutInMinutes Int
(Výchozí: 90)
Určuje časový limit pro všechny operace služba Windows Update (vyhledávání, stahování nebo instalace). Pokud se operace nedokončí v zadaném časovém limitu, přeruší se.
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í: týdně, středa, 7:00:00) Frekvence instalace aktualizací Systému Windows Formát a možné hodnoty jsou:
– Měsíčně, DD, HH:MM:SS (pří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 (příklad: Denně, 12:22:32)
- MonthlyByWeekAndDay, Week, Day, HH:MM:SS (příklad: MonthlyByWeekAndDay, 2, Friday, 21:00:00 označuje 21:00 UTC v pátek 2. týdne každého měsíce)
- None značí, že by se aktualizace Windows neměly provádět.

Časy jsou v UTC.
AcceptWindowsUpdateEula Logická hodnota
(Výchozí: true)
Nastavením tohoto příznaku aplikace přijme licenční smlouvu End-User pro služba Windows Update jménem vlastníka počítače.

Tip

Pokud chcete, aby aktualizace Windows probíhaly okamžitě, nastavte WUFrequency ho vzhledem k času nasazení aplikace. Předpokládejme například, že máte testovací cluster s pěti uzly a plánujete nasadit aplikaci přibližně v 17:00 UTC. Pokud předpokládáte, že upgrade nebo nasazení aplikace trvá maximálně 30 minut, nastavte wufrequency na Hodnotu Denně 17:30:00.

Nasazení POA

  1. Dokončete všechny požadované kroky k přípravě clusteru.

  2. Nasaďte POA 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 nakonfigurovat aplikaci v době nasazení, předejte ApplicationParameter rutině New-ServiceFabricApplication . Pro usnadnění používání jsme společně s aplikací poskytli skript Deploy.ps1. Použití skriptu:

    • Připojení ke clusteru Service Fabric pomocí Connect-ServiceFabricCluster.
    • Spusťte skript PowerShellu Deploy.ps1 s příslušnou ApplicationParameter hodnotou.

Poznámka

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

Upgrade POA

Pokud chcete upgradovat verzi POA pomocí PowerShellu, postupujte podle pokynů v tématu Upgrade aplikace Service Fabric pomocí PowerShellu.

Odebrat 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 Undeploy.ps1 skript. Použití skriptu:

  • Připojení ke clusteru Service Fabric pomocí Connect-ServiceFabricCluster.
  • Spusťte Undeploy.ps1 skriptu PowerShellu.

Poznámka

Uchovávejte 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, která uživatelům zobrazují historické výsledky. Tady je příklad výsledného formátu 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 Podrobnosti
OperaceResult 0 – Úspěch
1 – Úspěch s chybami
2 – Selhání
3 – Přerušeno
4 – Přerušeno s vypršením časového limitu
Označuje výsledek celkové operace, která obvykle zahrnuje instalaci jedné nebo více aktualizací.
Kód výsledku Stejné jako OperationResult Toto pole označuje výsledek operace instalace pro jednotlivé aktualizace.
Typ operace 1. Instalace
0 . Hledání a stahování
Ve výchozím nastavení je jediným parametrem 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.
RebootRequired true – bylo vyžadováno restartování.
false – restartování se nepožadovalo.
Označuje, jestli bylo k dokončení instalace aktualizací vyžadováno restartování.
OperationStartTime DateTime Označuje čas, kdy byla operace (stažení/instalace) spuštěna.
Čas operace DateTime Označuje čas, kdy byla operace (stažení/instalace) dokončena.
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, výsledek JSON je prázdný.

Přihlaste se ke clusteru a dotazujte se na výsledky služba Windows Update. 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 službu koordinátoru má dynamický port. Pokud chcete zkontrolovat přesnou adresu URL, projdě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, na který musíte přejít , je http://< SERVERURL>:<REVERSEPROXYPORT>/PatchOrchestrationApplication/CoordinatorService/v1/GetWindowsUpdateResults.

Pokud chcete povolit reverzní proxy server v clusteru, postupujte podle pokynů v tématu Reverzní proxy server v Azure Service Fabric.

Upozornění

Po konfiguraci reverzního proxy serveru jsou všechny mikroslužby v clusteru, které zveřejň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 mnoho z následující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 oprav pro instalaci aktualizací na uzlech. Každou úlohu pak připraví koordinační služba podle zásad schvalování úkolů. Připravené úlohy nakonec schválí Správce oprav, který neschválí žádnou úlohu, pokud cluster není v pořádku.

Abychom vám pomohli pochopit, jak aktualizace na uzlu postupují, projdeme si krok za krokem:

  1. NodeAgentNTService, která je 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 do uzlu.

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

  3. Služba koordinátoru pravidelně vyhledává úlohy oprav v deklarovaném stavu a pak je aktualizuje na stav Příprava na základě zásady TaskApprovalPolicy. Pokud je TaskApprovalPolicy nakonfigurovaná na NodeWise, úloha opravy, která odpovídá uzlu, je připravena pouze v případě, že žádná jiná úloha opravy není aktuálně ve stavu Příprava, Schválení, Provádění nebo Obnovení .

    Podobně v případě UpgradeWise TaskApprovalPolicy existují úkoly 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 nastaveným na Restartovat.

    Poa verze 1.4.0 a novější publikují události s vlastností ClusterPatchingStatus ve službě CoordinatorService, aby se zobrazily uzly, které se opravují. 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í , spustí se instalace opravy na daném uzlu. Po instalaci opravy se uzel může nebo nemusí restartovat v závislosti na opravě. Potom se úloha opravy přesune do stavu obnovení , který uzel znovu po povolení. Úloha opravy se pak označí jako dokončená.

    Ve verzi POA 1.4.0 a novějších můžete stav aktualizace zjistit zobrazením událostí stavu ve službě NodeAgentService s vlastností WUOperationStatus-NodeName<>. Zvýrazněné oddíly 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í rutiny 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 na poanode_2 uzlu byly staženy aktualizace a při přesunu úlohy do stavu Provádění se pokusí o instalaci.

     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 je potřeba najít další problémy, přihlaste se ke svému virtuálnímu počítači nebo virtuálním počítačům a získejte informace o nich pomocí protokolů událostí Windows. Výše uvedená úloha opravy může existovat pouze v následujících dílčích stavech exekutoru:

    ExecutorSubState Popis
    None=1 Naznačuje, že na uzlu neprobívala žádná operace. Stav může být v přechodu.
    StáhnoutCompleted=2 Znamená, že operace stahování byla dokončena s úspěchem, částečným selháním nebo selháním.
    InstallationApproved=3 Znamená, ž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 Znamená, že instalace byla dokončena s úspěchem, částečným úspěchem nebo selháním.
    RestartRequested=6 Znamená, že instalace opravy byla dokončena a na uzlu probíhá akce čekající na restartování.
    RestartNotNeeded=7 To znamená, že po dokončení instalace opravy nebylo restartování potřeba.
    RestartCompleted=8 Znamená, že restartování bylo úspěšně dokončeno.
    OperationCompleted=9 Operace služba Windows Update byla úspěšně dokončena.
    OperationAborted=10 Znamená, že operace služba Windows Update byla přerušena.
  6. Ve verzi POA verze 1.4.0 a novějších se po dokončení pokusu o aktualizaci uzlu publikuje v NodeAgentService událost s vlastností WUOperationStatus-[NodeName], která vás upozorní, když začne další pokus o stažení a instalaci aktualizací Windows. Zobrazí se na následujícím obrázku:

    Snímek obrazovky s oknem konzoly se stavem operace služba Windows Update s NodeAgentService

Protokoly diagnostiky

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

Protokoly můžete zaznamenávat 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 pro službu agenta uzlu nebo koordinační službu v následujících scénářích:

  • Služba NTService agenta uzlu je mimo provoz

    Pokud je služba NTService agenta uzlu mimo provoz, vygeneruje se pro službu agenta uzlu sestava stavu na úrovni upozornění.

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

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

Nejčastější dotazy

Otázka: Proč se při spuštění poa zobrazuje můj cluster v chybovém stavu?

O: Během procesu instalace poa zakáže nebo restartuje uzly, což může dočasně způsobit, že cluster 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 k výpadku celé aktualizační domény najednou.

Na konci instalace aktualizací Systému Windows se uzly po restartování znovu povolují.

V následujícím příkladu cluster dočasně přešel do chybového stavu, protože dva uzly byly mimo provoz a došlo k porušení zásady MaxPercentageUnhealthyNodes. Chyba je dočasná, dokud nebude možné zahájit operaci opravy.

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í?

Odpověď: Zkontrolujte, jestli sestava stavu publikovaná v aplikaci indikuje původní příčinu. 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ž cluster není v pořádku a potřebuji provést okamžitou aktualizaci operačního systému?

O: Poa neinstaluje aktualizace, když cluster není v pořádku. Zkuste cluster převést do dobrého stavu a odblokovat pracovní postup poa.

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

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

Naproti tomu nastavení NodeWise opravuje pouze jeden uzel najednou, což by znamenalo, že celkové opravy clusteru mohou trvat déle. Během procesu oprav by však nebyl k dispozici maximálně jeden uzel (ve stavu Zakázáno ).

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

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

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

  • Velikost aktualizací.
  • 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?

O: 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 má za následek opravu pouze jednoho uzlu najednou, přístup, který je pomalejší než při použití příkazu UpgradeDomainWise.

    Příklad: Pokud oprava uzlu trvá přibližně 1 hodinu, oprava clusteru s 20 uzly (stejný typ uzlů) s 5 aktualizačními doménami, z nichž každá obsahuje 4 uzly, vyžaduje:

    • Pro NodeWise: ~20 hodin.
    • Pro UpgradeDomainWise: ~5 hodin.
  • Zatížení clusteru Každá operace oprav vyžaduje přemístění úlohy zákazníka na jiné dostupné uzly v clusteru. Uzel, který se opravuje, bude během této doby ve stavu Zákaz. Pokud je cluster spuštěný v blízkosti špičky zatížení, proces zakázání by trvalo déle. Proto se celý proces oprav může zdát pomalý v takových stresových podmínkách.

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

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

O: Některé aktualizace produktů se zobrazují jenom v jejich vlastní historii aktualizací nebo oprav. Například Windows Defender aktualizace se můžou nebo nemusí zobrazovat v historii služba Windows Update na Windows Server 2016.

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

O: Ne, POA nejde použít k opravě clusteru s jedním uzlem. Toto omezení je záměrně, protože systémových služeb Service Fabric nebo jiných zákaznických aplikací by došlo k výpadku. Proto by opravy úloh oprav nikdy neschválil Správce oprav.

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

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

Otázka: Proč cyklus aktualizací trvá tak dlouho?

Odpověď: Zadejte dotaz na výsledný kód JSON, zadejte cyklus aktualizace pro všechny uzly a pak se můžete pokusit zjistit čas potřebný instalací aktualizace na každém uzlu pomocí OperationStartTime a OperationTime (OperationCompletionTime).

Pokud existuje velké časové období, ve kterém neproběhly žádné aktualizace, může být cluster v chybovém stavu, a proto Správce oprav nemůže schválit žádné úlohy oprav POA. Pokud instalace aktualizace trvá na libovolném uzlu dlouhou dobu, je možné, že se tento uzel za chvíli neaktualizoval. Spousta aktualizací může čekat na instalaci, což může mít za následek zpoždění.

Může se také stát, že opravy uzlu 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 k situaci kvora nebo ztráty dat.

Otázka: Proč musí být uzel zakázaný, když ho poa opravuje?

O: Poa zakáže uzel se záměrem Restartovat , který zastaví nebo znovu přidělí všechny služby Service Fabric spuštěné na uzlu. Funkce POA to dělá, aby aplikace nakonec nepoužádá kombinaci nových a starých knihoven DLL, proto doporučujeme uzel neopravovat, aniž byste ho zakázali.

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

O: Poa používá Service Fabric Repair Manager k vytváření úloh oprav pro uzly pro aktualizace. Současně však nelze provést více než 250 oprav. V současné době poa vytváří úlohy oprav pro každý uzel současně, takže poa může aktualizovat maximálně 250 uzlů v clusteru.

Právní omezení

  • POA jménem uživatele přijímá licenční smlouvu End-User pro služba Windows Update. Volitelně je možné nastavení vypnout v konfiguraci aplikace.

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

Řešení potíží

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

Uzel se nevrátí do stavu up

  • Uzel se může zaseknout ve stavu Zakázání , protože:

    • Čeká se na bezpečnostní kontrolu. Pokud chcete tuto situaci napravit, ujistěte se, že je k dispozici dostatek uzlů v dobrém stavu.
  • Uzel se může zaseknout 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 kvůli opravě uzlu.
  • Uzel se může zaseknout ve stavu mimo provoz, protože:

    • Byla umístěna do stavu mimo provoz ručně.
    • Probíhá restartování (které může být aktivováno 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 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 pro službu 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ě ve stavu clusteru.

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

Správce musí zasáhnout a zjistit, proč aplikace nebo cluster přestaly být v pořádku kvůli služba Windows Update.

Poznámky k verzi POA

Poznámka

Pro poa verze 1.4.0 a novější najdete poznámky k verzi a verze na stránce vydání aplikace Orchestrace oprav na GitHubu.

Verze 1.1.0

  • Veřejná verze

Verze 1.1.1

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

Verze 1.2.0

  • Opravy chyb pracovního postupu restartování systému
  • Oprava chyby při vytváření úloh RM, kvůli kterým neprobíhá kontrola stavu při přípravě úloh opravy podle očekávání.
  • Změnil se režim spouštění pro službu Windows POANodeSvc z auto na zpožděné-auto.

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ěna logiky zákazu automatických aktualizací Tím se opraví chyba, kdy se automatické aktualizace na Serveru 2016 a novějším nezablokovaly.
  • 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 nefunguje v Windows Server 2012 R2 nebo starších kvůli selhání při zakázání automatických aktualizací
  • Oprava chyby, kdy konfigurace InstallWindowsOSOnlyUpdates byla vždy vybrána jako True.
  • Změna výchozí hodnoty InstallWindowsOSOnlyUpdates na False

Verze 1.3.2

  • Oprava problému, který ovlivňuje životní cyklus oprav uzlu, pokud existují uzly s názvem, který je podmnožinou aktuálního názvu uzlu. U takových uzlů je možné, že opravy neproběhly nebo se čeká na restartování.