Mostrando entradas con la etiqueta Windows Server 2008. Mostrar todas las entradas
Mostrando entradas con la etiqueta Windows Server 2008. Mostrar todas las entradas

martes, 21 de diciembre de 2010

Automatiza el análisis de contadores de rendimiento

Como bien sabe cualquier DBA, siempre conviene ser proactivo y parte de esa proactividad es la capacidad de analizar la información que proviene de nuestros sistemas de la forma mas útil posible.

En este caso me he decidido a escribir brevemente sobre un apartado que mucha gente no conoce del colector de contadores de rendimiento, su capacidad de almacenar la información en base de datos.

Si bien no quiero llevaros a pensar que es la práctica a seguir siempre (cada escenario es diferente), si quiero daros a conocer las posibilidades que tenemos de utilizar este enfoque, dado que es muy versatil.

Lo único que necesitamos es crearnos un DSN de sistema, que apuntaremos a la instancia y BBBDD donde queramos almacenar la información.

Para ello lo voy a enseñar con una serie de screenshots, que se ve claro:

1. Abrimos el administrador de origenes de datos ODBC y nos vamos a la pestaña “System DSN”

image

Figura 1

2. Seleccionamos el driver “SQL Server”

image

Figura 2

3. Configuramos su conexión como vemos en las figuras de la 3 a la 7. Nótese que debemos especificar una BBDD donde almacenar la información.

     La BBDD que pongamos, si no tiene las tablas donde almacenarse la información, en el proceso de configuración del colector de datos se creará. Si ya existian por el contrario, no se borrarán, se insertarán los datos sin más.

image

Figura 3

imageimage

Figura 4-5

imageimage

Figuras 6-7

4. Una vez hemos acabado de configurar nuestro DSN de sistema, procedemos ahora a configurar el colector de datos. Para ello abrimos el monitor de rendimiento (ver figura 8)

image

Figura 8

5. Nos vamos a definirnos un colector de usuario como se puede apreciar en las figuras 9 a la 12

imageimage

Figuras 9-10

NOTA: En la figura 12 nos pide una ruta de disco local donde almacenar la información. Puesto que por defecto se crea así, le especificaremos una ruta, pero no será utilizada por lo que podemos dejarla como está

imageimage

Figuras 11-12

6. Ahora es cuando realmente hacemos la parte “diferente” del proceso, puesto que configuraremos el colector para que en lugar de almacenar la información en formato binario en la ruta especificada anteriormente, le diremos que lo almacenaremos en base de datos, utilizando el DSN de sistema creado con anterioridad

 

image

Figura 13

Al pulsar sobre propiedades tal como se aprecia en la figura 13, pasamos a configurar el “log format”  indicando que lo deseamos en formato SQL (figura 14) y posteriormente indicamos el DSN de sistema que utilizará para almacenar la información (figura 15).

imageimage

Figuras 14-15

7. Una vez pulsado en el botón de inicio de coleccionar datos, se procederá a la creación de objetos necesarios para ello en la BBDD destino

image

Figura 16

image

Figura 17

NOTA: Fíjese como ahora el Output es SQL:loquesea. Esto en otras configuraciones es una ruta a un fichero .blg

8. La última parte ya corre de vuestro lado. Quedaria por tanto explotar esa información (como podeis ver por ejemplo en el Code Snippet que os he dejado), reciclar la información, crear reportes, consolidar,…

Code Snippet
  1. SELECT
  2.   dtid.DISPLAYSTRING
  3.             , cd.MACHINENAME
  4.   , cd.OBJECTNAME
  5. , cd.COUNTERNAME
  6. , cd.INSTANCENAME
  7. , cdta.COUNTERDATETIME
  8. , cdta.COUNTERVALUE
  9. FROM dbo.CounterData AS cdta
  10.          INNER JOIN dbo.CounterDetails AS cd ON cdta.COUNTERID = cd.COUNTERID
  11.          INNER JOIN dbo.DisplayToID AS dtid  ON cdta.GUID = dtid.GUID

