为Configuration Manager客户端配置对等缓存

适用于:Microsoft Endpoint Configuration Manager (Current Branch)

对等缓存是 Microsoft Endpoint Configuration Manager的内置解决方案,使客户端能够直接从本地缓存与其他客户端共享内容。 它扩展了传统的内容部署解决方案,例如分发点。 使用对等缓存帮助管理将内容部署到远程位置的客户端。 有关详细信息,请参阅Configuration Manager客户端的对等缓存

配置对等缓存客户端设置

若要使客户端成为对等缓存源,请执行以下步骤:

  1. 在Configuration Manager控制台中,创建设备集合。 确定要启用哪些客户端作为对等缓存源,并将其添加到集合。

  2. 转到“ 管理 ”工作区,然后选择“ 客户端设置” 节点。

  3. 选择“ 创建自定义客户端设备设置”,指定名称和说明,然后选择“ 客户端缓存设置” 组。

    屏幕截图突出显示了“创建自定义客户端设备设置”窗口中的“客户端缓存设置”。

  4. 在导航窗格中,选择“ 客户端缓存设置”,将 “启用为对等缓存源” 设置为 “是”,然后指定端口。

    屏幕截图显示客户端缓存设置的详细信息。

  5. 选择“ 确定” 以保存设置。

  6. 将此自定义客户端设置部署到步骤 1 中创建的设备集合。

无需启用对等缓存客户端。 使客户端成为对等缓存源时,管理点会将它们包含在内容位置源列表中。

对充当对等缓存源的客户端所做的更改

将客户端缓存设置部署到设备集合时,你将在对等缓存源上看到以下更改:

  • 在 下的 WMI 类实例 CCM_SuperPeerClientConfig.SiteSettingsKey=1ROOT\ccm\Policy\Machine\ActualConfig

    CanBeSuperPeer 属性的值更改为 True

  • CcmExec.log中记录了以下条目:

    Notifying endpoint 'SuperPeerController' of 1 settings change(s).
    Notifying endpoint 'SuperPeerController' of __InstanceModificationEvent settings change on object CCM_SuperPeerClientConfig.SiteSettingsKey=1 for user 'SID'.
    
  • CAS.log记录以下条目:

    SuperPeerController main thread has started.
    SuperPeerController has started
    
  • 将生成主题类型 7201 的状态消息。 StateMessage.log记录以下条目:

    Adding message with TopicType 7201 and TopicId Super Peer is now active to WMI
    State message(State ID : 2) with TopicType 7201 and TopicId Super Peer is now active has been recorded for SYSTEM
    

更改管理点

状态消息的格式设置为 XML,然后通过 CCMMessaging (MP_RelayEndpoint) 发送到管理点。

你将在 MP_Relay.log 文件中看到以下条目:

Message Body :
<?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1</ClientType><ClientID>GUID:xxxx</ClientID><ClientVersion>5.00.9040.1015</ClientVersion><NetBIOSName>TestClient</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID><Priority>1</Priority></Machine></Identification></ReportDetails></ReportHeader><ReportBody><Topic ID="Super Peer is now active" Type="7201" IDType="0" User="" UserSID=""/><State ID="2"Criticality="0"/><StateDetails Type="1"><![CDATA[<ContentList><Content id="CAS00015" version="1" Flag="0"/></ContentList>]]></StateDetails><UserParameters Flags="0" Count="1"><Param>8003</Param></UserParameters></StateMessage></ReportBody></Report>

当站点服务器收到状态消息时,它会调用 spUpdateSuperPeerStatus 存储过程来更新下表:

  • SuperPeers
  • SuperPeerContentMap

配置用于对等下载的边界组选项

  1. 在Configuration Manager控制台中,转到“管理”工作区,然后选择“层次结构配置>边界组”。

  2. 找到包含对等缓存客户端和对等缓存源的边界组。

  3. 右键单击边界组,然后选择“ 属性”。

  4. 选择“ 选项 ”选项卡,然后启用 “允许此边界组中的对等下载” 设置。

    “选项”选项卡下的“允许在此边界组中下载对等项”设置的屏幕截图。

示例方案

以下示例用于显示对等缓存在内容部署期间的工作原理。

将应用程序部署到对等缓存源

在对等缓存源上部署并安装应用程序时,内容访问服务会生成主题类型 7200 的状态消息。 以下条目记录StateMessage.log:

State message(State ID : 1) with TopicType 7200 and TopicId Cache add CAS00015.1 has been recorded for SYSTEM

状态消息通过 CCMMessaging 发送到管理点。

当站点服务器收到此状态消息时,将更新 SuperPeerContentMap 表。

