排查Configuration Manager中Microsoft连接的缓存问题

本文提供有关 Configuration Manager 中Microsoft连接缓存的技术详细信息。 使用它来帮助排查环境中可能存在的问题。 有关其工作原理和用法的详细信息,请参阅 Configuration Manager 中的Microsoft连接缓存

验证

正确安装传递优化缓存服务器并正确配置客户端时,这些客户端将从安装在分发点上的缓存服务器(而不是 Internet)下载。

客户端服务器上验证此行为。

在客户端上验证

  1. 在运行受支持版本的 Windows 10 或更高版本的客户端上,下载云托管的内容。 有关连接缓存支持的内容类型的详细信息,请参阅 支持的内容类型

  2. 打开 PowerShell 并运行以下命令: Get-DeliveryOptimizationStatus

    例如:

    PS C:\> Get-DeliveryOptimizationStatus
    
    FileId                      : ec523d49c4f7c3c4444f0d9b952286ce40fdcee4
    FileSize                    : 549064
    TotalBytesDownloaded        : 549064
    PercentPeerCaching          : 0
    BytesFromPeers              : 0
    BytesFromHttp               : 0
    Status                      : Caching
    Priority                    : Background
    BytesFromCacheServer        : 549064
    BytesFromLanPeers           : 0
    BytesFromGroupPeers         : 0
    BytesFromInternetPeers      : 0
    BytesToLanPeers             : 0
    BytesToGroupPeers           : 0
    BytesToInternetPeers        : 0
    DownloadDuration            : 00:00:00.0780000
    HttpConnectionCount         : 2
    LanConnectionCount          : 0
    GroupConnectionCount        : 0
    InternetConnectionCount     : 0
    DownloadMode                : 99
    SourceURL                   : http://au.download.windowsupdate.com/c/msdownload/update/software/defu/2019/09/am_delta_p
                                atch_1.301.664.0_ec523d49c4f7c3c4444f0d9b952286ce40fdcee4.exe
    NumPeers                    : 0
    PredefinedCallerApplication : WU Client Download
    ExpireOn                    : 9/6/2019 8:36:19 AM
    IsPinned                    : False
    

请注意, 属性 BytesFromCacheServer 不是零。

如果未正确配置客户端,或者缓存服务器未正确安装,则传递优化客户端会回退到原始云源。 然后,该 BytesFromCacheServer 属性将为零。

在服务器上验证

首先,验证注册表属性的配置是否正确: HKLM\SOFTWARE\Microsoft\Delivery Optimization In-Network Cache。 例如,驱动器缓存位置为 PrimaryDrivesInput\DOINC-E77D08D0-5FEA-4315-8C95-10D359D59294,其中 PrimaryDrivesInput 可以是多个驱动器,例如 C,D,E

接下来,使用以下方法模拟具有必需标头的客户端下载请求到服务器。

  1. 以管理员身份打开 64 位 PowerShell 窗口。

  2. 运行以下命令,并替换 服务器 <DoincServer>的名称或 IP 地址:

    Invoke-WebRequest -URI "http://<DoincServer>/mscomtest/wuidt.gif" -Headers @{"Host"="b1.download.windowsupdate.com"}
    

    输出类似于以下示例:

    PS C:\WINDOWS\system32> Invoke-WebRequest -URI "http://SERVER01.CONTOSO.COM/mscomtest/wuidt.gif" -Headers @{"Host"="b1.download.windowsupdate.com"}
    
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : {71, 73, 70, 56...}
    RawContent        : HTTP/1.1 200 OK
                        X-HW: 1567797125.dop019.se2.t,1567797125.cds058.se2.s,1567797125.dop114.at2.r,1567797125.cds079.at2
                        .p,1567797125.cds058.se2.p
                        X-CCC: cdP+dRBgUCoZO1mezA9zhg2VwQ7P1JWTh9k+GhfQmu8=_SLwv...
    Headers           : {[X-HW, 1567797125.dop019.se2.t,1567797125.cds058.se2.s,1567797125.dop114.at2.r,1567797125.cds079.a
                        t2.p,1567797125.cds058.se2.p], [X-CCC,
                        cdP+dRBgUCoZO1mezA9zhg2VwQ7P1JWTh9k+GhfQmu8=_SLwvtSBQdT3uPQ5ikBe1ABMbdYIIncem+h5dtcLI6GY=],
                        [X-CID, 100], [Accept-Ranges, bytes]...}
    RawContentLength  : 969710
    

    以下属性指示成功:

    • StatusCode : 200
    • StatusDescription : OK

