Como configurar o FTP para IIS em um cluster de failover do Windows Server

Este artigo descreve como configurar o FTP para o IIS (Internet Information Services) 8.0 ou uma versão posterior em um cluster de failover do Windows Server. Os procedimentos neste artigo se aplicam apenas ao serviço FTP.

Observação

Para obter mais informações sobre como configurar serviços Web em um cluster de failover, clique no número do artigo a seguir para exibir o artigo na Base de Dados de Conhecimento da Microsoft:

970759 Configurar o Serviço de Publicação Web do IIS world wide em um cluster de failover do Windows Server

Aplica-se a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 974603

Configurar alta disponibilidade para servidores FTP do IIS usando Clustering de Failover

  1. Instale a função Servidor Web em todos os nós de cluster. Se você estiver instalando no Windows Server 2012, não inclua a função "FTP Server". Se você estiver instalando no Windows Server 2012 R2 ou em uma versão posterior, inclua a função "FTP Server" na caixa. Para obter mais informações sobre o guia de implantação do IIS 8, visite o seguinte site: Open IIS Manager (IIS 8)

  2. Instale o recurso Clustering de Failover em todos os nós de cluster e crie o cluster. Para obter mais informações, visite o seguinte site: Guia de implantação do cluster de failover

  3. Configure um compartilhamento de arquivo que será usado para a Configuração Compartilhada do IIS.

  4. Configurar a Configuração Compartilhada do IIS em todos os nós de cluster.

  5. Configurar arquivos offline para configuração compartilhada do IIS em todos os nós de cluster.

  6. Configure o site FTP e especifique o local de seu conteúdo em um nó de cluster.

  7. Configure alta disponibilidade para seu site FTP criando um script genérico no Clustering de Failover.

Configurar um compartilhamento de arquivo que será usado para configuração compartilhada do IIS

  1. Crie um usuário que acessará o compartilhamento que será usado para a configuração compartilhada do IIS.

  2. Crie o compartilhamento de arquivos. Esse compartilhamento será usado para armazenar a configuração compartilhada do IIS que será compartilhada entre o IIS em todos os nós de cluster. Há várias opções:

  3. Defina as permissões no compartilhamento que você criou na etapa 2. Forneça ao usuário que você criou na etapa 1 permissões de Controle Completo para o compartilhamento de arquivos e permissões NTFS.

  4. Confirme se todos os nós de cluster podem navegar até o compartilhamento de arquivos. O caminho do compartilhamento de arquivos é \\<fileservername>\<sharename>.

Configurar a configuração compartilhada do IIS em todos os nós de cluster

Em um dos nós de cluster, exporte a configuração compartilhada para o compartilhamento de arquivos:

  1. Navegue até Ferramentas Administrativas e selecione Gerenciador de Serviços de Informações da Internet (IIS).
  2. No painel esquerdo, selecione o nó nome do servidor.
  3. Clique duas vezes no ícone Configuração Compartilhada .
  4. Na página Configuração Compartilhada, selecione Exportar Configuração no painel Ações (o painel direito) para exportar os arquivos de configuração do computador local para outro local.
  5. Na caixa de diálogo Configuração de Exportação , digite o caminho do compartilhamento de arquivos (\\<fileservername>\<sharename>) na caixa Caminho físico .
  6. Selecione Conectar Como e digite o nome de usuário e a senha da conta de usuário que tem acesso ao compartilhamento no qual a configuração compartilhada é armazenada e selecione OK. Essa conta será usada para acessar o compartilhamento. Você deve usar uma conta restrita do Active Directory que não é o administrador de domínio.
  7. Na caixa de diálogo Configuração de Exportação , digite uma senha que será usada para proteger as chaves de criptografia e selecione OK.
  8. Na página Configuração Compartilhada, selecione a caixa Habilitar marcar de configuração compartilhada.
  9. Digite o caminho físico, a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações .
  10. Na caixa de diálogo Senha de Chaves de Criptografia , digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
  11. Na caixa de diálogo Configuração Compartilhada, selecione OK.
  12. Selecione OK.

