Desconexión del servidor

359 views
Skip to first unread message

Eduardo Cala

unread,
Apr 18, 2013, 12:54:07 PM4/18/13
to publice...@googlegroups.com
Buenos dias a todos, tengo una aplicación en una LAN, los datos están en un servidor linux gestor de archivos Samba y el ejecutable en cada máquina. Frecuentemente la aplicación da el error de  "no se encontro tabla..." o la base de datos, Yo supongo que es porque en algún momento pierde la conexión con el servidor y cuando retoma la conexión no puede establecer el ambiente previo. Si alguien puede darme luces para solucionar este problema quedaría muy agradecido.

Luis Mata

unread,
Apr 18, 2013, 12:58:36 PM4/18/13
to publice...@googlegroups.com
Que revisen la red, o haz un test con ping. Pero si la infraestructura de red es mala, no debería ser tu responsabilidad, si tu sistema trabaja bien en una red estable, para que lo vas a enseñar a trabajar en una red mala.

Malenkov

unread,
Apr 18, 2013, 6:27:51 PM4/18/13
to publice...@googlegroups.com

Eduardo, no soy experto en Linux, pero un detalle que si he notado del samba es que la transferencia de archivos entre el servidor y las terminales Windows, es más lenta que de Windows a Windows, yo también tengo un servidor de archivos con samba y cuando necesito hacer una instalación, prefiero copiar el archivo al disco local y ejecutar desde ahí, ya que de lo contrario se tarda mucho e incluso en ocasiones marca error, la red no es problema, ya que la misma máquina es mi servidor de MySQL y esto funciona de maravilla, por lo que te recomendaría cambiar tus tablas a una maquina con Windows o migrar tu aplicación a cliente servidor.

 

Saludos

 

 

LSCI Carlos A. Lara Plascencia

Calzado Riee SA de CV

Sistemas

 

MSN malen...@hotmail.com

Luis la Romana

unread,
Apr 18, 2013, 7:40:49 PM4/18/13
to publice...@googlegroups.com
Yo tengo varias tablas de distinta dimensión hosteadas en Samba de Red Hat y corre muy bien.
Cuando lo instalé hice pruebas de ancho de banda, desde un equipo con Windows escribiendo a unidades Samba y a unidades de server Windows, bajo gigabit.
El performance era superior hacia Samba tanto en ráfagas cortas como en archivos grandes. Todos los discos con Sata, luego probé escribiendo desde el Linux hacia otras unidadades Windows y tuve resultados parecidos, excepto un poco de delay en ráfagas de archivos cortos.
En otras plabaras, es aceptable, si quieres gestionar el caché y la desconexión por desuso, revisa el archivo de configuración smb.conf que está en /etc ya que si tu distro (Ubuntu, Suse, etc) puede ser diferente a otros. Si no ves diferencia clara, prueba ponerle otra tarjeta de red al Linux.


Eduardo Cala

unread,
Apr 20, 2013, 6:36:54 PM4/20/13
to publice...@googlegroups.com
Será debido a esto???

Windows 2000/XP/2003 incorpora un mecanismo por el cual es capaz de cerrar las sesiones SMB (Server Message Block), por ejemplo las que se establecen al conectar una unidad de red, que están inactivas cuando pasa determinado tiempo (15 minutos de forma predeterminada); esto se detecta, por ejemplo, en el Explorador de Windows viendo que la unidad de red tiene un aspa roja. Windows 2000/XP/2003 es capaz de reconectar esas unidades de forma automática cuando se vuelven a necesitar (si, por ejemplo, se hace click sobre la unidad en el Explorador de Windows, se comprueba cómo desaparece el aspa y se puede acceder sin problemas). Esto es un mecanismo muy bueno, pues permite no mantener hilos de comunicación que están inactivos pero ocupando la red; es decir, que es una optimización del uso de la red y de los propios equipos en cada uno de los extremos de la conexión.

La parte mala de este mecanismo es que hay aplicaciones a las que esto provoca que no funcionen cuando la unidad se encuentra desconectada. Tambien provoca que los equipos no Windows 2000/XP/2003 no sean capaces de acceder a las unidades de red que se han desconectado, reiniciar el equipo cliente(esto es típico en equipos Windows 9x).

Para estipular cuanto tiempo de inactividad es necesario para que se cierren las sesiones SMB se puede hacer ejecutando desde línea de comandos (en el equipo que comparte el recurso de red):

net config server /autodisconnect:<t>

siendo <t> un número entero que expresa minutos; así pues:

net config server /autodisconnect:30

desconectará las sesiones SMB que permanezcan inactivas durante 30 minutos.

Para configurar que no se cierren las conexiones nunca el valor de t debe ser -1; es decir que se ejecuta la instrucción:

net config server /autodisconnect:-1

Si vemos que ejecutando esta instrucción el resultado es el deseado, nuestra tarea no ha terminado, pues la ejecución de esta línea dura mientras esté el equipo encendido; si lo reiniciamos, volvera a cerrar sesiones SMB despues de 15 minutos de inactividad. Esto es debido a que lo que de verdad controla este intervalo de tiempo es una directiva. Como todas las directivas, podemos establecerla con una GPO si estamos en un dominio para todas las máquinas a las que queramos que afecte (es una directiva de equipo) o podemos, tanto en dominio como en grupo de trabajo, establecerla equipo por equipo donde necesitemos hacerlo utilizando el editor de políticas del sistema (gpedit.msc). En concreto, la directiva de la que estoy hablando es "Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Opciones de seguridad\Tiempo de inactividad requerido antes de desconectar la sesión":

Windows 2000 Resource Kits ~ Windows 2000 Group Policy Reference ~ Amount of idle time required before disconnecting a session
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/gp/563.mspx?mfr=true

En este directiva especificas con un número entero el número de minutos (si nunca la has modificado, observarás que el tiempo que especifica son los 15 minutos que antes hablamos). Un valor de cero, hara que los clientes no se desconecten nunca (es decir, es el mismo efecto que el valor -1 de <t> "en net config server /autodisconnect:<t>").

Resumiendo; primero vemos si funciona lo que deseamos utilizando "net config server /autodisconnect:<t>" y si resuelve nuestro problema, entonces retocamos la directiva "Configuración del equipo\Configuración de Windows\Configuración de seguridad\Directivas locales\Opciones de seguridad\Tiempo de inactividad requerido antes de desconectar la sesión" poniendo ese valor que era el deseado, salvo cuando lo que queremos es que nunca haya desconexiones, en cuyo caso <t> es igual a -1 en "net config server" y en la directiva es igual a 0.

Guillermo MDQ

unread,
Apr 20, 2013, 7:28:42 PM4/20/13
to publice...@googlegroups.com
Eduardo, en varios casos donde tuve el problema que se perdia la conexion con la base de datos, el problema estaba en la administracion de energia de la placa de red.
En el Administrador de dispositivos --> Adaptadores de red --> Propiedades --> Aministracion de energia, hay que destildar el checkbox que dice: Permitir que el equipo apague este dispositivo para ahorrar energia.
Con eso se solucionó el problema.
Podrias revisarlo a ver si puede ser eso.

Saludos
Guillermo
Reply all
Reply to author
Forward
0 new messages