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
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.