image

Figura 18

Espero haberos dejado un buen punto de partida para “juguetear” Smile

Salu2!

jueves, 18 de junio de 2009

Reutiliza tus plantillas de perfmon de Windows 2003 en Windows 2008

Como sabeis, Windows Server 2008 introdujo una serie de cambios radicales en su herramienta de análisis de rendimiento. Aquello que antes era llamado “Performance Monitor” (perfmon.exe), ahora se llama “Realiability and Performance Monitor” (también su exe es perfmon.exe). Pero el cambio no se queda solo a nivel de nomenclatura, evidentemente, sino que se hace mucho mas poderoso intuitivo y jugueton…

image
Captura de Performance Monitor en Windows server 2003 (y XP)

image
Captura de Reliability and Performance Monitor en Windows Server 2008 (y vista)

Si recordamos, en Windows Server 2003, las plantillas tenían un formato basado en .htm. Dichas plantillas las podemos crear facilmente mediante perfmon.

Suponiendo que ya tenemos creado nuestro conjunto de contadores que deseamos capturar, si lo que queremos es incorporarlo sobre otro servidor, lo que haremos será exportarlo a un fichero .htm que copiaremos posteriormente a otro servidor e incorporaremos.

El siguiente proceso solo es válido para exportar/importar entre Windows 2003/XP como origen/destino:

  • Exportar plantilla:

image

Botón derecho sobre el log que queramos exportar

  • Copiar plantilla al servidor destino
  • Incorporar plantilla tal y como se ve en la imagen:

image 
Botón derecho sobre “Counter Logs” y luego “New Log Settings From…”

  • Elegimos nuestro template…

image 

Hasta aqui, todo normal, el problema viene cuando queremos incorporar la plantilla sobre un Windows Server 2008…porque el formato de las plantillas ha cambiado. Para empezar, la extensión es xml, lo cual ya nos da que pensar que no cargará los .htm ;)

Podeis probar a incorporar vosotros mismos un .htm y ver como no os deja, yo lo que voy a hacer es daros la solución, que pasa por utilizar la herramienta “logman” (que viene con Windows Server 2008) para exportar el template al formato de Windows Server 2008.

Para ello lo que tendremos que hacer es desde un Windows Server 2008, exportar las plantillas definidas en un Windows Server 2003 de forma remota:

image NOTA: Ejecutado desde Windows Server 2008, siendo 10.1.1.100 un Windows 2003 con la plantilla “miplantilla” definida (ver imágenes mas arriba)

Tal y como se vé en la imagen, desde un Windows Server 2008 estoy pidiendo exportar el log “miplantilla” que se encuentra en el servidor 10.1.1.100, al formato xml en el fichero miplantilla.xml.

Una vez tenemos ya la plantilla definida en el formato compatible de Windows Server 2008, podemos incorporarla fácilmente siguiendo estos sencillos pasos:

  • Ejecutar perfmon en Windows Server 2008
  • Boton derecho sobre “Data Collection Sets->User Defined”

image

  • Darle un nombre al data collection set sobre el que añadiremos la captura de datos mediante perfmon
  • Seleccionar “Create from a template”

image

  • Hacer click sobre “Browse” en lugar de utilizar las plantillas predefinidas

image

  • Una vez ya está importado, podremos configurar la ruta de salida del fichero .blg, planificaciones horarias,…e incluso modificar aquello que estimemos oportuno.

image

Por tanto, como hemos visto, pese a que pueda ser algo traumático para un DBA o responsable de sistemas, todo aquello de “las grafiquitas” que tanto nos gustaba en 2003 y nos “tuneamos”, lo podemos reutilizar en 2008 sin problemas.

domingo, 19 de abril de 2009

Como instalar un cluster de SQL Server 2008 en Windows Server 2008 (1/2)

En un solo post tratar el tema completo quedaria muy largo por lo que es mejor dividirlo en dos. Para el primer post, hablaré de como clusterizar SQL Server 2008 sobre un entorno Windows 2k8 previamente clusterizado (cuya clusterización será la segunda entrega).

