你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Update-ServiceFabricClusterUpgrade

修改活动群集升级的升级说明。

语法

Update-ServiceFabricClusterUpgrade
      [-ForceRestart <Boolean>]
      [-UpgradeReplicaSetCheckTimeoutSec <UInt32>]
      [-UpgradeMode <RollingUpgradeMode>]
      [-FailureAction <UpgradeFailureAction>]
      [-HealthCheckRetryTimeoutSec <UInt32>]
      [-HealthCheckWaitDurationSec <UInt32>]
      [-HealthCheckStableDurationSec <UInt32>]
      [-UpgradeDomainTimeoutSec <UInt32>]
      [-UpgradeTimeoutSec <UInt32>]
      [-ConsiderWarningAsError <Boolean>]
      [-MaxPercentUnhealthyApplications <Byte>]
      [-MaxPercentUnhealthyNodes <Byte>]
      [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
      [-EnableDeltaHealthEvaluation <Boolean>]
      [-MaxPercentDeltaUnhealthyNodes <Byte>]
      [-MaxPercentUpgradeDomainDeltaUnhealthyNodes <Byte>]
      [-Force]
      [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
      [-InstanceCloseDelayDurationSec <UInt32>]
      [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
      [-TimeoutSec <Int32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Update-ServiceFabricClusterUpgrade cmdlet 修改群集升级说明的参数,同时升级仍处于活动状态。 Service Fabric 根据群集清单中指定的 FabricUpgradeStatusPollInterval 值检测并应用更改。 除了运行状况评估策略外,此 cmdlet 仅更新指定的参数。 未指定的参数不受影响。 必须一起更新以下运行状况评估策略,而不是单独更新:

  • ConsiderWarningAsError
  • MaxPercentUnhealthyApplications
  • MaxPercentUnhealthyNodes

若要管理 Service Fabric 群集,请使用“以管理员身份运行”选项启动Windows PowerShell。 在 Service Fabric 群集上执行任何操作之前,请使用 Connect-ServiceFabricCluster cmdlet 建立与群集的连接。

示例

示例 1:更新群集升级的值

PS C:\> Update-ServiceFabricClusterUpgrade -UpgradeReplicaSetCheckTimeoutSec 0

此命令将副本集检查超时期限设置为 0,以便进行挂起的群集升级。 更新仅保留所有其他升级值。

示例 2:更新群集升级的运行状况策略

PS C:\> $svcType = New-Object -TypeName System.Fabric.Health.ServiceTypeHealthPolicy
PS C:\> $svcType.MaxPercentUnhealthyPartitionsPerService = 100
PS C:\> $systemAppPolicy = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicy
PS C:\> $systemAppPolicy.DefaultServiceTypeHealthPolicy = $svcType
PS C:\> $appHealthPolicyMap = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicyMap
PS C:\> $appHealthPolicyMap.Add("fabric:/System", $systemAppPolicy)

PS C:\> $AppTypeHealthPolicyMap = New-Object -TypeName "System.Fabric.Health.ApplicationTypeHealthPolicyMap"
PS C:\> $AppTypeHealthPolicyMap.Add("CriticalAppType", 0)

PS C:\> Update-ServiceFabricClusterUpgrade -ApplicationTypeHealthPolicyMap $AppTypeHealthPolicyMap -Force -MaxPercentUnhealthyApplications 20 -ApplicationHealthPolicyMap $appHealthPolicyMap

此命令更改群集升级群集运行状况策略。 它指定包含应用程序类型 CriticalAppType 的应用程序类型运行状况策略映射,该映射不允许任何故障。 其余应用程序使用 20% 的最大不正常百分比进行评估。

此命令还会更新用于评估 fabric:/System 应用程序的应用程序运行状况策略,作为群集升级运行状况评估的一部分。 新策略可容忍所有分区错误。

参数

-ApplicationHealthPolicyMap

指定 System.Fabric.Health.ApplicationHealthPolicyMap ,其中包含部分或所有应用程序的自定义运行状况策略。 如果未指定此参数,或者未在应用程序的映射中包含条目,则会使用应用程序清单中定义的应用程序运行状况策略(如果存在)或默认策略进行评估。

类型:ApplicationHealthPolicyMap
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ApplicationTypeHealthPolicyMap

指定定义每个应用程序类型允许的不正常应用程序的最大百分比的映射。 此映射中的应用程序类型使用特定百分比而不是全局 MaxPercentUnhealthyApplications 百分比进行评估。

例如,如果某种类型的应用程序至关重要,群集管理员可以将条目添加到该应用程序类型的映射,并将其分配值为 0%(即,不容忍任何失败)。 可以使用 MaxPercentUnhealthyApplications 设置为 20% 评估所有其他应用程序,以容忍数千个应用程序实例中出现某些故障。

仅当群集清单使用 HealthManager/EnableApplicationTypeHealthEvaluation 的配置条目启用应用程序类型运行状况评估时,才使用应用程序类型运行状况策略映射。

类型:ApplicationTypeHealthPolicyMap
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ConsiderWarningAsError

指示是否在运行状况评估期间将警告运行状况报告视为错误。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableDeltaHealthEvaluation

指示是否在受监视升级的运行状况评估期间启用增量运行状况检查。 如果指定值$True,Service Fabric 会在升级开始时拍摄运行状况快照。 每个升级域完成升级后,运行状况检查会将群集的当前状态与快照进行比较。 如果运行状况降级不符合当前群集升级运行状况策略的最大允许百分比,则运行状况检查会失败。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FailureAction

指定监视升级失败时要执行的操作。 此参数的可接受值为:

  • 回退
  • 手动。
类型:UpgradeFailureAction
接受的值:Invalid, Rollback, Manual
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Force

指示此 cmdlet 跳过警告消息并强制更新。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceRestart

指示是否重启 Service Fabric 节点,即使只有动态配置已更改。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckRetryTimeoutSec

指定持续时间(以秒为单位),如果以前的运行状况检查失败,Service Fabric 会重试运行状况检查。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckStableDurationSec

指定 Service Fabric 等待的持续时间(以秒为单位)以验证群集是否稳定,然后再继续到下一个升级域或完成升级。 此等待持续时间可防止在执行运行状况检查后立即检测到运行状况更改。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckWaitDurationSec

指定 Service Fabric 在升级域完成升级后执行初始运行状况检查之前等待的持续时间(以秒为单位)。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InstanceCloseDelayDurationSec

指定持续时间(以秒为单位),在关闭受群集升级影响的无状态实例之前等待,以允许活动请求正常耗尽。 此等待持续时间仅适用于为 InstanceCloseDelayDuration 配置了非零值的无状态服务的实例,并将替代预配置的值。 有关详细信息,请参阅 InstanceCloseDelayDuration

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxPercentDeltaUnhealthyNodes

指定可具有聚合运行状况状态的错误增量不正常节点的最大容忍百分比。 如果当前不正常节点不遵循相对于升级开始时状态的百分比,则群集不正常。

类型:Byte
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxPercentUnhealthyApplications

指定可能具有聚合运行状况状态的错误应用程序的最大可容忍百分比。 如果升级超过此百分比,则群集不正常。

类型:Byte
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxPercentUnhealthyNodes

指定可具有聚合运行状况状态的错误节点的最大容忍百分比。 如果升级超过此百分比,则群集运行不正常。

类型:Byte
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxPercentUpgradeDomainDeltaUnhealthyNodes

指定可聚合运行状况错误的升级域增量不正常节点的最大允许百分比。 如果有任何升级域,当前不正常的节点不遵循相对于升级开始时状态的百分比,则群集不正常。

类型:Byte
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NodeTypeHealthPolicyMap

定义特定节点类型的最大百分比不正常节点的映射。

节点类型运行状况策略映射可以在群集运行状况评估期间用于描述特殊的节点类型。 映射中包含的节点类型根据映射中包含的百分比进行评估,并且全局 (也查看 System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes) 。 映射中指定的节点类型的节点节点也根据节点的全局池进行计数:它们是独立的检查。

类型:NodeTypeHealthPolicyMap
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TimeoutSec

指定操作的超时时间段(以秒为单位)。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeDomainTimeoutSec

指定 Service Fabric 升级单个升级域所需的最长时间(以秒为单位)。 在此时间段后,升级失败。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeMode

指定升级的新 UpgradeMode

类型:RollingUpgradeMode
接受的值:Invalid, UnmonitoredAuto, UnmonitoredManual, Monitored
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeReplicaSetCheckTimeoutSec

指定 Service Fabric 等待副本集重新配置为安全状态(如果尚未处于安全状态)之前 Service Fabric 继续升级之前的最大时间(以秒为单位)。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeTimeoutSec

指定 Service Fabric 在整个升级中花费的最大时间(以秒为单位)。 在此时间段后,升级失败。

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

System.Object