为 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'.

注意

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