日志文件

  • 应用程序请求路由 (ARR) 安装日志%temp%\arr_setup.log

  • 连接的缓存服务器设置日志SMS_DP$\Ms.Dsp.Do.Inc.Setup\DoincSetup.log 分发点和 DistMgr.log 站点服务器上的

  • Internet Information Services (IIS) 操作日志:默认情况下, %SystemDrive%\inetpub\logs\LogFiles

  • 连接的缓存服务器操作日志C:\Doinc\Product\Install\Logs

    提示

    除其他用途外,此日志还有助于识别Microsoft云的连接问题。

安装错误代码

Configuration Manager在分发点上安装连接缓存组件时,下表列出了可能出现的错误代码:

错误代码 错误说明
0x00000000 成功
0x00000BC2 成功,需要重新启动
0x00000643 一般安装失败
0x00D00001 仅当已安装 Internet Information Services (IIS) 时,才能运行连接的缓存安装程序
0x00D00002 仅当服务器上存在“默认网站”时,才能运行连接缓存设置
0x00D00003 如果已安装应用程序请求路由 (ARR) ,则无法安装连接缓存
0x00D00004 仅当应用程序请求路由 (ARR) 由 Install.ps1 脚本安装时,才能运行连接缓存安装程序
0x00D00005 连接的缓存设置需要以管理员身份运行的 PowerShell 会话
0x00D00006 连接缓存设置只能从 64 位 PowerShell 环境运行
0x00D00007 连接缓存安装程序只能在 Windows Server 上运行
0x00D00008 失败:指定的缓存驱动器数必须与指定的缓存驱动器大小百分比匹配
0x00D00009 失败:必须提供有效的缓存节点 ID
0x00D0000A 失败:必须提供有效的缓存驱动器集
0x00D0000B 失败:必须提供有效的缓存驱动器大小百分比集
0x00D0000C 失败:必须提供有效的缓存驱动器大小百分比集或缓存驱动器大小(以 GB 为单位)
0x00D0000D 失败:无法同时提供有效的缓存驱动器大小百分比集和缓存驱动器大小(以 GB 为单位)
0x00D0000E 失败:指定的缓存驱动器数必须与指定的缓存驱动器大小(以 GB 为单位)匹配
0x00D0000F 失败:无法将applicationhost.config文件从$AppHostConfig备份到$AppHostConfigDestinationName
0x00D00010 失败:无法将默认网站web.config文件从$WebsiteConfigFilePath备份到$WebConfigDestinationName
0x00D00011 失败:SetupARRWebFarm.ps1中发生异常
0x00D00012 失败:SetupARRWebFarmRewriteRules.ps1中发生异常
0x00D00013 失败:SetupARRWebFarmProperties.ps1中发生异常
0x00D00014 失败:SetupAllowableServerVariables.ps1中发生异常
0x00D00015 失败:SetupFirewallRules.ps1中发生异常
0x00D00016 失败:SetupAppPoolProperties.ps1中发生异常
0x00D00017 失败:SetupARROutboundRules.ps1中发生异常
0x00D00018 失败:SetupARRDiskCache.ps1中发生异常
0x00D00019 失败:SetupARRProperties.ps1中发生异常
0x00D0001A 失败:SetupARRHealthProbes.ps1中发生异常
0x00D0001B 失败:VerifyIISSItesStarted.ps1中发生异常
0x00D0001C 失败:SetDrivesToHealthy.ps1中发生异常
0x00D0001D 失败:VerifyCacheNodeSetup.ps1中发生异常
0x00D0001E 如果默认网站不在端口 80 上,则无法安装连接缓存
0x00D0001F 失败:缓存驱动器分配百分比不能超过 100
0x00D00020 失败:缓存驱动器分配(以 GB 为单位)不能超过驱动器的可用空间
0x00D00021 失败:缓存驱动器分配百分比必须大于 0
0x00D00022 失败:缓存驱动器分配(以 GB 为单位)必须大于 0
0x00D00023 失败:RegisterScheduledTask_CacheNodeKeepAlive中发生异常
0x00D00024 失败:RegisterScheduledTask_Maintenance中发生异常
0x00D00025 失败:为 HTTPS 场设置重写规则时出现异常:$FarmName
0x00D00026 失败:为 HTTP 场设置重写规则时出现异常:$FarmName
0x00D00027 无法安装连接缓存,因为依赖软件“应用程序请求路由 (ARR) ”安装失败。 请参阅位于 %temp%\arr_setup.log 的日志文件

