GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

MetaBase de IIS6 ¿Qué es la MetaBase?: Backup, Restore, Export e Import


La MetaBase de IIS es un componente de configuración fundamental en cualquier servidor que ejecute IIS (Web, FTP, SMTP, NNTP, etc), como es el caso general de Servidores Web de Microsoft, y en consecuencia, el caso particular de MOSS 2007, Reporting Services, etc. Este artículo describe qué es la MetaBase de IIS, así como explica alternativas de Backup y Restore de la MetaBase de IIS6, en particular, las operaciones de Backup, Restore, Export e Import de la MetaBase de IIS6.

¿Qué es la MetaBase del IIS?

La MetaBase de IIS almacena todas las configuraciones y personalizaciones realizadas sobre un IIS, como por ejemplo:

  • Configuraciones de Sitios Web (autenticación, seguridad, versión de Framework, Host Headers, certificados SSL, Direcciones IP, etc.).
  • Configuraciones de Directorios Virtuales (autenticación, seguridad, versión de Framework, etc.).
  • Configuraciones sobre ficheros (autenticación, seguridad, etc.).
  • Configuraciones de los Aplication Pool, incluyendo las cuentas de servicio y resto de propiedades.
  • Configuraciones generales de compresión HTTP, Time-out.
  • Configuraciones de filtros ISAPI.

Como consecuencia de todo esto, la MetaBase de IIS6 se convierte en un elemento fundamental en cualquier plan de contingencia en el que existan servidores IIS, como es el caso de una instalación de MOSS 2007, de Reporting Services, etc.

La MetaBase de IIS6 está formada por dos ficheros XML ubicados por defecto en la ruta C:\WINDOWS\system32\inetsrv. En particular, se trata de los siguientes ficheros XML:

  • MBSchema.xml. Contiene el esquema de la MetaBase.
  • MetaBase.xml. Contiene la propia MetaBase.

Estos ficheros, como ficheros XML que son, se pueden visualizar con cualquier herramienta de edición de archivos de texto o de archivos XML. Adicionalmente, para quién le pueda interesar, es posible examinar el contenido de la MetaBase de IIS de forma gráfica con la herramienta IIS MetaBase Explorer, incluida en el Kit de Recursos de IIS6, y descargable desde la Web de Microsoft. A continuación se muestra una pantalla capturada de la misma:

En caso de desastre, ya se trate de una pérdida total o parcial de un IIS, será necesario recuperar la MetaBase de IIS para de este modo, recuperar el servicio. Por este motivo, es importante utilizar algún método de respaldo o copia de seguridad de la MetaBase de IIS.

Es importante tener claro que la MetaBase se restringe a las configuraciones y personalizaciones de IIS, sólo y exclusivamente. Con esto, lo que quiero decir, es que si deseamos realizar una copia de seguridad de una Aplicación Web hospedada en un Servidor IIS, será necesario (al menos):

  • Realizar Backup de la MetaBase (o en su defecto, realizar un Export de la MetaBase).
  • Realizar Backup del Sistema de Ficheros, en particular, de aquellos directorio utilizados por la Aplicación Web. Aunque habitualmente se utilizan directorio ubicados por debajo de c:\inetpub, no siempre se cumple esta regla.

Evidentemente, puede haber otros elementos de los que necesitemos realizar copia de seguridad, como puede ser la GAC (Global Assembly Cache), certificados digitales utilizados para el cifrado SSL (con su Clave Pública y Privada, esto es, ficheros PFX), etc.

En este artículo, nos centramos sólo y exclusivamente, en la parte de Backup y Restore de la MetaBase de IIS6, no contemplando la copia y restauración de recursos externos. Además, este artículo está centrado en servidores IIS utilizados para hospedar Sitios Web, no incluyéndose pruebas relacionadas con otros servicios de IIS como es el caso de FTP, SMTP o NNTP.

Alternativas de Copia de Seguridad de la MetaBase de IIS6

