Configuración de FTP para IIS en un clúster de conmutación por error de Windows Server

En este artículo se describe cómo configurar FTP para Internet Information Services (IIS) 8.0 o una versión posterior en un clúster de conmutación por error de Windows Server. Los procedimientos de este artículo solo se aplican al servicio FTP.

Nota:

Para obtener más información sobre cómo configurar servicios web en un clúster de conmutación por error, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

970759 Configuración del servicio de publicación de IIS World Wide Web en un clúster de conmutación por error de Windows Server

Se aplica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Número de KB original: 974603

Configuración de alta disponibilidad para servidores FTP de IIS mediante clústeres de conmutación por error

  1. Instale el rol servidor web en todos los nodos del clúster. Si va a instalar en Windows Server 2012, no incluya el rol "Servidor FTP". Si va a instalar en Windows Server 2012 R2 o en una versión posterior, incluya el rol "Servidor FTP" en el cuadro. Para obtener más información sobre la guía de implementación de IIS 8, visite el siguiente sitio web: Abrir el Administrador de IIS (IIS 8)

  2. Instale la característica Clústeres de conmutación por error en todos los nodos de clúster y cree el clúster. Para obtener más información, visite el siguiente sitio web: Guía de implementación de clústeres de conmutación por error.

  3. Configure un recurso compartido de archivos que se usará para la configuración compartida de IIS.

  4. Configure la configuración compartida de IIS en todos los nodos del clúster.

  5. Configure archivos sin conexión para la configuración compartida de IIS en todos los nodos del clúster.

  6. Configure el sitio FTP y especifique la ubicación de su contenido en un nodo de clúster.

  7. Configure la alta disponibilidad para el sitio FTP mediante la creación de un script genérico en clústeres de conmutación por error.

Configuración de un recurso compartido de archivos que se usará para la configuración compartida de IIS

  1. Cree un usuario que acceda al recurso compartido que se usará para la configuración compartida de IIS.

  2. Cree el recurso compartido de archivos. Este recurso compartido se usará para almacenar la configuración compartida de IIS que se compartirá entre IIS en todos los nodos del clúster. Hay varias opciones:

  3. Establezca los permisos en el recurso compartido que creó en el paso 2. Conceda al usuario que creó en el paso 1 permisos de control total para el recurso compartido de archivos y los permisos NTFS.

  4. Confirme que todos los nodos del clúster pueden ir al recurso compartido de archivos. La ruta de acceso del recurso compartido de archivos es \\<fileservername>\<sharename>.

Configuración de la configuración compartida de IIS en todos los nodos del clúster

En uno de los nodos del clúster, exporte la configuración compartida al recurso compartido de archivos:

  1. Vaya a Herramientas administrativas y, a continuación, seleccione Administrador de Internet Information Services (IIS).
  2. En el panel izquierdo, seleccione el nodo nombre del servidor.
  3. Haga doble clic en el icono Configuración compartida .
  4. En la página Configuración compartida, seleccione Exportar configuración en el panel Acciones (panel derecho) para exportar los archivos de configuración del equipo local a otra ubicación.
  5. En el cuadro de diálogo Exportar configuración , escriba la ruta de acceso del recurso compartido de archivos (\\<fileservername>\<sharename>) en el cuadro Ruta de acceso física .
  6. Seleccione Conectar como y, a continuación, escriba el nombre de usuario y la contraseña de la cuenta de usuario que tiene acceso al recurso compartido en el que se almacena la configuración compartida y, a continuación, seleccione Aceptar. Esta cuenta se usará para acceder al recurso compartido. Debe usar una cuenta de Active Directory restringida que no sea el administrador de dominio.
  7. En el cuadro de diálogo Exportar configuración , escriba una contraseña que se usará para proteger las claves de cifrado y, a continuación, seleccione Aceptar.
  8. En la página Configuración compartida , active la casilla Habilitar configuración compartida .
  9. Escriba la ruta de acceso física, la cuenta de usuario y la contraseña que especificó anteriormente y, a continuación, seleccione Aplicar en el panel Acciones .
  10. En el cuadro de diálogo Contraseña de claves de cifrado, escriba la contraseña de clave de cifrado que estableció anteriormente y, a continuación, seleccione Aceptar.
  11. En el cuadro de diálogo Configuración compartida, seleccione Aceptar.
  12. Seleccione Aceptar.

