Come configurare FTP per IIS in un cluster di failover di Windows Server

Questo articolo descrive come configurare FTP per Internet Information Services (IIS) 8.0 o una versione successiva in un cluster di failover di Windows Server. Le procedure descritte in questo articolo si applicano solo al servizio FTP.

Nota

Per altre informazioni su come configurare i servizi Web in un cluster di failover, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente:

970759 Configurazione del servizio Pubblicazione Sul Web IIS in un cluster di failover di Windows Server

Si applica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numero KB originale: 974603

Configurare la disponibilità elevata per i server FTP IIS tramite clustering di failover

  1. Installare il ruolo Server Web in tutti i nodi del cluster. Se si esegue l'installazione in Windows Server 2012, non includere il ruolo "Server FTP". Se si esegue l'installazione in Windows Server 2012 R2 o versione successiva, includere il ruolo "Server FTP" predefinito. Per altre informazioni sulla guida alla distribuzione di IIS 8, visitare il sito Web seguente: Aprire Gestione IIS (IIS 8)

  2. Installare la funzionalità Clustering di failover in tutti i nodi del cluster e creare il cluster. Per altre informazioni, visitare il sito Web seguente: Guida alla distribuzione del cluster di failover

  3. Configurare una condivisione file che verrà usata per la configurazione condivisa IIS.

  4. Configurare la configurazione condivisa di IIS in tutti i nodi del cluster.

  5. Configurare i file offline per la configurazione condivisa IIS in tutti i nodi del cluster.

  6. Configurare il sito FTP e specificare il percorso del relativo contenuto in un nodo del cluster.

  7. Configurare la disponibilità elevata per il sito FTP creando uno script generico in Clustering di failover.

Configurare una condivisione file che verrà usata per la configurazione condivisa iis

  1. Creare un utente che accederà alla condivisione che verrà usata per la configurazione condivisa di IIS.

  2. Creare la condivisione file. Questa condivisione verrà usata per archiviare la configurazione condivisa iis che verrà condivisa tra IIS in tutti i nodi del cluster. Sono disponibili più opzioni:

  3. Impostare le autorizzazioni per la condivisione creata nel passaggio 2. Concedere all'utente creato nel passaggio 1 autorizzazioni di controllo completo per la condivisione file e le autorizzazioni NTFS.

  4. Verificare che tutti i nodi del cluster possano passare alla condivisione file. Il percorso della condivisione file è \\<fileservername>\<sharename>.

Configurare la configurazione condivisa di IIS in tutti i nodi del cluster

In uno dei nodi del cluster esportare la configurazione condivisa nella condivisione file:

  1. Passare a Strumenti di amministrazione e quindi selezionare Gestione Internet Information Services (IIS).
  2. Nel riquadro sinistro selezionare il nodo del nome del server.
  3. Fare doppio clic sull'icona Configurazione condivisa .
  4. Nella pagina Configurazione condivisa selezionare Esporta configurazione nel riquadro Azioni (riquadro destro) per esportare i file di configurazione dal computer locale in un altro percorso.
  5. Nella finestra di dialogo Esporta configurazione digitare il percorso della condivisione file (\\<fileservername>\<sharename>) nella casella Percorso fisico .
  6. Selezionare Connetti come e quindi digitare il nome utente e la password per l'account utente che ha accesso alla condivisione in cui è archiviata la configurazione condivisa e quindi selezionare OK. Questo account verrà usato per accedere alla condivisione. È consigliabile usare un account Active Directory con restrizioni che non è l'amministratore di dominio.
  7. Nella finestra di dialogo Esporta configurazione digitare una password che verrà usata per proteggere le chiavi di crittografia e quindi selezionare OK.
  8. Nella pagina Configurazione condivisa selezionare la casella di controllo Abilita configurazione condivisa .
  9. Digitare il percorso fisico, l'account utente e la password immessi in precedenza, quindi selezionare Applica nel riquadro Azioni .
  10. Nella finestra di dialogo Password chiavi di crittografia digitare la password della chiave di crittografia impostata in precedenza e quindi selezionare OK.
  11. Nella finestra di dialogo Configurazione condivisa selezionare OK.
  12. Selezionare OK.