1 Instalar .NET 3.5 SP1

Es necesario disponer de .NET 3.5 sp1 antes de instalar SQL Server 2008. Como paso previo a la instalación de SQL Server, se puede planificar puesto que su instalación requiere reinicio. En cualquier caso, el propio proceso de instalación de SQL Server 2008 detecta si existe el runtime .NET 3.5 SP1 y si no es así, lo instala.

2 Instalar Windows Installer 4.5

Es necesario disponer de la version Windows installer 4.5 para poder realizar la instalación de SQL Server 2008. Puesto que el propio DVD de instalación de SQL Server ya lo posee, también se puede instalar durante el proceso de instalación. Se trata del Hotfix KB942288.

3 Instalación de SQL Server 2008 sobre Clúster de W2k8

El proceso de instalación del clúster de SQL Server 2008 requiere realizarse sobre un nodo del clúster de Windows Server 2008 previamente montado; además, al igual que en el caso de windows server 2008, se ha variado su configuración respecto a ediciones anteriores (para mejor). En este caso vamos a sacarle partido y lo que haremos es ni mas ni menos que instalar un cluster de un solo nodo de SQL 2008. Sé que parece extraño, pero esto es muy util. Hace unos meses en un cliente tuvimos un problema con las cabinas de un geocluster de windows; no viene al caso el problema pero la dicho problema no impidió que montaramos el geocluster, aunque durante un dia ese geocluster solo tenia un solo nodo ;)

3.1 Instalación del primer nodo del Clúster de SQL Server 2008

Una vez introducido el DVD de SQL Server 2008 sobre el servidor, se han de seguir los siguientes pasos:

image

image

  • Clickear sobre “Instalación”

image

  • Clickear sobre nueva instalación de SQL Server Failover cluster.

Una vez detectado que no se dispone de Windows Installer 4.5, se procede a su instalación (lo mismo ocurrirá con .NET 3.5 SP1 si no se detectara:

image

Una vez instalado, se comienza con las validaciones previas a la instalación de SQL Server

image

Una vez validados los prerrequisitos, se instalarán los ficheros necesarios para la instalación de SQL Server

image

El siguiente paso es introducir la clave de registro. Una vez introducida (que puede venir ya predefinida según la licencia), se procede a la validación del estado del cluster para su futura instalación, así como de la configuración del servidor y las necesidades del entorno necesarias para que la instalación llegue a buen puerto.

image

Como vemos en la imagen anterior, existen 3 advertencias en la instalación que nos avisan de posibles configuraciones que podrían afectar al funcionamiento de SQL Server. Las advertencias permiten continuar la instalación y hacen referencia a cosas que te recomienda revisar por simple seguridad hacia ti. Evidentemente, aqui variará los mensajes que te puedan dar en tu instalación pero independientemente de lo que sea, revísalos siempre para que no se te escape nada. Algunos mensajes que te puede dar:

  • Advertencia sobre MSDTC. Si no vamos a utilizar este servicio, este aviso puede obviarse.
  • Aviso de rendimiento en la configuración de red (si tienes TEAMING activado). Te advierte de una “posible” configuración de prioridades en las tarjetas de red, que podría ocasionar una pérdida de rendimiento de red.
  • El tercer punto hace referencia a un aviso para que recordemos abrir los puertos del firewall necesarios para poder conectar externamente al servidor de SQL Server.

Una vez revisada la configuración, si pulsamos en siguiente, continuaremos con el proceso de instalación, donde seleccionaremos únicamente el motor de SQL Server y las herramientas cliente (en este ejemplo en concreto, hay mas servicios clusterizables)

image

Seleccionaremos el nombre virtual del clúster de SQL Server y el nombre de la instancia:

image

Solo habilitamos el modo de autentificación Windows para reducir la superficie de ataque, y agregamos un usuario específico o un grupo de usuarios del dominio como administradores de SQL Server.

image

Seleccionamos las rutas que queremos por defecto:

image

Configuraremos FILESTREAM si es necesario:

image

Por último ya solo falta que comience el proceso de instalación:

image

Una vez finalizada la instalación de SQL Server en el cluster, dispondremos de un cluster de SQL Server 2008 en un solo nodo.

Si abrimos el “Failover Cluster Administration”, podremos ver el estado actual de configuración de nuestro clúster.

image

Comprobamos que podemos acceder abriendo la consola de administración “SQL server Management Studio” y comprobando la versión de SQL Server (por ejemplo):

image

3.2 Adición de un nuevo nodo al clúster de SQL Server 2008

Llegados a este punto, ya tenemos montado el cluster de SQL Server, con la única salvedad de que es un cluster de un solo nodo (pero eso si, funcional). El siguiente paso evidentemente es recomendable porque cuando montamos un cluster, no lo hacemos en principio para tener un único nodo…en cualquier caso, ya sabeis que se puede trabajar con SQL Server en este momento y posteriormente cuando se pueda, configurar este paso tantas veces como nodos queramos tener.

Para ello, introduciremos el DVD de SQL server en el servidor que vamos a añadir al cluster de SQL 2008

image

NOTA: No insertar en el nodo ACTIVO

En este caso, lo que haremos será clickear sobre la opción de añadir un Nuevo nodo a un clúster existente.

image

De nuevo se realizan procesos de validación en este nodo, para detector inconsistencias. En este caso de nuevo aparecen advertencias. Pese a que puedan ser las mismas que antes, debemos comprobar que todo es correcto

image

Una vez detectado el clúster donde hemos de ingresar este nodo, lo que haremos será configurar las cuentas de servicio reintroduciendo los passwords de nuevo en el caso de nuestros inicios de sesión de base de datos y SQL Server Agent.

El resto del proceso son formularios donde nuestra única aportación será la de clickear en “siguiente” tras validar la información

image

image

Por último ya solo queda probar un failover si queremos comprobar que todo va a ir como toca y listo, a trabajar! ;)