En cada uno de los otros nodos del clúster, use la configuración compartida que acaba de exportar al recurso compartido de archivos:

  1. Vaya a Herramientas administrativas y, a continuación, seleccione Administrador de Internet Information Services (IIS).
  2. Seleccione el nodo nombre del servidor.
  3. Haga doble clic en el icono Configuración compartida .
  4. En la página Configuración compartida , active la casilla Habilitar configuración compartida .
  5. Escriba la ruta de acceso física del recurso compartido de archivos (\\<fileservername>\<sharename>), la cuenta de usuario y la contraseña que especificó anteriormente y, a continuación, seleccione Aplicar en el panel Acciones .
  6. En el cuadro de diálogo Contraseña de claves de cifrado, escriba la contraseña de clave de cifrado que estableció anteriormente y, a continuación, seleccione Aceptar.
  7. En el cuadro de diálogo Configuración compartida, seleccione Aceptar.
  8. Seleccione Aceptar.

Nota:

Para obtener más información sobre cómo configurar configuraciones compartidas en IIS, visite el siguiente sitio web de Microsoft: Configuración compartida

Configuración de archivos sin conexión para la configuración compartida de IIS en todos los nodos del clúster

En cada nodo de clúster, habilite Archivos sin conexión:

  1. Instale la característica Experiencia de escritorio. Para ello, siga estos pasos:

    1. Vaya a Herramientas administrativas y, a continuación, seleccione Administrador del servidor.
    2. En el panel izquierdo, seleccione Características.
    3. Seleccione Agregar características en el panel derecho.
    4. Realice una de las siguientes acciones, según corresponda para la versión de Windows:
      • Para obtener Windows Server 2016, revise Instalar servidor con experiencia de escritorio.
      • Para Windows Server 2102 y 2012 R2, elija Experiencia de escritorio en Interfaces de usuario e infraestructuras en la lista de características.
  2. Haga lo siguiente:
    Para Windows Server 2012, 2012 R2 y 2016, seleccione Centro de sincronización en Panel de control y, a continuación, seleccione Administrar archivos sin conexión.

  3. Seleccione Habilitar archivos sin conexión. No reinicie el equipo en este momento.

  4. Asegúrese de que la memoria caché está establecida en solo lectura. Para ello, ejecute el siguiente comando en un símbolo del sistema con privilegios elevados:

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

  6. Vaya al servidor de archivos desde el equipo. Haga clic con el botón derecho en el recurso compartido que contiene la configuración compartida de IIS y, a continuación, seleccione Always Available Offline (Siempre disponible sin conexión).

    Nota:

    Si configura el recurso compartido de archivos para que tenga alta disponibilidad en el mismo clúster de conmutación por error que hospeda nodos iis, la opción Always Available Offline no aparecerá al hacer clic con el botón derecho en el recurso compartido si el nodo de clúster en el que se encuentra hospeda el servidor de archivos de alta disponibilidad. Tendrá que mover la aplicación de servidor de archivos de alta disponibilidad a otro nodo.

  7. En Panel de control, abra Archivos sin conexión. Seleccione Abrir centro de sincronización y, a continuación, seleccione Programar.

  8. Programe una sincronización de archivos sin conexión para cada día o según sus requisitos. También puede configurar la sincronización sin conexión para que se ejecute cada pocos minutos. Incluso si no configura un programador, al cambiar algo en el archivo Applicationhost.config, el cambio se refleja en el servidor web.

Nota:

Para obtener más información sobre cómo configurar archivos sin conexión para una configuración compartida en IIS, vea Archivos sin conexión para la configuración compartida.

Configurar el sitio FTP y especificar la ubicación de su contenido en un nodo de clúster