In ognuno degli altri nodi del cluster usare la configurazione condivisa appena esportata nella condivisione file:

  1. Passare a Strumenti di amministrazione e quindi selezionare Gestione Internet Information Services (IIS).
  2. Selezionare il nodo del nome del server.
  3. Fare doppio clic sull'icona Configurazione condivisa .
  4. Nella pagina Configurazione condivisa selezionare la casella di controllo Abilita configurazione condivisa .
  5. Digitare il percorso fisico della condivisione file (\\<fileservername>\<sharename>), l'account utente e la password immessi in precedenza, quindi selezionare Applica nel riquadro Azioni .
  6. Nella finestra di dialogo Password chiavi di crittografia digitare la password della chiave di crittografia impostata in precedenza e quindi selezionare OK.
  7. Nella finestra di dialogo Configurazione condivisa selezionare OK.
  8. Selezionare OK.

Nota

Per altre informazioni su come configurare configurazioni condivise in IIS, visitare il sito Web Microsoft seguente: Configurazione condivisa

Configurare i file offline per la configurazione condivisa IIS in tutti i nodi del cluster

In ogni nodo del cluster abilitare File offline:

  1. Installare la funzionalità Esperienza desktop. A tal fine, attenersi alla seguente procedura:

    1. Passare a Strumenti di amministrazione e quindi selezionare Server Manager.
    2. Nel riquadro sinistro selezionare Funzionalità.
    3. Selezionare Aggiungi funzionalità nel riquadro destro.
    4. Eseguire una delle operazioni seguenti, in base alle esigenze per la versione di Windows:
      • Per Windows Server 2016, vedere Installare server con Esperienza desktop.
      • Per Windows Server 2102 e 2012 R2, scegliere Esperienza desktop in Interfacce utente e infrastrutture nell'elenco delle funzionalità
  2. Eseguire le operazioni seguenti:
    Per Windows Server 2012, 2012 R2 e 2016, selezionare Centro sincronizzazione in Pannello di controllo e quindi selezionare Gestisci file offline.

  3. Selezionare Abilita file offline. Non riavviare il computer a questo punto.

  4. Assicurarsi che la cache sia impostata su sola lettura. A tale scopo, eseguire il comando seguente a un prompt dei comandi con privilegi elevati:

    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
    
  5. Riavviare il computer.

  6. Passare al file server dal computer. Fare clic con il pulsante destro del mouse sulla condivisione che contiene la configurazione condivisa iis e quindi scegliere Always Available Offline.

    Nota

    Se si configura la condivisione file come a disponibilità elevata nello stesso cluster di failover che ospita i nodi IIS, l'opzione Always Available Offline non verrà visualizzata quando si fa clic con il pulsante destro del mouse sulla condivisione se il nodo del cluster in cui si trova ospita il file server a disponibilità elevata. Sarà necessario spostare l'applicazione file server a disponibilità elevata in un altro nodo.

  7. In Pannello di controllo aprire File offline. Selezionare Apri Centro sincronizzazione e quindi selezionare Pianifica.

  8. Pianificare una sincronizzazione dei file offline per ogni giorno o in base alle proprie esigenze. È anche possibile configurare la sincronizzazione offline per l'esecuzione ogni pochi minuti. Anche se non si configura un'utilità di pianificazione, quando si modifica qualcosa nel file Applicationhost.config, la modifica viene riflessa nel server Web.

Nota

Per altre informazioni su come configurare i file offline per una configurazione condivisa in IIS, vedere File offline per la configurazione condivisa.

Configurare il sito FTP e specificare il percorso del relativo contenuto in un nodo del cluster

Trovare il nodo del cluster proprietario della risorsa disco del cluster in cui risiederanno i file di contenuto del sito FTP:

  1. Passare a Strumenti di amministrazione e quindi selezionare Gestione cluster di failover.
  2. Connettersi al cluster. Se si usa uno dei nodi del cluster, il cluster verrà visualizzato automaticamente nell'elenco.
  3. In "Archiviazione" trovare la risorsa disco in cui risiederà il contenuto del sito FTP. A tale scopo, espandere l'albero di archiviazione per la risorsa disco. Assicurarsi che l'archiviazione non venga usata da altre applicazioni a disponibilità elevata nel cluster. Lo spazio di archiviazione è disponibile in "Archiviazione disponibile".
  4. Si noti il nodo del cluster in cui questa risorsa è online. Iis verrà configurato in tale nodo del cluster.
  5. Si noti il nome della risorsa disco del cluster. Verrà usato per i file di contenuto.