domingo, 29 de marzo de 2009

Conseguir conectividad Wireless para maquinas virtuales hyper-v

En alguna ocasión alguien me realizó la pregunta y puesto que la respuesta puede no ser demasiado obvia…aquí dejo el post para responderla.

Si directamente lo que no sabemos es como hacer para tener Wireless en Windows Server 2008, aquí van unos sencillos pasos:

  • Administrar servidor

image

  • Añadir características

image

  • Añadir soporte Wireless

image

NOTA: para mas información, recomiendo visitar http://www.win2008workstation.com/wordpress/2008/03/08/enable-wireless-networking/

Una vez tengamos el servicio de Wireless sobre W2k8 funcionando, los pasos para hacer que nuestras máquinas virtuales tengan conectividad a internet mediante Wireless son sencillos:

  • Instalamos la interfaz de red loopback. Para ello nos vamos al administrador de dispositivos

image

image

  • Añadimos hardware

image

  • Indicamos que añadiremos el hardware de forma manual a partir de una lista

image 

  • Indicaremos que específicamente deseamos adaptadores de red

image

  • Elegiremos de Microsoft, el “Microsoft Loopback Adapter”

image

Una vez lo tengamos agregado y finalicemos el asistente, lo siguiente que tendremos que hacer es darle conectividad a la nueva interfaz loopback a través de nuestra salida a internet Wireless. Para ello, basta con crear un puente entre la interfaz loopback y la wireless seleccionando ambas tarjetas y pulsando sobre boton derecho->Bridge connections.

image

Por último, solo falta crearnos la tarjeta virtual hyper-v desde el administrador hyper-v

  • Entramos en “Virtual Network Manager…”

image

  • Seleccionamos una red de tipo “External” para tener conectividad hacia fuera.

image

  • Seleccionamos como tarjeta de red la “Microsoft Loopback Adapter”

image

  • Por último solo falta entrar en las propiedades de nuestra máquina virtual y seleccionar la tarjeta de red virtual ;)

image 

Muy facil, como veis ;)