Em cada um dos outros nós de cluster, use a configuração compartilhada que você acabou de exportar para o compartilhamento de arquivos:

  1. Navegue até Ferramentas Administrativas e selecione Gerenciador de Serviços de Informações da Internet (IIS).
  2. Selecione o nó nome do servidor.
  3. Clique duas vezes no ícone Configuração Compartilhada .
  4. Na página Configuração Compartilhada, selecione a caixa Habilitar marcar de configuração compartilhada.
  5. Digite o caminho físico do compartilhamento de arquivos (\\<fileservername>\<sharename>), a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações .
  6. Na caixa de diálogo Senha de Chaves de Criptografia , digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
  7. Na caixa de diálogo Configuração Compartilhada, selecione OK.
  8. Selecione OK.

Observação

Para obter mais informações sobre como configurar configurações compartilhadas no IIS, visite o seguinte site da Microsoft: Configuração Compartilhada

Configurar arquivos offline para configuração compartilhada do IIS em todos os nós de cluster

Em cada nó de cluster, habilite Arquivos Offline:

  1. Instale o recurso Experiência da Área de Trabalho. Para fazer isso, siga estas etapas:

    1. Navegue até Ferramentas Administrativas e selecione Gerenciador do Servidor.
    2. No painel esquerdo, selecione Recursos.
    3. Selecione Adicionar Recursos no painel direito.
    4. Faça um dos seguintes procedimentos, conforme apropriado para sua versão do Windows:
  2. Faça o seguinte:
    Para Windows Server 2012, 2012 R2 e 2016, selecione Central de Sincronização em Painel de Controle e selecione Gerenciar arquivos offline.

  3. Selecione Habilitar arquivos offline. Não reinicie o computador neste momento.

  4. Verifique se o cache está definido como somente leitura. Para fazer isso, execute o seguinte comando em um prompt de cmd elevado:

    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
    
  5. Reinicie o computador.

  6. Navegue até o servidor de arquivos do computador. Clique com o botão direito do mouse no compartilhamento que contém a configuração compartilhada do IIS e selecione Always Available Offline.

    Observação

    Se você configurar o compartilhamento de arquivos para estar altamente disponível no mesmo cluster de failover em que hospeda nós do IIS, a opção Always Available Offline não será exibida quando você clicar com o botão direito do mouse no compartilhamento se o nó de cluster em que você está hospedando o servidor de arquivos altamente disponível. Você terá que mover o aplicativo de servidor de arquivos de alta disponibilidade para outro nó.

  7. Em Painel de Controle, abra Arquivos Offline. Selecione Abrir Central de Sincronização e, em seguida, selecione Agendar.

  8. Agende uma sincronização de arquivos offline para cada dia ou de acordo com seus requisitos. Você também pode configurar a sincronização offline para ser executada a cada poucos minutos. Mesmo que você não configure um agendador, ao alterar algo no arquivo Applicationhost.config, a alteração será refletida no servidor Web.

Observação

Para obter mais informações sobre como configurar arquivos offline para uma configuração compartilhada no IIS, consulte Arquivos Offline para Configuração Compartilhada.

Configurar o site FTP e especificar o local de seu conteúdo em um nó de cluster

Localize o nó de cluster que possui o recurso de disco de cluster em que os arquivos de conteúdo do site FTP residirão:

  1. Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.
  2. Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.
  3. Em "Armazenamento", localize o recurso de disco no qual o conteúdo do site FTP residirá. Para fazer isso, expanda a árvore de armazenamento para o recurso de disco. Verifique se o armazenamento não é usado por nenhum outro aplicativo de alta disponibilidade no cluster. Você encontrará o armazenamento em "Armazenamento Disponível".
  4. Observe o nó de cluster no qual esse recurso está online. Você configurará o IIS nesse nó de cluster.
  5. Observe o nome do recurso do disco de cluster. Você usará isso para os arquivos de conteúdo.

No nó de cluster no qual o recurso está online, configure o servidor FTP para usar o disco compartilhado para o conteúdo do site FTP:

  1. Navegue até Ferramentas Administrativas e selecione Gerenciador de Serviços de Informações da Internet (IIS).
  2. No painel esquerdo, expanda o nó nome do servidor.
  3. Expanda Sites, clique com o botão direito do mouse em Sites e selecione Adicionar Site FTP.
  4. Na caixa de diálogo Adicionar Site FTP , digite o nome do site. Para o diretório de conteúdo, digite o local em que os arquivos de conteúdo do site FTP estão localizados. Este é o local do recurso de disco de cluster que você observou na etapa 5 do procedimento anterior.
  5. Configure as configurações restantes do site FTP.
  6. Selecione Concluir.

