Compartilhar via


Criar um arquivo de entrada do Servidor de Borda personalizado

 

Tópico modificado em: 2011-04-05

O tópico anterior, Definir o arquivo de entrada do Servidor de Borda, definiu os blocos de construção do arquivo de entrada necessário para mesclar a topologia herdada usando o Shell de Gerenciamento do Lync Server. Este tópico analisa mais profundamente o layout e a finalidade do arquivo input.xml. Ele explica os vários parâmetros que você precisa definir ao criar o arquivo input.xml do Servidor de Borda.

O arquivo input.xml, que pode ser criado usando qualquer editor de texto, deve se parecer com isso:

<?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>

Então, o que significa tudo aquilo? Bom, para começar, seu arquivo XML deve iniciar com a seguinte declaração XML: <?xml version="1.0" encoding="utf-8"?>

noteObservação:
Embora opcional, a declaração XML ajuda a evitar qualquer confusão relativa à versão ou ao tipo de codificação usado no arquivo.

Após a declaração XML, você deve inserir o elemento <TopologyInput>, algo como:

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

Esse elemento é muito importante: se <TopologyInput> não estiver presente, a validação do esquema não ocorrerá. Por sua vez, poderia levar o Merge-CsLegacyTopology a uma tentativa de mesclagem com um arquivo XML mal formado e, justamente por ser um arquivo XML, é importante que seja bem formado. Como resultado, é preciso também inserir uma tag de fechamento para o elemento <TopologyInput>: </TopologyInput>

Isso significa que, agora, o seu arquivo XML deve se parecer com isso:

<?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>

Com a estrutura básica do arquivo funcionando, agora você está pronto para identificar os componentes do Servidor de Borda implantado no Office Communications Server. Isso é algo que você faz dentro do elemento <EdgeClusters>. Com isso em mente, seu próximo passo é adicionar tags de abertura e de fechamento para o elemento <EdgeClusters> ao arquivo 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>

Dentro do elemento <EdgeClusters>, você adiciona até cinco elementos filho:

  • <EdgeCluster>   O elemento <EdgeCluster> é onde você define as diferentes funções do Servidor de Borda e usa topologia Office Communications Server existente. Há três funções com as quais você precisa se preocupar:

    • Servidor de Borda de Acesso do Lync   Anteriomente conhecido como servidor de Proxy de Acesso, o Servidor de Borda de Acesso é responsável por cuidar de todo o tráfego de SIP que cruza o firewall da sua organização. Se sua topologia incluir um Servidor de Borda de Acesso, você precisará adicionar este atributo ao elemento <EdgeCluster>: AP="true"

    • Servidor de Borda de Webconferência   Também conhecido como servidor de Proxy de Dados, o Servidor de Borda de Webconferência retransmite o tráfego entre o Servidor de Conferência A/V e os clientes externos. Se sua topologia incluir um Servidor de Borda de Conferência, você precisará adicionar este atributo ao elemento <EdgeCluster>: DP="true"

    • Servidor de Borda A/V   Também conhecido como servidor Media Relay server, o Servidor de Borda A/V oferece um ponto único de conexão que permite a entrada e a saída do tráfego de mídia para ajudar os dispositivos de firewall e de conversão de endereços de rede (NAT). Se sua topologia incluir um Servidor de Borda A/V, você precisará adicionar este atributo ao elemento <EdgeCluster>: MR="true"

      Depois, especifique qual versão do Office Communications Server está sendo executada no seu domínio herdado. Para o Office Communications Server 2007 R2, use esse este atributo e valor de atributo: Version="OCS2007R2"

      Por fim, se a federação foi habilitada no Office Communications Server, você deve adicionar oa tributo FederationEnabled ao elemento <EdgeCluster>: FederationEnabled="true"

      Um elemento completo <EdgeCluster> terá uma aparência semelhante a esta:

      <EdgeCluster AP="true" MR="true" DP="true" Version="OCS2007R2">
      
  • <LoadBalancer>   O elemento <LoadBalancer> contém os FQDNs tanto para os balanceadores de carga internos do Servidor de Borda quanto para os externos. Observe que, para os externos, é preciso especificar todos os seus balanceadores de carga, incluindo os da Borda de Acesso (AP), da Webconferência (DP) e da Borda A/V (MR). Uma tag completa <LoadBalancer> terá uma aparência semelhante a esta:

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

    Se os balanceadores de carga do Servidor de Borda não forem usados, esse elemento pode ser omitido.

  • <Machine>   O elemento <Machine> contém o (FQDN) do seu Servidor de Borda (observe que esse deve ser o nome interno do servidor). Por exemplo: <Machine InternalFqdn="node1.fqdn " />

  • <Ports>   Use o elemento <Ports> para indicar as portas usadas pelos Servidores de Borda. Uma APPort indica um Servidor de Borda de Acesso, uma DPPort indica um Servidor de Borda de Webconferência, e uma MRPort indica um Servidor Media Relay. Certifique-se de distinguir corretamente entre portas internas e externas. O exemplo a seguir define as portas InternalAPPort, InternalDPPort e ExternalDPPort:

    <Ports InternalAPPort="5061" InternalDPPort="8057" ExternalDPPort="443"/>
    
  • <DirectorOrEdgeNextHop>   O elemento <DirectorOrEdgeNextHop> contém o FQDN do servidor do próximo salto do Servidor de Borda: <DirectorOrEdgeNextHop Fqdn="director.fqdn.com " /> Se o próximo salto de servidor for um Diretor, deve ser adicionado o atributo IsDirector="true":

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

    Se o atributo IsDirector não estiver definido como "True", o Lync Server 2010 não terá como usar o Diretor do Office Communications Server 2007 R2 para federação.

    Após a conclusão, o elemento deverá se parecer com o seguinte:

    <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> 
    

Agora só resta adicionar o elemento <RegistrarClusterPort>. Está é a seção do arquivo XML na qual se define a porta e o tipo de transporte do seu cluster de Registrador. Um elemento <RegistrarClusterPort> completo que defina a porta 5065 e o tipo de transporte MTLS, parecerá com o seguinte:

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

As condições a seguir se aplicam ao parâmetro EnableAutoDiscoveryOfPorts:

  • EnableAutoDiscoveryOfPorts é um parâmetro obrigatório, mas Port é opcional.

  • Se EnableAutoDiscoveryOfPorts for verdadeiro, e Port for oferecido, aí o valor de Port é ignorado.

  • Se EnableAutoDiscoveryOfPorts for falso, e Port for oferecido, aí o valor de Port é usado.

  • Se EnableAutoDiscoveryOfPorts for falso, e Port nem for oferecido, um erro é registrado por ser uma configuração não suportada.

Por fim, isso nos dá um arquivo XML que pode ser usado com o cmdlet do Merge-CsLegacyTopology:

<?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>