Archivos sin conexión para la configuración compartida
Por Walter Oliver
Introducción
Una vez que haya habilitado la configuración compartida, una pregunta común es qué ocurre cuando el recurso compartido de red que atiende esos archivos deja de estar disponible. Cuando el recurso compartido deja de funcionar, el sistema de configuración detectará una notificación de cambio (después de que el recurso compartido agote el tiempo de espera) y WAS intentará volver a cargar la configuración, lo que provocará un error. En este momento, el servidor web no será funcional y el servicio W3SVC no podrá acceder a la configuración. Para asegurarse de que el servidor web siempre pueda acceder a los archivos de configuración, se recomienda usar el sistema de archivos distribuido (DFS) con la replicación o con los archivos sin conexión.
Nota:
En Windows Server 2008 R2 (Windows 7), cuando el recurso compartido deja de funcionar, el sistema de configuración enviará una notificación especial a WAS diciendo que se produjo un error de E/S al acceder al archivo de configuración. En este momento, WAS seguirá usando la copia almacenada en caché de la configuración que tiene actualmente. Mientras tanto, seguirá sondeando el sistema de configuración hasta que el recurso compartido vuelva a funcionar (en ese momento, volverá a cargar la configuración). Mientras WAS se ejecute con la configuración almacenada en caché, si detiene WAS o reinicia el sistema, el servidor web dejará de funcionar hasta que el recurso compartido vuelva a funcionar.
La característica de archivos sin conexión o el almacenamiento en caché del lado cliente permite acceder a los archivos almacenados en un recurso compartido de red incluso cuando el recurso compartido de red no está disponible. Es una solución sencilla para garantizar que los archivos de configuración estén siempre disponibles y se recomienda para los archivos de configuración compartidos. Sin embargo, no se recomiendan los archivos sin conexión para el contenido del sitio web, ya que se reduce el rendimiento.
Resumen del problema: cuando el servidor de IIS 7.0 o superior está configurado para funcionar en modo de configuración compartida, los archivos de configuración se almacenan en un recurso compartido de archivos. Esta configuración se recomienda para configurar granjas de servidores web. Pero en caso de que el recurso compartido de archivos se desconecte, se produce un error en toda la configuración y los servidores web dejan de responder. Además, cuando el recurso compartido de archivos vuelve a abrirse, el servidor IIS no puede detectarlo y proporciona el siguiente mensaje de error:
Error HTTP 500.19: error interno del servidor No se puede obtener acceso a la página solicitada porque los datos de configuración relacionados de la página no son válidos.
Tenemos que hacer un IISreset para volver a iniciar los servidores web después de esto.
Más información
Para el contenido del sitio web, puede que quiera considerar el uso de DFS para los servidores de archivos. Para obtener más información sobre DFS, consulte Sistema de archivos distribuido.
Para obtener más información sobre el almacenamiento en caché del lado cliente, vaya a https://www.microsoft.com/.
Configuración de la configuración compartida con archivos sin conexión
Siga los pasos siguientes para configurar la configuración compartida con archivos sin conexión (almacenamiento en caché del lado cliente) habilitada.
Paso 1: En el servidor web, en el Panel de control, abra Archivos sin conexión.
Paso 2: En el cuadro de diálogo Archivos sin conexión, haga clic en Habilitar archivos sin conexión. No reinicie la máquina aún.
Paso 3: Asegúrese de que la memoria caché está establecida en solo lectura mediante la ejecución del comando siguiente:
REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
Paso 4: Reinicie el servidor web.
Paso 5: Vaya a la carpeta del recurso compartido de archivos desde el servidor web. Haga clic con el botón derecho y seleccione "Siempre disponible sin conexión".
Paso 6: Vaya al panel de control -- > Archivos sin conexión. Seleccione la opción Programar.
Paso 7: Programe la sincronización de archivos sin conexión cada día o según las necesidades. También puede indicarse en minutos. Incluso sin configurar ningún programador, el momento en el que cambio algo en el archivo applicationhost.config, se refleja en el servidor web.
Ahora el servidor web funciona bien incluso si el recurso compartido de archivos está sin conexión y ya no hay necesidad de hacer ningún IISReset.
Muchas gracias a Won Yoo y a Amol Mehrotra por ayudar con el contenido.