共用方式為


建立自訂 Edge Server 輸入檔案

 

上次修改主題的時間: 2011-04-05

在上一個主題<定義 Edge Server 輸入檔案>中,已定義使用 Lync Server 管理命令介面合併舊版拓撲所需之輸入檔案的建置組塊。本主題會深入探討 input.xml 檔案的版面配置及用途,並說明在撰寫 Edge Server input.xml 檔案時需要設定的各種參數。

您可使用任何文字編輯器建立input.xml 檔案,其應該會類似:

<?xml version="1.0" encoding="utf-8"?>
<TopologyInput xmlns="urn:schema:Microsoft.Rtc.Management.Deploy.LegacyUserInput.2008"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EdgeClusters>
    <EdgeCluster AP="true" MR="true" DP="true" Version="OCS2007R2">
    <LoadBalancer InternalFqdn="edgeint.fqdn" ExternalDPFqdn="ExternalDP.Fqdn " />  
    <Machines>
      <Machine InternalFqdn = "node1.fqdn"/>
      <Machine InternalFqdn = "anothernode1.fqdn"/>
    </Machines>
    <Ports InternalAPPort="5061" InternalDPPort="8057"    ExternalDPPort="443"/>
    <DirectorOrEdgeNextHop Fqdn="director.fqdn.com " />
    </EdgeCluster>
</EdgeClusters>
    <RegistrarClusterPort EnableAutoDiscoveryOfPorts = "false" Port = "5065" />
</TopologyInput>

這代表什麼?首先,您必須在 XML 檔案的開頭宣告如下:<?xml version="1.0" encoding="utf-8"?>

note附註:
此 XML 宣告雖非必要,但卻可避免檔案所使用的版本與編碼類型混淆不清。

在 XML 宣告之後,應仿照下列所示插入 <TopologyInput> 元素:

<TopologyInput xmlns="urn:schema:Microsoft.Rtc.Management.Deploy.LegacyUserInput.2008"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

這個元素非常重要:如果未使用 <TopologyInput>,就不會進行架構驗證。因此,這會導致 Merge-CsLegacyTopology 嘗試合併格式不完整的 XML 檔案。正因為是使用 XML 檔,所以格式完整的 XML 檔是非常重要的。如此一來,您也需要為下列 <TopologyInput> 元素新增結尾標籤:</TopologyInput>

完成之後,您的 XML 檔案外觀應與下列相仿:

<?xml version="1.0" encoding="utf-8"?>
<TopologyInput xmlns="urn:schema:Microsoft.Rtc.Management.Deploy.LegacyUserInput.2008"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</TopologyInput>

基本檔案結構就緒後,您就可以識別部署在 Office Communications Server 中的 Edge Server 元件。這就是您會在 <EdgeClusters> 元素中執行的工作。因此,下一個步驟就是為 <EdgeClusters> 元素新增起始和結尾標籤至 XML 檔:

<?xml version="1.0" encoding="utf-8"?>
<TopologyInput xmlns="urn:schema:Microsoft.Rtc.Management.Deploy.LegacyUserInput.2008"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<EdgeClusters>

</EdgeClusters>

</TopologyInput>