将应用程序部署到对等缓存客户端

客户端下载应用程序的策略。 对于 必需 部署,客户端会将请求发送到内容位置的管理点。

以下条目记录在 LocationServices.log:

ContentLocationRequest : <ContentLocationRequest SchemaVersion="1.00" BGRVersion="1" ClientInOperation="PT0M" ExcludeFileList=""><Package ID="CAS00015" Version="1"
DeploymentFlags="9223372036855313105"/><AssignedSite SiteCode="P01"/><ClientLocationInfo LocationType="SMSPackage" DistributeOnDemand="0" UseAzure="1" AllowWUMU="0" UseInternetDP="0" AllowHTTP="1" AllowSMB="1" AllowMulticast="1" AllowSuperPeer="1" DPTokenAuth="1"><ADSite Name="Default-First-Site-Name"/><Forest Name="Contoso.Com"/><Domain Name="Contoso.Com"/><IPAddresses><IPAddress SubnetAddress="192.X.X.X" Address="192.X.X.X"/></IPAddresses><Adapters><Adapter Name="Ethernet" IfType="6" PhysicalAddressExists="1" DnsSuffix="abc.com" Description="Network Adapter"/></Adapters><BoundaryGroups BoundaryGroupListRetrieveTime="2021-04-03T14:03:16.603" IsOnVPN="0"><BoundaryGroup GroupID="5" GroupGUID="xxxx" GroupFlag="0"/><DOINCServers><DOINCServer DOINCServer="P01.Contoso.Com"/></DOINCServers></BoundaryGroups></ClientLocationInfo></ContentLocationRequest> LocationServices

注意

由于边界 组中启用了“允许在此边界组中下载” 选项, 因此请求中的 AllowSuperPeer 设置为 1 。 否则, AllowSuperPeer 在请求中设置为 0

若要使用对等缓存源进行内容下载,请为包含客户端的每个 边界组启用“允许在此边界组中下载” 选项。

管理点通过返回内容位置列表进行答复。 还可以在LocationServices.log中找到该列表:

Calling back with the following distribution points 
Distribution Point='https://TestClient.Contoso.Com:8003/SCCM_BranchCache$/CAS00015', Locality='SUBNETPEER', Version='9040', Capabilities='<Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="63"/></Capabilities>', Signature='', ForestTrust='TRUE', BlockInfo='0'        
Distribution Point='http://P01.Contoso.com/SMS_DP_SMSPKG$/CAS00015', Locality='SUBNET', Version='9040', Capabilities='<Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"/></Capabilities>', Signature='http://P01.Contoso.Com/SMS_DP_SMSSIG$/CAS00015', ForestTrust='TRUE', BlockInfo='0'        
Distribution Point='https://P01.Contoso.Com/CCMTOKENAUTH_SMS_DP_SMSPKG$/CAS00015', Locality='SUBNET', Version='9040', Capabilities='<Capabilities SchemaVersion="1.0"><Property Name="SSLState" Value="0"/><Property Name="AuthMethod" Value="1024"/></Capabilities>', Signature='https://P01.Contoso.Com/CCMTOKENAUTH_SMS_DP_SMSSIG$/CAS00015', ForestTrust='TRUE', BlockInfo='0'

ContentTransferManager.log还显示包含对等缓存源和分发点的内容位置:

ContentTransferManager    4324 (0x10e4)    Persisted locations for CTM job {139431E9-B106-49DC-B7A8-543D55110DE6}:
(SUBNETPEER) https://TestClient.Contoso.Com:8003/SCCM_BranchCache$/CAS00015
(SUBNET) http://P01.Contoso.Com/SMS_DP_SMSPKG$/CAS00015
(SUBNET) https://P01.Contoso.Com/CCMTOKENAUTH_SMS_DP_SMSPKG$/CAS00015

对等缓存客户端优先考虑对等缓存源以下载内容。 此优先级显示在 DataTransferService.log 的以下条目中:

 DTSJob {0C3B06F6-E85D-4C54-9B4F-0B316B33AA5B} created to download from 'https://TestClient.Contoso.Com:8003/SCCM_BranchCache$/CAS00015' to 'C:\windows\ccmcache\1'.

注意

  • 客户端只能从其当前边界组中的对等缓存源下载内容。
  • 如果客户端回退到内容的相邻边界组,则管理点不会将相邻边界组中的对等缓存源添加到潜在内容源位置列表。
  • 如果客户端位于多个边界组中,请在每个 边界组中启用“允许在此边界组中下载对等互连 ”选项。 如果在任何边界组中禁用此选项,则客户端将不会使用对等缓存优化。