Servidor de datos de alta disponibilidad



  • Hola a todos,

    tengo que montar un servidor de datos de alta disponibilidad, pero tengo algunas dudas relacionadas con la configuración de hardware que hace falta ya que nunca he montado ningún servidor así.

    • La idea es que haya dos servidores (\servidor1 y \servidor2), si uno falla sería el otro el que empezaría a servir las peticiones.

    • Los servidores van a ser servidores de datos, en concreto se quiere compartir una carpeta (en windows o con samba, eso ya se verá) y que los demás clientes accedan a esa carpeta como \servidorvirtual\c\carpeta

    • Es el sistema operativo el que hará el clustering, es decir, al hacer una petición a \servidorvirtual la cogerá \servidor1, y si éste está caido la cogerá \servidor2

    • LOS DATOS DEBEN SER LOS MISMOS en los dos servidores, y es aquí donde está mi mayor problema ya que me dicen que para que los datos sean los mismos en los dos servidores debo tener una cabina externa de discos duros con RAID 5 y que los dos servidores accedan a esa cabina externa. Además cada servidor tiene dos discos duros en RAID 1 (en los que sólo estará instalado el sistema operativo)

    Mis preguntas son:

    ¿Es necesaria esa cabina externa para los datos?
    ¿Ssería posible tener los mismos datos en los dos servidores sin necesidad de esa cabina externa? ¿Puedo conectar el mismo disco duro SCSI a los dos servidores a la vez (para ahorrarme la cabina)?
    En caso de no necesitar la cabina, ¿quién se encargaría de duplicar los datos en ambos servidores? ¿el sistema operativo?

    En fin, espero que me haya explicado bien y se entienda el problema, muchas gracias de antemano a todos.
    Salu2!



  • No me ha quedado muy claro lo que comentas pero mas que nada porque no tengo mucha idea sobre el tema, aun asi te pondre algunas cosillas teoricas que se me ocurren.

    Tal y como lo planteas yo entiendo que solo funcionara un servidor funcionando el segundo cuando caiga el primero. En este caso, y dependiendo de lo que se entienda por servidor, podrias usar un solo disco para los dos suponiendo que este no falle con el servidor (externo a este).

    Otra opcion es tener un disco en cada servidor con la misma informacion, es decir, el servidor maestro escribe en los dos discos, seria un raid, por hardware o software o de que tipo no lo se.

    Creo que la opcion que te han comentado es la mas logica, auqnue no se si en reaid o no, me refiero a un sistema de almacenamiento tipo NAS (no se exactamente como va pero creo que es lo que necesitas)

    Se me ocurren un monton de problemas hardware/software que supongo que tendran programas y/o maquinas especificas.

    Supongo que no te habra servido de mucho, pero asi de paso me resolveis mis dudas, jeje:risitas:



  • Nunca he montado nada parecido, pero se que existe kimberlite.
    Puedes pasarte por High-Availability Linux Project para ver que se cuentan por allí, y también puedes consultar este documento: HowTo Servidor Alta Disponibilidad con Kimberlite a ver si te ayuda.
    Otro artículo sobre alta disponibilidad
    Sobre si necesitarás la cabina u otro ordenador para los discos, me temo que si; ya que mantener un volumen de datos elevado actualizado en dos servidores a la vez debe consumir muchos recursos.


  • Admin honoris causa

    yo te cuento la pelicula como la conozco, para entornos Wintel (windows + intel).
    Lo que tu necesitarías son 2 servidores con hardware identico + un almacenamiento externo, que bien puede ser una cabina de discos SCSI (con discos tambien SCSI o ahora tb SATA), o una SAN (Storage Area Network) fibre channel (bastante más cara). Como sistema operativo necesitarías Windows 2000 advanced server (cluster de 2 nodos máximo), windows 2000 datacenter server (para más de 2 nodos, creo que hasta 8), o windows 2003 enterprise server (hasta 8 nodos), las 3 versiones permiten configuraciones Activo/activo o activo/pasivo (que sería tu caso).

    Cada servidor llevaría su SO instalado (normalmente en un Raid 1), y conectado a la cabina (si necesitas criticidad mayor necesitas controladora redundante) de discos mediante cable SCSI (si la cabina es SCSI) o mediante fibra (si la SAN es FC). Dentro del almacenamiento compartido es necesario al menos una particion (a mi me gusta un Raid 1) para el quorum del cluster (el 'corazon' del cluster), y la unidad que quieras compartir.

    Antes de montar el cluster, cada servidor (de ahora en adelante nodo) tiene su nombre físico y su dirección IP.
    Cuando se monta, hay que asignarle una IP y nombre al cluster, y una IP y nombre lógicos a cada nodo del cluster, así que tendríamos:

    SRVDATOS1 - Nombre físico del nodo1
    SRVDATOS2 - Nombre físico del nodo2
    CLDATOS - Nombre lógico del cluster
    SERDATOS1 - Nombre lógico del nodo1
    SERDATOS2 - Nombre lógico del nodo2

    en condiciones normales de activo/pasivo no sería necesario 2 nombres lógicos (uno por nodo), sino q con crear un nombre lógico SERDATOS valdría, de tal manera que si el nodo activo es el 1, al poner \SERDATOS accederías a los recursos compartido (a nivel de cluster) que en ese momento posee el SRVDATOS1 y si el activo es el SRVDATOS2 accederiamos a esos mismos recursos que en este caso estarían en el otro nodo.

    Entre ambos nodos es necesaría una comunicacion interna para la gestion del cluster, que habitualmente para cluster de 2 nodos se hace con 2 tarjetas de red y un cable cruzado configurando la velocidad de ambas tarjetas a 10mbps (aunque sean de 100 o 1000), para evitar posible perdidas de datos.

    Otra posible solucion (aunque mucho menos 'elegante') sería montar una 'granja' de servidores que se repartieran la carga de trabajo, el problema que tienes sería la replica entre ambos, ya que es muy complicado (y caro) tener sincronizados ambos servidores instantaneamente (aunque si la criticidad de la replica no es excesiva hay soluciones muy baratas para ello).

    Creo que no me he dejado nada, si es así ya lo pondré y si tienes alguna duda no dudes en preguntar.

    Sobre si necesitarás la cabina u otro ordenador para los discos, me temo que si; ya que mantener un volumen de datos elevado actualizado en dos servidores a la vez debe consumir muchos recursos.

    Normalmente una replica grande, suele hacer 'ruido' la primera vez, despues si la replica es cada poco tiempo, no suele notarse mucho (ademas de que se puede o debe montar una red dedicada para la replica). Yo te puedo poner el ejemplo de una replica (realmente son varias, pero te pongo la más pequeña), de unos 200 GB en archivos de entre 8MB y 600MB (con un tamaño medio de 10MB), y por lineas dedicadas a 1Gbps, replicamos cada 5 minutos.

    Salu2
    Packo



  • Básicamente, la solución de paco y la mia es la misma, cada una en su respectivo SO.
    Por si te interesa, dicen que samba 3 sirve datos más rápidamente que un win2k3
    Aunque me da miedo pensar cuanto valdrán sólo las licencias de los win…

    Una duda que tengo, a ver si paco que esta más acotumbrado a estos entornos me la responde.
    Tenemos los pc's que harán de servidores y un tercero que será donde estará la db con raid 1 para tener tolerancia a fallos.
    Los pc's servidores (los dos primeros), necesitan ser potentes??? o como el que curra de verdad es el tercero pueden ser más pequeños??


  • Admin honoris causa

    Publicado originalmente por josefu
    Por si te interesa, dicen que samba 3 sirve datos más rápidamente que un win2k3
    Aunque me da miedo pensar cuanto valdrán sólo las licencias de los win…

    lo de Samba la verdad es que no lo se porque no he trabajado con el, pero si te puedo decir que win2k3 es bastante más rapido que win2k, y que con un hardware bueno (una cabina de discos SCSI U320 con doble canal contra una controladora Raid con doble canal tambien), satura una conexión ALB de 2 tarjetas de 1Gbps.

    Una duda que tengo, a ver si paco que esta más acotumbrado a estos entornos me la responde.
    Tenemos los pc's que harán de servidores y un tercero que será donde estará la db con raid 1 para tener tolerancia a fallos.
    Los pc's servidores (los dos primeros), necesitan ser potentes??? o como el que curra de verdad es el tercero pueden ser más pequeños??

    A ver si lo he entendido, vas a tener 2 servidores que van a acceder a uno (que es donde está la bdd) para ser este el que tenga esa tolerancia a fallos, no?. Puedo preguntar para que esos 2 servidores?

    Desde luego el más potente debería ser el que aloja la BDD, que es el que va a efectuar las operaciones de más consumo (sobre todo de memoria). Que tipo de BDD va a ser?.

    Salu2
    Packo



  • Lo de Samba la verdad es que no lo se porque no he trabajado con el, pero si te puedo decir que win2k3 es bastante más rapido que win2k, y que con un hardware bueno (una cabina de discos SCSI U320 con doble canal contra una controladora Raid con doble canal tambien), satura una conexión ALB de 2 tarjetas de 1Gbps.

    Yo probarlo no lo he probado, pero es lo que he leído

    A ver si lo he entendido, vas a tener 2 servidores que van a acceder a uno (que es donde está la bdd) para ser este el que tenga esa tolerancia a fallos, no?. Puedo preguntar para que esos 2 servidores?

    Desde luego el más potente debería ser el que aloja la BDD, que es el que va a efectuar las operaciones de más consumo (sobre todo de memoria). Que tipo de BDD va a ser?.

    Me refería al caso de jfaba, montar un cluster de alta disponibilidad con dos servidores monitorizandose entre si por si cae el primario, el secundarío asuma el papel que cumplia el primario.
    La db (o archivos) estaría o en otro equipo o en una cabina de hd's.

    Por curiosidad, ¿cuanto vale una licencia windows 2003 enterprise server?


  • Admin honoris causa

    el problema del cluster (al menos el de microsoft), es que los datos (o al menos el disco de quorum) tienen que estar en un almacenamiento compartido externo (osea una cabina de discos o una SAN), y eso en el ejemplo que has puesto no es posible, tiene que ser un disco físico al que puedan acceder ambos (pero nunca a la vez)

    Respecto al precio de la licencia, la verdad es que no tengo ni idea de lo que vale, pq en mi curro existe una subscripción con contrato privado directamente con Redmon, debido al elevado numero de licencias que se usan, así que no tengo ni idea de lo que vale, pero voy a ver si lo encuentro (aunque solo sea por curiosidad)

    El w2000 Advanced server vale la licencia alrededor de 1000€
    El w2003 standard edition vale tambien alrededor de 1000€, así que el enterprise edition será más caro, pero no se si mucho o poco más.



  • el problema del cluster (al menos el de microsoft), es que los datos (o al menos el disco de quorum) tienen que estar en un almacenamiento compartido externo (osea una cabina de discos o una SAN), y eso en el ejemplo que has puesto no es posible, tiene que ser un disco físico al que puedan acceder ambos (pero nunca a la vez)

    Con kimberlite es el mismo método, sólo un servidor accede al disco a la vez para evitar corrupción de datos. Dónde este ese disco (otro pc, san…), en principio, creo que da igual.

    El w2000 Advanced server vale la licencia alrededor de 1000€
    El w2003 standard edition vale tambien alrededor de 1000€, así que el enterprise edition será más caro, pero no se si mucho o poco más

    ¿Y no os planteais ahorrarles ese buen pico a vuestros clientes por cada máquina con un w2k? Desde luego seríais más competitivos.
    Habrán cosas que no se podrán migrar de momento, como una db sql server (a no ser que se migrase también la db, pero eso ya conlleva un cambio muy radical), web's en asp… pero los demás servidores (correo, web, pdc, etc) si que se pueden montar con linux (o freebsd :P)
    Supongo que si utilizais ms para todo (que no se si es así) será más por politiqueo que por otra cosa (ese contrato privado con Redmon). Porque si hay soluciones que funcionan, como mínimo, igual de bien y son más baratas, no me cabe en la cabeza que se sigan utilizando las caras.
    Aunque como supongo que ese pacto con el diablo (:D) también os reportará bastantes beneficios es un tema delicado.


  • Admin honoris causa

    Publicado originalmente por josefu
    ¿Y no os planteais ahorrarles ese buen pico a vuestros clientes por cada máquina con un w2k? Desde luego seríais más competitivos.
    Habrán cosas que no se podrán migrar de momento, como una db sql server (a no ser que se migrase también la db, pero eso ya conlleva un cambio muy radical), web's en asp… pero los demás servidores (correo, web, pdc, etc) si que se pueden montar con linux (o freebsd :P)
    Supongo que si utilizais ms para todo (que no se si es así) será más por politiqueo que por otra cosa (ese contrato privado con Redmon). Porque si hay soluciones que funcionan, como mínimo, igual de bien y son más baratas, no me cabe en la cabeza que se sigan utilizando las caras.
    Aunque como supongo que ese pacto con el diablo (:D) también os reportará bastantes beneficios es un tema delicado.

    Como bien dices es todo tema de politiqueo, porque el contrato con MS (para el que vino el tio Bill a Madrid a firmarlo, así que imaginate las proporciones que puede tener), es a nivel del grupo del que la empresa donde yo trabajo es una más (con mayor o menor peso pero una más). Nosotros no damos servicio a 3os. (bueno, a 3os. del mismo grupo si, así que todo queda en familia). Desde luego conllevaría un cambio tan sumamente radical que sería literalmente imposible afrontarlo (estamos hablando de, sólo la empresa donde yo curro, más de 400 sucursales en toda España, SA). Con decirte que aún hay por ahí algun windows 3.11 :risitas: :risitas: . Ahora en serio, la aplicación 'madre' de la produccion empresarial solo existe para windows, contra una base de datos Sybase (aunque la proxima versión atacará una base de datos SQL Server), por tanto es, como ya te decía antes, literalmente imposible ni siquiera pensar en una minima migración. Hasta la semana pasada en el CPD solo había un RedHat que tiene una BDD que hace 4 años que no se usa, y que tiene menos futuro que Sadam Husein en una silla electrica, y ahora hay un servidor nuevo de pruebas para grabar sonido tambien con RedHat, pero tampoco creo que dure más de 2 meses allí.

    Salu2
    Packo



  • Hola de nuevo,

    ante todo quería daros las gracias por las repuestas a todos.

    Mediante vuestras respuestas y la información que he ido recopilando he llegado a la conclusión de que necesito una cabina externa de discos, que en mi caso será SCSI ya que es más barata (gracias packosoft).

    Ahora mismo estoy haciendo pruebas con una Debian y el samba y la verdad es que por ahora va muy bien, ya que contestando a josefu, si utiilizo Windows 2003 Server Enterprise la broma sale por 4000$ cada servidor, osea, 8000$ sólo para el sistema operativo, y no se puede poner la versión estándar ya que no permite hacer "clustering". Visto de esta manera merece la pena intentar hacerlo funcionar con Debian y heartbeat (del proyecto linux-ha)

    Y ahora vienen los problemas….

    Yo ahora mismo para hacer pruebas dispongo de ordenadores "normales", discos IDE, etc. pero no dispongo de ninguna cabina de discos SCSI.

    ¿Puedo hacer las pruebas de linux-ha sin tener esa cabina?

    En principio había pensado en coger un tercer ordenador que haría el papel de la cabina, montar mediante el cliente smbclient un directorio compartido en los otros dos ordenadores del cluster, y montar el linux-ha en los dos ordenadores que formarían el cluster, así serían las pruebas:

    ORDENADOR1 y ORDENADOR2:
    Debian Woody
    Demonio de samba sirviendo la carpeta "/mnt/carpetacompartida"
    HeartBeat
    Cliente de samba montando la carpeta que comparte "\ORDENADOR3\carpeta" en /mnt/carpetacompartida

    ORDENADOR3 (haría el papel de la cabina)
    Windows (el que sea) compartiendo una carpeta, por ejemplo "c:\carpeta" como "\ORDENADOR3\carpeta"

    En otro ordenador arrancaría la aplicación que hace uso del fichero access compartido (accediendo mediante "\SERVERVIRTUAL\carpetacompartida\bd.mdb", y mientras está trabajando desenchufaría el ORDENADOR1 directamente, y en teoría el ORDENADOR2 debería seguir trabajando con los clientes sin problemas, ¿verdad? ¿alguna forma mejor de probarlo sin tener que comprar todavía la cabina de discos? SERVERVIRTUAL no existiría realmente sino que se crea mediante el linux-ha

    Y ahora viene mi pregunta más importante: ¿Cómo funcionan estas cabinas de discos SCSI? ¿Cómo se conectan a los ordenadores? ¿Son compatibles con linux? ¿soportan RAID-5 independientemente del sistema operativo que acceda a la cabina?
    Supongo que necesitaré una tarjeta controladora SCSI para cada servidor, pero... ¿es la tarjeta la que hace el RAID-5 o es la cabina de discos? ¿cómo accedo desde linux a la cabina de discos, montándola igual que cualquier otra partición?

    Bueno, espero no haberos aburrido...
    Muchas gracias por vuestra ayuda.


Accede para responder
 

Has perdido la conexión. Reconectando a Hardlimit.