Principalmente, tenemos dos operaciones de Copia de Seguridad para la MetaBase de IIS6: Backup y Export. Ambas operaciones tienen ciertas diferencias. Además, también existen distintas operaciones de recuperación (Restore e Import). Por ello es interesante tener una descripción global de las distintas alternativas. Por orden:

  • Export de la MetaBase. Genera un único fichero XML, como una copia del fichero de la Metabase de IIS6 (es decir, el fichero de esquema de la MetaBase de IIS, el Export ni lo huele). Es posible importar un Export de la MetaBase de IIS, en la misma o diferente máquina (es decir, es portable).

    Es posible realizar un Export de forma selectiva (granular), lo cual permite realizar un Export completo de toda la configuración de la MetaBase de IIS, o bien un Export de todos los Sitios Web de un IIS, o de un único Sitio Web de IIS, o de un Directorio Virtual de IIS, etc.

    La forma natural de recuperar un Export de la MetaBase de IIS, es ejecutando un Import de la MetaBase de IIS. La principal ventaja de la ejecución de un Import, es que puede ser granular. Es decir, es posible realizar un Export completo de toda la MetaBase de un IIS6, y en caso de pérdida de un Sitio Web, realizar un Import de sólo el Sitio Web perdido (no es necesario realizar un Import completo de toda la MetaBase).

    Como comentábamos antes, es posible realizar un Export de la MetaBase de IIS de una máquina (total o parcial), e importarlo en otra máquina. Esta técnica resulta de especial interés para el despliegue de Aplicaciones Web de IIS en un Cluster NLB. De este modo, es posible montar la Aplicación Web en el IIS de un Nodo del Cluster NLB, y una vez que quede funcionando correctamente, copiar los ficheros al resto de Nodos del Cluster NLB, para seguidamente realizar un Export de la MetaBase e importarlo en el resto de Nodos del Cluster NLB (bueno, lo habitual, es importar sólo los Sitios Web afectados, claro). Esta es la mejor forma de simplificar un despliegue manual de IIS, y de garantizar que los diferentes Nodos del Cluster NLB quedan igualados.

    Como curiosidad, realizar un Export completo de la MetaBase es equivalente a realizar una copia del fichero C:\WINDOWS\system32\inetsrv\MetaBase.xml. Sin embargo, la recomendación es realizar el Export (en vez de una copia manual del fichero), de tal modo, que tengamos garantía de que se ha realizado la copia de forma correcta, y que la copia no está corrupta.

  • Backup de la MetaBase. Genera dos ficheros XML (una copia del fichero de la MetaBase y una copia del Esquema de la MetaBase), por lo que resulta más completo que un simple Export de la MetaBase de IIS6.

    Es importante tener en cuenta, que un Backup de la MetaBase de IIS6 puede ser Portable o no No Portable. Un Backup Portable de la MetaBase de IIS6, puede ser restaurado en la misma o diferente máquina, mientras que un Backup No Portable de IIS sólo puede ser restaurado sobre la misma máquina. Para realizar un Backup Portable de la MetaBase de IIS6, es necesario utilizar una contraseña para cifrar las partes sensibles de la MetaBase de IIS (el resto de la información, seguirá en texto claro).

    La forma de restaurar un Backup de la MetaBase de IIS6, es mediante un Restore de la MetaBase de IIS6, obviamente. Sin embargo, de forma adicional, es posible realizar un Import de un Backup, es decir, no es requisito hacer un import de un export (se puede hacer de un import y de un backup también). De este modo, podemos hacer Backups de la MetaBase de IIS, y utilizarlos para restaurar parcialmente el IIS (ej: sólo un Sitio Web realizando un import de la MetaBase de IIS6).

Como consecuencia de esto, la recomendación a seguir es realizar un Backup de la MetaBase de IIS, de tal modo, que en caso de necesidad, podamos tanto recuperar completamente la MetaBase del IIS, como importar configuraciones parciales de la MetaBase del IIS, en función del escenario de recuperación que se nos presente (toquemos madera).

De nuevo insistir, que ni el Backup ni el Export copian los contenidos, es decir, hace falta backup de filesystem de los directorios correspondiente (e: c:\inetpub), de la GAC, copia de los certificados digitales, etc.