接著在 <EdgeClusters> 元素內加入五項子元素:

  • <EdgeCluster>   您會在 <EdgeCluster> 元素中定義現有 Office Communications Server 拓撲中不同的 Edge Server 角色。您必須考量下列三種角色:

    • Lync Access Edge Server   Access Edge Server 過去稱為 Access Proxy 伺服器,其負責處理所有通過您組織防火牆的 SIP 流量。若您的拓撲包含 Access Edge Server,您就需要將下列屬性新增至 <EdgeCluster> 元素:AP="true"

    • Web Conferencing Edge Server   Web Conferencing Edge Server (也稱為資料 Proxy 伺服器) 會轉送 A/V 會議伺服器和外部用戶端之間的流量。若您的拓撲包含 Web Conferencing Edge Server,您就需要將下列屬性新增至 <EdgeCluster> 元素:DP="true"

    • A/V Edge Server   A/V Edge Server (也稱為媒體轉送伺服器) 可提供單一連線點供輸入和輸出媒體流量,以利防火牆與網路位址轉譯 (NAT) 裝置。若您的拓撲包含 A/V Edge Server,您就需要將下列屬性新增至 <EdgeCluster> 元素:MR="true"

      接著,請指定在您舊有網域中執行的 Office Communications Server 版本。若是 Office Communications Server 2007 R2,請使用下列屬性與屬性值:Version="OCS2007R2"

      最後,若您已在 Office Communications Server 中啟用同盟,您就應該將下列 FederationEnabled 屬性新增至 <EdgeCluster> 元素:FederationEnabled="true"

      完成的 <EdgeCluster> 元素應該會類似:

      <EdgeCluster AP="true" MR="true" DP="true" Version="OCS2007R2">
      
  • <LoadBalancer>   <LoadBalancer> 元素包含您內部 Edge Server 負載平衡器和外部 Edge Server 負載平衡器的完整網域名稱 (FQDN)。請注意,若是外部負載平衡器,您必須指定所有負載平衡器,包括 Access Edge (AP)、Web Conferencing (DP) 與 A/V Edge (MR) 負載平衡器。完整的 <LoadBalancer> 標籤應該會類似:

    <LoadBalancer InternalFqdn="edgeint.fqdn " ExternalDPFqdn="ExternalDP.Fqdn" />
    

    如果您不使用 Edge Server 負載平衡器,則可略過此元素。

  • <Machine>   <Machine> 元素包含您 Edge Server 的 FQDN (請注意,這應是伺服器的內部名稱)。例如:<Machine InternalFqdn="node1.fqdn " />

  • <Ports>   使用 <Ports> 元素來指出 Edge Server 所用的連接埠。APPort 會指出 Access Edge Server,DPPort 會指出 Web Conferencing Edge Server,而 MRPort 會指出媒體轉送伺服器。請務必區分出內部和外部連接埠。下列範例會定義出連接埠 InternalAPPort、InternalDPPort 和 ExternalDPPort:

    <Ports InternalAPPort="5061" InternalDPPort="8057" ExternalDPPort="443"/>
    
  • <DirectorOrEdgeNextHop>   <DirectorOrEdgeNextHop> 元素包含您 Edge Server 之下一個躍點伺服器的 FQDN:<DirectorOrEdgeNextHop Fqdn="director.fqdn.com " /> 若下一個躍點伺服器是 Director,您必須新增下列屬性:IsDirector="true":

    <DirectorOrEdgeNextHop Fqdn=" director.fqdn.com " IsDirector="true" /> 
    

    IsDirector 屬性不是設為 "True",則 Lync Server 2010 就無法使用同盟的 Office Communications Server 2007 R2 Director。

    完成之後,該元素的外觀應與下列相仿:

    <EdgeClusters>
          <EdgeCluster AP="true" MR="true" DP="true" Version="OCS2007R2">
         <LoadBalancer InternalFqdn="edgeint.fqdn" ExternalDPFqdn="ExternalDP.Fqdn  />
         <Machines>
          <Machine InternalFqdn = "node1.fqdn"/>
          <Machine InternalFqdn = "anothernode1.fqdn"/>
         </Machines>
         <Ports InternalAPPort="5061" InternalDPPort="8057" ExternalDPPort="443"/>
           <DirectorOrEdgeNextHop Fqdn="director.fqdn.com " />    
          </EdgeCluster>
    </EdgeClusters> 
    

現在您只需要新增 <RegistrarClusterPort> 元素即可;這是 XML 檔中的一個區段,您會在其中為登錄器叢集定義連接埠與傳輸類型。完成的 <RegistrarClusterPort> 元素 (定義了連接埠 5065 與 MTLS 傳輸類型) 看起來如下:

<RegistrarClusterPort EnableAutoDiscoveryOfPorts = "false" Port = "5065" /> 

下列條件會套用到 EnableAutoDiscoveryOfPorts 參數:

  • EnableAutoDiscoveryOfPorts 為必要參數,但 Port 為選用參數。

  • 若 EnableAutoDiscoveryOfPorts 為 true,同時又提供了 Port,將會忽略 Port 的值。

  • 若 EnableAutoDiscoveryOfPorts 為 false,同時又提供了 Port,將會使用 Port 的值。

  • 若 EnableAutoDiscoveryOfPorts 為 false,同時未提供 Port,會將其登記為錯誤,因為此設定不受支援。

因此,最後產生的 XML 檔就可以搭配 Merge-CsLegacyTopology Cmdlet 使用:

<?xml version="1.0" encoding="utf-8"?>
<TopologyInput xmlns="urn:schema:Microsoft.Rtc.Management.Deploy.LegacyUserInput.2008"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EdgeClusters>
   <EdgeCluster AP="true" MR="true" DP="true" Version="OCS2007R2" FederationEnabled="true">
    <LoadBalancer InternalFqdn="edgeint.fqdn" ExternalDPFqdn="ExternalDP.Fqdn " />
    <Machines>
      <Machine InternalFqdn = "node1.fqdn"/>
      <Machine InternalFqdn = "anothernode1.fqdn"/>
    </Machines>
    <Ports InternalAPPort="5061" InternalDPPort="8057" ExternalDPPort="443"/> 
    <DirectorOrEdgeNextHop Fqdn="director.fqdn.com " />
   </EdgeCluster>
</EdgeClusters>
   <RegistrarClusterPort EnableAutoDiscoveryOfPorts = "false" Port = "5065" /> 
</TopologyInput>