Nel nodo del cluster in cui la risorsa è online configurare il server FTP per l'uso del disco condiviso per il contenuto del sito FTP:

  1. Passare a Strumenti di amministrazione e quindi selezionare Gestione Internet Information Services (IIS).
  2. Nel riquadro sinistro espandere il nodo del nome del server.
  3. Espandere Siti, fare clic con il pulsante destro del mouse su Siti e quindi scegliere Aggiungi sito FTP.
  4. Nella finestra di dialogo Aggiungi sito FTP digitare il nome del sito. Per la directory del contenuto, digitare il percorso in cui si trovano i file di contenuto del sito FTP. Si tratta della posizione della risorsa disco del cluster annotata nel passaggio 5 della procedura precedente.
  5. Configurare le impostazioni rimanenti del sito FTP.
  6. Seleziona Fine.

Configurare la disponibilità elevata per il sito FTP creando uno script generico in Gestione cluster di failover

Per l'ultimo passaggio per configurare la disponibilità elevata per il sito FTP, configurare la risorsa script generica che verrà usata per monitorare il servizio FTP:

  1. In ogni nodo del cluster copiare lo script alla fine di questo articolo in Windows\System32\inetsrv\Clusftp7.vbs.
  2. Passare a Strumenti di amministrazione e quindi selezionare Gestione cluster di failover.
  3. Connettersi al cluster. Se si usa uno dei nodi del cluster, il cluster verrà visualizzato automaticamente nell'elenco.
  4. Eseguire le operazioni seguenti:
    Per Windows Server 2012, 2012 R2 e 2016, fare clic con il pulsante destro del mouse su Ruoli e quindi scegliere Configura ruolo per crearlo.
  5. Fare clic su Script generico.
  6. Selezionare il file di script nel percorso seguente:
    %systemroot%\System32\Inetsrv\Clusftp7.vbs
  7. Impostare il nome cap (Client Access Point) sul nome del sito FTP che i client useranno per connettersi al sito FTP a disponibilità elevata. Specificare gli INDIRIZZI IP statici da usare per il cap del sito FTP. Se si usa DHCP (Dynamic Host Configuration Protocol), questa opzione non verrà visualizzata.
  8. Nel passaggio Seleziona archiviazione selezionare il disco condiviso del cluster in cui si trovano i file di contenuto del sito FTP. L'archiviazione deve essere inutilizzata da qualsiasi altra applicazione a disponibilità elevata nel cluster. Se la condivisione file usata per la configurazione condivisa IIS è ospitata nello stesso cluster, in questo caso deve essere usata una risorsa disco diversa.
  9. Dopo aver confermato le impostazioni, la procedura guidata creerà il gruppo di cluster, le risorse del cluster e le dipendenze tra le risorse e quindi le porterà online.

Nota

Per ospitare più siti FTP a disponibilità elevata nello stesso cluster di failover, seguire gli stessi passaggi indicati in precedenza. Se non è stato personalizzato lo script, è possibile puntare allo stesso file di script per tutti i siti FTP nel cluster. Tuttavia, se si apportano modifiche specifiche per i singoli siti FTP, usare un file script diverso per ogni sito FTP e un'archiviazione condivisa cluster diversa. Ad esempio, in %systemroot%\System32\Inetsrv, useClusftp7.vbs per il primo sito FTP, Clftp7-2.vbs per il secondo, Clftp7-3.vbs per il terzo e così via. Ogni file di script monitora un sito FTP diverso.

Importante

Lo script seguente è solo a scopo di esempio e non è supportato in modo esplicito da Microsoft. L'uso di questo script in un ambiente cluster FTP IIS 8.0 viene eseguito a proprio rischio.


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