使用内核软重启启用快速重启

适用于:Azure Stack HCI 版本 22H2

内核软重启 (KSR) 是 Azure Stack HCI 版本 21H2 中的一项新增高级功能,在所有 Azure Stack HCI 集成系统上都可用。 在更新群集时使用该功能重启服务器的速度快于常规重启。 本主题说明何时应使用 KSR 而不使用常规重启,并提供有关在 Azure Stack HCI 上使用此功能的说明。

为何使用内核软重启?

传统上,维护群集(例如应用软件更新)需要将每个服务器置于维护模式,撤下服务器,安装更新,必要时重启,然后针对群集中的每个服务器重复此过程。 尽管群集感知更新 (CAU) 能够将上述许多任务自动化,但当群集恢复时,仍然需要重新同步在维护模式下写入的所有新数据。 重启服务器花费的时间越长,必须重新同步的数据就越多,而群集更新总时间也越长。

内核软重启提高了重启性能,因为它可以简化操作系统流程,并最大程度地减少需要重新同步的数据量,从而减少了群集更新总时间。 能够节省的时间与服务器的内存和大小成正比。 随着可用内存和驱动器等服务器资源的增加,节省的时间也越多。

请花几分钟时间观看视频,将正常重启的性能与空闲服务器上内核软重启的性能进行比较。

何时使用内核软重启

由于此功能会绕过耗时的传统重启 BIOS/固件初始化,因此,只能对不需要固件/BIOS 初始化的更新使用内核软重启。 目前,只能将内核软重启与群集感知更新 WindowsUpdate 插件结合使用来进行质量更新,或者将它与修补程序插件结合使用来进行 MSI/MSU/EXE 文件更新。

使用 PowerShell 为群集感知更新启用内核软重启

在 Azure Stack HCI 21H2 中,可以使用 PowerShell 来设置和管理 Azure Stack HCI 群集的内核软重启。

注意

除非使用以下两个选项之一显式启用了内核软重启,否则 CAU 更新的默认重启选项是常规重启。

选项 1:为将来的所有 CAU 运行启用内核软重启

如果你希望 CAU 将内核软重启设置为所有受支持更新的默认重启选项,请将键为 CauEnableSoftReboot 的群集专用属性设置为值 1。

Get-Cluster | Set-ClusterParameter -Name CauEnableSoftReboot -Value 1 -Create 

注意

将此专用属性重置为除 1 以外的任何其他值或者完全删除该属性会在群集上禁用内核软重启。

选项 2:对单个 CAU 运行使用内核软重启

若要对特定的群集感知更新运行使用内核软重启,请在使用 CAU PowerShell cmdlet 时使用可选的 AttemptSoftReboot 参数,如以下示例中所示。

Invoke-CauRun <other_options> -AttemptSoftReboot
Add-CauClusterRole <other_options> -AttemptSoftReboot
Set-CauClusterRole <other_options> -AttemptSoftReboot

在特定的服务器上跳过内核软重启

理想情况下,Azure Stack HCI 群集中的所有服务器均应支持内核软重启。 但是,你可以在服务器上设置一项注册表设置,以便使其选择不使用 KSR。

在群集中的任何服务器上设置此注册表值会导致群集感知更新跳过内核软重启,并尝试按常规方式重启服务器。

Key: SOFTWARE\Microsoft\Windows\CurrentVersion\ClusterAwareUpdating
Name: CauBypassSoftBootOnNode
Type: REG_SZ
Value: True

禁用更新运行的内核软重启

如果要在启用了内核软重启的群集上使用 Windows Admin Center 安装操作系统或硬件更新,你将看到“为此运行禁用内核软重启”复选框。 选中此复选框只会对特定的更新运行禁用内核软重启。 这样一来,可以使群集上的内核软重启保持启用状态,但在更新运行需要完全重启(如 BIOS 更新)时禁用它。

故障排除

若要确定上次执行的重启类型,请将 Get-CauReportlastdetailed 参数配合使用,以获取针对上次群集感知更新运行生成的报告。

$report = Get-CauReport <other_options> -Last -Detailed
$report.ClusterResult.NodeResults | fl Node,NodeRebootResult

该报告应会返回一个 NodeResults 列表,其中包含群集中每个服务器的 NodeRebootResult。 输出应类似于:

Node : VM01
NodeRebootResult : RebootSummaryResult : Succeeded
BootType : SoftBoot
SoftBootStatus : Enabled

下表显示了每个名称/值对如何提供有关群集中每个服务器的上次重启情况的详细信息。

名称
Node 指明群集中节点的名称。
RebootSummaryResult 指出上次重启是否成功(不考虑请求的重启类型和执行的重启类型)。 例如,如果用户请求了 KSR,但成功执行了常规重启,则 RebootSummaryResult 仍会返回值 Succeeded 。
BootType 指定在上次运行中执行的重启类型。
SoftBootStatus 指示内核软重启的状态是 Enabled、NotEnabled、NotInstalled 还是 Bypassed(如果已使用注册表项设置使服务器选择不使用内核软重启) 。

有关更多故障排除方法,请参阅 Save-CauDebugTrace

常见问题解答

本部分解答有关 Azure Stack HCI 版本 21H2 中的内核软重启的常见问题。

是否可以在 Windows Server 上使用内核软重启?

  • 不是。 内核软重启仅适用于 Azure Stack HCI 版本 21H2,并且只能在经验证可用作集成系统的计算机上使用。

如何判断我的硬件是否支持内核软重启?

内核软重启是否适用于已验证节点?

  • 尽管此功能在其他 HCI 硬件上不会遭到阻止,但测试或支持内核软重启并非一定要使用已验证节点。 如果你使用的是已验证节点,可以参考本文中的说明尝试使用内核软重启。

后续步骤

有关详细信息,请参阅: