Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Aplicacion en Cluster

Estas en el tema de Aplicacion en Cluster en el foro de Visual Basic clásico en Foros del Web. Hola Buen día! En la empresa donde laboro tenemos unas aplicaciones que usan endemoniadamente una BD ya sea para escritura o para lectura. Les descriobo ...
  #1 (permalink)  
Antiguo 16/08/2007, 13:00
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Aplicacion en Cluster

Hola Buen día!

En la empresa donde laboro tenemos unas aplicaciones que usan endemoniadamente una BD ya sea para escritura o para lectura.

Les descriobo el entorno de la BD:

Este servidor es un Cluster y el nodo virtual lo identificaré como BD, los 2 nodos con los que cuenta son BD1 y BD2. El nodo BD2 es el que actualmente se encuentra activo, el BD1 está simplemente como soporte por si el BD2 tuviese problemas. Los dos nodos tienen Discos Duros de High Performance (De acceso I/O muy rápido) úbicados en una SAN de alta disponibilidad conectados con fibra, por lo que el FailOver se realiza ajusando la configuración deshabilitandolos de un Server y habilitandolos en el otro y despues se ajusta el nodo virtual para que apunte al nodo que será ahora el activo.

Las bases de datos están repartidas de la siguiente manera.

1.- Todas las bases de datos que mas demanda de I/O tienen, se encuentran en un recurso de la SAN.
2.- Todas las bases de datos de las aplicaciones WEB (de baja demanda de I/O) se encuentran en otro recurso de la SAN
3.- Todas los archivos de Log de todas las Bases de Datos se encuentran en otro recurso de la SAN
4.- Todas las bases de datos de Sistema (Master y TempDb) se encuentran en otro recurso de la SAN
5.- Todas las aplicaciones operativas se encuentran en otro recurso de la SAN
6.- El Sistema Operativo (Windows 2003 Server) se encuentran en C:\ (Recurso que no es de la SAN sino local al servidor)

Bien, ahora describire el entorno de las aplicaciones:

Actualmente se manejan dos esquemas por que asi se requirió, les comento.

1.- Un servidor AP1 tiene aplicaciones WEB que hacen uso de diferentes Bases de Datos que se encuentran en el Servidor BD(Cluster)
2.- En el Nodo BD2 (Nodo activo) del cluster se encuentran Scheduladas (programadas en el Scheduled Task de Windows) varias aplicaciones exe de VB6.0, (5 aplicaciones que en adelante llamaré MWI, estas son las que mas consumo de I/O a la BD tienen)

Problema

Bien, todo parece funcionar correctamente, el problema que tengo es que frecuentemente las aplicaciones sin decir "agua va!" empiezan a tener problemas de comunicación con la BD, presentando mensajes de error que van desde "No transaction is active" hasta "SQL Server Does Not Exists Or Access Denied" presentando ocasionalmente errores tambien del tipo "Type Mismatch" lo curioso del caso, es que estas mismas aplicaciones del MWI estaban antes ejecutandose tranquilamente en un Servidor Stand Alone, y no estaban presentando problema alguno, todo empezó cuando migramos al servidor Cluster.

Cuando hicimos esta migración los responsables del soporte al servidor nos comentaron que la migracion debería ser transparente para nuestras aplicaciones, ya que el Cluster esta diseñado para funjir como un servidor cualquiera, mas allá del High Availability para el que fue diseñado, pero que las conexiones a la Base y recursos debieran ser transparentes.

puntualmente un problema con las aplicaciones del MWI, es que tienen un tratamiento de error el cual sigue el siguiente flujo.

1.- Si al haber un error en el procesamiento de los datos, el MWI toma el error y llama a una función que debe registrar el error en una Tabla de Log en SQL diseñada para el seguimiento de estas aplicaciones (Errores, eventos, Warnings, etc...). Al intentar grabar el error en SQL tambien ocurre una falla.

2.- Como MWI no pudo grabar el error original en la tabla de Log, intenta grabarlo en el EventLog de Windows (ese que se examina con el EventViewer), pero desafortunadamente tampoco puede.

3.- Como MWI no pudo grabar el error original en el EventLog de Windows, intenta grabarlo en un archivo plano, que se encuentra en la misma ruta que el EXE del MWI que se está ejecutando, y tampoco lo logra.

4.- Como MWI no pudo grabar el error original en el Archivo Plano, el único recurso qu le queda para no perder la huella del error, es levantar un PopUp, el cual obviamente detiene a la aplicacion y y el ScheduledTask no levanta otra instancia hasta que se cierre esta, y esta no se cerrará hasta que alguien le de click a aceptar del error.

De esta secuencia lo que me preocupa es que posiblemente muchos de los errores que arriba les comenta de SQL, puedan ser derivados de algun problema de recursos del servidor, ya que si la aplicación no pudo escribir en un simple y llano txt, algo debe andar mal en la distribucion de recursos del servidor que deriva en errores comunes del SQL, o al menos esa es mi percepción.

Como comentario al margen, se supone que este nuevo servidor Cluster es 2 veces mas potente que el Standalone que teníamos antes, sus carácteristicas elementales son:

a) 4 Procesadores Dual Core de 3.4 Gh
b) 8 Gb de Memoria fisica
c) 2 LanCards de 2GB (para comunicacion de procesos) y 1 tarjeta de red por fibra (Para comunicación con la SAN)

Una duda que quería plantarles al respecto es: Uds saben si al armar una aplicación VB que se conecta a una BD es necesario hacer algo mas cuando se trata de un Servidor de BD en Cluster que si se tratara de un Stand Alone?


Muchas Gracias a quien se tome la molestia de leer!!


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #2 (permalink)  
Antiguo 17/08/2007, 12:50
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Aplicacion en Cluster

Hola,

tengo un cluster web corriendo con sql server, y varias aplicaciones VB 6 que trabajan con las bases de datos, la unica diferencia es que las aplicaciones, no estan en ningun recurso del cluster, si no en un servidor nas de aplicaciones y archivos, cada pc terminal se conecta al exe en el nas y saca toda la configurcion desde ahi, no hay ningun problema, mmmm mis consultas son, tus aplicaciones VB6 son manejadas por clientes o son consumidas como servicios, si es asi incluso con .net tuve problemas para trabajar con servicios windows y opte por instalarlos en otro servidor, espero te sirva de algo si tienes dudas sbre como trabajo podemos conversarlo.
  #3 (permalink)  
Antiguo 17/08/2007, 19:38
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Aplicacion en Cluster

Precisamente es lo que estoy detectando, a modo de ejemplo mude una version no productiva de una de las aplicaciones haciendo solo lecturas a la BD pero desde otro servidor, y hasta el momento no me ha dado ninguna falla....

Espero poder determinar de donde fregados viene la falla....

Gracias!
Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.