建立自訂 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"?>
附註: |
---|
此 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>