IIS 配置

连接的缓存服务器安装对分发点上的 IIS 配置进行了多项修改。

应用程序请求路由

连接的缓存服务器安装并配置 IIS 应用程序请求路由。 为了避免潜在的冲突,分发点无法安装此组件。

允许的服务器变量

安装连接缓存服务器后,默认网站具有以下 本地 服务器变量:

  • HTTP_HOST
  • QUERY_STRING
  • X-CCC
  • X-CID
  • X-DOINC-OUTBOUND

重写规则

连接的缓存服务器添加了以下重写规则:

入站重写规则

  • Doinc_ForwardToFarm_shswda01.download.manage-selfhost.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_swdc01.manage.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_swdc02.manage.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_dl.delivery.mp.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_officecdn.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_b1.download.windowsupdate.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_download.windowsupdate.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_officecdn.microsoft.com.edgesuite.net_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_au.b1.download.windowsupdate.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_assets1.xboxlive.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_au.download.windowsupdate.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_emdl.ws.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_tlu.dl.delivery.mp.microsoft.com_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_ForwardToFarm_assets2.xboxlive.com_E77D08D0-5FEA-4315-8C95-10D359D59294

出站重写规则

  • Doinc_Outbound_SetHeader_X_CID_E77D08D0-5FEA-4315-8C95-10D359D59294
  • Doinc_Outbound_SetHeader_X_CCC_E77D08D0-5FEA-4315-8C95-10D359D59294

IIS 自定义标头

如果在代理服务器上阻止具有 X-Forwarded-For 标头的请求,则允许代理服务器上的标头,或更改每个服务器场的 IIS 中的自定义标头名称。

更改每个服务器场的自定义标头名称:

  1. 打开 IIS 管理器。
  2. 选择“ 服务器场”。
  3. 选择服务器场和代理图标。
  4. “自定义标头”下,将值 X-Forwarded-For 更改为 X-Forwarded-For-<custom-name>

管理服务器资源

每个连接的缓存服务器所需的磁盘空间可能因组织的更新要求而异。 100 GB 的磁盘空间应足以缓存以下内容:

  • 功能更新
  • 两到三个月的质量和Microsoft 365 应用版更新
  • Microsoft Intune应用和 Windows 收件箱应用

连接的缓存服务器不应消耗太多系统内存或处理器时间。 安装连接缓存服务器后,如果发现大量进程或内存资源消耗,请分析 IIS 和 ARR 日志文件。

如果 IIS 和 ARR 日志文件占用了服务器上的太多空间,可以使用多种方法来管理日志文件。 有关详细信息,请参阅 管理 IIS 日志文件存储

另请参阅

Configuration Manager 中Microsoft连接的缓存