También es importante tener en cuenta, que al realizar un backup del System State, también no estamos llevando la MetaBase de IIS. En cualquier caso, la realización de un Backup de la MetaBase de IIS6 será siempre muy apropiado, ya que nos permitirá recuperar toda la MetaBase de IIS6, o bien, sólo aquellas configuraciones que podamos necesitar recuperar (ej: sólo un Sitio Web).

Cómo hacer un Export de la MetaBase con IIS Manager

Desde la herramienta administrativa IIS Manager, seleccionar el elemento del que se desea realizar el Export de la MetaBase de IIS. Para ello, click con el botón derecho del ratón, y seleccionar la opción Save Configuration to a File (si alguien esperaba algo como Export MetaBase, pues no, lo ponen de otra forma). En el siguiente ejemplo, se muestra como realizar un Export de la MetaBase de IIS para Todos los Sitios Web.

En el diálogo Save Configuration to a File, seleccionar la ruta y nombre de fichero para el Export. Opcionalmente, es posible utilizar una contraseña para cifrar el contenido del fichero (no lo he probado, no se si será cifrado total o sólo de datos sensibles).

Y aquí paz y después gloria. Ya tenemos nuestro Export de la MetaBase de IIS6.

Export de la MetaBase desde Símbolo del Sistema

Para realizar un Export de la MetaBase de IIS6 desde el Símbolo del Sistema, es posible utilizar el script iiscnfg.vbs. A continuación se muestra un ejemplo de un Export de toda la MetaBase de IIS6.

Paso 1: cd \windows\system32

Paso 2: cscript iiscnfg.vbs /export /f D:\Backup\ExportMetaBase.xml /sp / /children

Opcionalmente, se puede añadir el parámetro /d para cifrar el Export de la MetaBase (ej: /d P@ssw0rd ), o seleccionar de qué elementos se desea realizar el Export (si no deseamos un Export completo de toda la MetaBase de IIS6).

Para más información: Exporting IIS Configurations Using Iiscnfg.vbs (IIS 6.0)

Import de la MetaBase con IIS Manager

Es posible realizar un Import de la MetaBase de IIS6 de forma gráfica utilizando la herramienta administrativa IIS Manager. En el siguiente ejemplo, se crea un nuevo Sitio Web desde un Export de la MetaBase de IIS6, lo cual, incluye todas las configuraciones de IIS relacionadas con el correspondiente Sitio Web. Para ello, desde el nodo Web Sites de IIS Manager, click con el botón derecho del ratón, y seleccionar la opción Web Site (from file) del menú New (si alguien esperaba algo como Import MetaBase, siento hundir sus esperanzas ;-), como se muestra en la siguiente pantalla capturada.

En el diálogo Import Configuration, seleccionar el fichero de exportación de MetaBase deseado (con el botón Browse) y seguidamente Click Read File.

Se mostrará la información del Fichero de exportación de la MetaBase. En nuestro caso de ejemplo, queremos restaurar el Sitio Web denominado Web Services Site. Lo seleccionamos, y click en OK.

Si el Sitio Web ya existe, se nos preguntará si deseamos reemplazar el Sitio Web existente, o si deseamos crear un nuevo Sitio Web, como se muestra en la siguiente pantalla capturada.

Finalmente, se creará el Sitio Web deseado. Es importante revisar el nuevo Sitio Web, principalmente, para comprobar en que estado ha quedado tras su creación, por si hubiese quedado en estado Stopped (ej: ya existe un Web Site escuchando en el mismo puerto e IP).

Backup de la MetaBase desde Símbolo del Sistema

Para realizar un Backup de la MetaBase de IIS6 desde el Símbolo del Sistema, es posible utilizar el script iisback.vbs. A continuación se muestra un ejemplo de un Backup de la MetaBase de IIS6, cifrando el backup con una contraseña.

Paso 1: cd \windows\system32

Paso 2: cscript iisback.vbs /backup /b BackMetaBase /e Passw0rd

Para más información: Backing Up IIS Configurations Using Iisback.vbs (IIS 6.0)




Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.