Busque el nodo de clúster propietario del recurso de disco del clúster donde residirán los archivos de contenido del sitio FTP:

  1. Vaya a Herramientas administrativas y seleccione Administrador de clústeres de conmutación por error.
  2. Conéctese al clúster. Si se encuentra en uno de los nodos del clúster, el clúster aparecerá automáticamente en la lista.
  3. En "Almacenamiento", busque el recurso de disco en el que residirá el contenido del sitio FTP. Para ello, expanda el árbol de almacenamiento del recurso de disco. Asegúrese de que ninguna otra aplicación de alta disponibilidad del clúster use el almacenamiento. Encontrará el almacenamiento en "Almacenamiento disponible".
  4. Tenga en cuenta el nodo de clúster en el que está en línea este recurso. Configurará IIS en ese nodo de clúster.
  5. Anote el nombre del recurso de disco del clúster. Usará esto para los archivos de contenido.

En el nodo de clúster en el que el recurso está en línea, configure el servidor FTP para que use el disco compartido para el contenido del sitio FTP:

  1. Vaya a Herramientas administrativas y, a continuación, seleccione Administrador de Internet Information Services (IIS).
  2. En el panel izquierdo, expanda el nodo nombre del servidor.
  3. Expanda Sitios, haga clic con el botón derecho en Sitios y, a continuación, seleccione Agregar sitio FTP.
  4. En el cuadro de diálogo Agregar sitio FTP , escriba el nombre del sitio. En el directorio de contenido, escriba la ubicación donde se encuentran los archivos de contenido del sitio FTP. Esta es la ubicación del recurso de disco del clúster que anotó en el paso 5 del procedimiento anterior.
  5. Configure los valores restantes del sitio FTP.
  6. Seleccione Finalizar.

Configure la alta disponibilidad para el sitio FTP mediante la creación de un script genérico en el Administrador de clústeres de conmutación por error

Para que el último paso configure la alta disponibilidad para el sitio FTP, configure el recurso de script genérico que se usará para supervisar el servicio FTP:

  1. En cada nodo de clúster, copie el script al final de este artículo en Windows\System32\inetsrv\Clusftp7.vbs.
  2. Vaya a Herramientas administrativas y seleccione Administrador de clústeres de conmutación por error.
  3. Conéctese al clúster. Si se encuentra en uno de los nodos del clúster, el clúster aparecerá automáticamente en la lista.
  4. Haga lo siguiente:
    Para Windows Server 2012, 2012 R2 y 2016, haga clic con el botón derecho en Roles y, a continuación, seleccione Configurar rol para crearlo.
  5. Haga clic en Script genérico.
  6. Seleccione el archivo de script en la siguiente ruta de acceso:
    %systemroot%\System32\Inetsrv\Clusftp7.vbs
  7. Establezca el nombre del punto de acceso de cliente (CAP) en el nombre de sitio FTP que los clientes usarán para conectarse al sitio FTP de alta disponibilidad. Especifique las direcciones IP estáticas que se usarán para la CAP del sitio FTP. Si usa el Protocolo de configuración dinámica de host (DHCP), no se mostrará esta opción.
  8. En el paso Seleccionar almacenamiento , seleccione el disco compartido del clúster en el que residen los archivos de contenido del sitio FTP. Cualquier otra aplicación de alta disponibilidad del clúster debe no usar el almacenamiento. Si el recurso compartido de archivos que se usa para la configuración compartida de IIS se hospeda en el mismo clúster, se debe usar un recurso de disco diferente aquí.
  9. Después de confirmar la configuración, el asistente creará el grupo de clústeres, los recursos del clúster y las dependencias entre los recursos y, a continuación, pondrá los recursos en línea.

Nota:

Para hospedar varios sitios FTP de alta disponibilidad en el mismo clúster de conmutación por error, siga los mismos pasos que se mencionan anteriormente. Puede apuntar al mismo archivo de script para todos los sitios FTP del clúster si no ha personalizado el script. Sin embargo, si realiza cambios específicos de los sitios FTP individuales, use un archivo de script diferente para cada sitio FTP y otro almacenamiento compartido en clúster. Por ejemplo, en %systemroot%\System32\Inetsrv, useClusftp7.vbs para el primer sitio FTP, Clftp7-2.vbs para el segundo, Clftp7-3.vbs para el tercero, etc. Cada archivo de script supervisa un sitio FTP diferente.

Importante

El siguiente script solo tiene fines de ejemplo y Microsoft no admite explícitamente. El uso de este script en un entorno clúster ftp de IIS 8.0 se realiza a su propio riesgo.


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