Configurar alta disponibilidade para seu site FTP criando um script genérico no Gerenciador de Cluster de Failover

Para que a última etapa configure alta disponibilidade para o site FTP, configure o recurso de script genérico que será usado para monitorar o serviço FTP:

  1. Em cada nó de cluster, copie o script no final deste artigo para Windows\System32\inetsrv\Clusftp7.vbs.
  2. Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.
  3. Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.
  4. Faça o seguinte:
    Para Windows Server 2012, 2012 R2 e 2016, clique com o botão direito do mouse em Funções e selecione Configurar Função para criá-la.
  5. Clique em Script Genérico.
  6. Selecione o arquivo de script no seguinte caminho:
    %systemroot%\System32\Inetsrv\Clusftp7.vbs
  7. Defina o nome do CAP (Ponto de Acesso ao Cliente) como o nome do site FTP que os clientes usarão para se conectar ao site FTP de alta disponibilidade. Especifique os IPs estáticos a serem usados para o CAP do site FTP. Se você estiver usando o DHCP (Protocolo de Configuração do Host Dinâmico), essa opção não será exibida.
  8. Na etapa Selecionar Armazenamento, selecione o disco compartilhado do cluster no qual residem os arquivos de conteúdo do site FTP. O armazenamento deve ser não utilizado por qualquer outro aplicativo de alta disponibilidade no cluster. Se o compartilhamento de arquivo usado para a configuração compartilhada do IIS estiver hospedado no mesmo cluster, um recurso de disco diferente deverá ser usado aqui.
  9. Depois de confirmar as configurações, o assistente criará o grupo de cluster, os recursos de cluster e as dependências entre os recursos e, em seguida, colocará os recursos online.

Observação

Para hospedar vários sites FTP de alta disponibilidade no mesmo cluster de failover, siga as mesmas etapas mencionadas anteriormente. Você pode apontar para o mesmo arquivo de script para todos os sites FTP no cluster se não personalizar o script. No entanto, se você fizer alterações específicas para os sites ftp individuais, use um arquivo de script diferente para cada site FTP e armazenamento compartilhado clusterizado diferente. Por exemplo, no %systemroot%\System32\Inetsrv, useClusftp7.vbs primeiro site FTP, Clftp7-2.vbsfor o segundo, Clftp7-3.vbsfor o terceiro e assim por diante. Cada arquivo de script monitora um site FTP diferente.

Importante

O script a seguir é somente para fins de exemplo e não tem suporte explícito da Microsoft. O uso desse script em um ambiente clusterizado de FTP do IIS 8.0 é feito por sua conta e risco.


'<begin script sample>

'This script provides high availability for IIS FTP websites
'The script is applicable to:
'   - Windows Server 2012: Microsoft FTP Service 7.5 for IIS 8.0 (available for download from microsoft.com)
'   - Windows Server 2012 R2 or a later version: FTP Service in the box

'More thorough and application-specific health monitoring logic can be added to the script if needed


Option Explicit



'Helper script functions


'Start the FTP service on this node
Function StartFTPSVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='ftpsvc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartFTPSVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartFTPSVC = False
        Else
            StartFTPSVC = True
        End If
    End If

End Function

'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the FTP service is started
Function Online( )

    Dim bOnline
    'Make sure FTP service is started
    bOnline = StartFTPSVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because ftpsvc could not be started."
        Online = False
        Exit Function
    End If

    Online = true

End Function

'Cluster resource offline entry point
'On offline, do nothing.
Function Offline( )

    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the state of the FTP service
Function LooksAlive( )

    Dim objWmiProvider
    Dim objService
    Dim strServiceState

    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='ftpsvc'")
    strServiceState = objService.state

    if ucase(strServiceState) = "RUNNING" Then
LooksAlive = True
    Else
LooksAlive = False
    End If

End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function