| Artículos | 01 ENE 1998

Hacia el servidor seguro

Tags: Histórico
Javier Gª Moratalla.

El punto más importante de una red de ordenadores es, sin lugar a duda, el servidor. En el servidor se encuentran todos los puntos de unión entre los equipos y, en la mayoría de los casos, casi todas las bases de datos de la empresa. Un aspecto que ha preocupado mucho a los desarrolladores de sistemas operativos de red ha sido la seguridad física, es decir, lograr que el sistema sea lo más fiable posible ante fallos, sean estos de la índole que sean.

Para los fallos provocados por software, cada sistema operativo de red implementa su propia filosofía, siempre con el fin de lograr que el servidor siga funcionando ante cualquier incidencia. Pero el problema más serio se plantea cuando hay que hacer frente a un fallo provocado por el hardware o una caída de luz. Ante este tipo de errores los sistemas operativos pueden aportar pocas soluciones y pasan a depender de agentes externos al propio equipo que sean capaces de mantener el mismo en funcionamiento.

De las soluciones externas con que contamos la más clásica, y ya casi imprescindible en cualquier servidor que se precie, es el sistema de alimentación ininterrumpida (SAI o UPS). Mediante este sistema, podemos asegurar que el equipo, no sufra las consecuencias de una caída de tensión. Podemos encontrar varios tipos de SAIS: algunos tienen la suficiente inteligencia como para realizar ellos solos todo el proceso de volcado de la información para su posterior recuperación; por el contrario, los más simples sólo nos permiten un tiempo extra una vez que se ha producido la caída. Lo normal suele ser que el propio sistema operativo cuente con utilidades para la gestión de estos sistemas, logrando así un grado de efectividad muy superior al que se consigue de manera aislada.

Si bien este tipo de medidas puede ser suficiente ante algunos imprevistos, nos encontramos ante otro tipo de servidores cuyo funcionamiento continuo es vital para la empresa. Para ellos hay que contemplar otro tipo de errores como pueden ser la rotura de un disco duro, un fallo de memoria, o incluso, porque no, el fallo del microprocesador. Para este tipo de servidores nos encontramos que lo normal suele ser duplicar los recursos. Por ejemplo, como solución a la caída de un disco duro implementamos un segundo cuyos datos serán exactamente los mismos que en el primero, es decir, será un mero espejo del primero que podrá entrar en funcionamiento como disco principal ante la caída del otro. En cuanto a los procesadores, la tendencia es introducir varios procesadores que en estado normal trabajarán conjuntamente, pero ante la caída de uno de ellos los demás podrán seguir funcionando con una carga un poco mayor. Otro recurso interesante de preservar, pero en menor grado, son las impresoras, la tendencia está en que se encuentren en la red directamente sin depender de ningún ordenador. De esta manera, además de no suponerle una carga al equipo sobre el que están instaladas, se suelen duplicar de modo que el propio sistema operativo, ante el tráfico o las premisas del usuario, puede decidir a qué impresora enviar el trabajo.

Sistemas RAID

Los RAID (Redundant Array Inexpensive Disk), son una colección de discos duros que actúan y funcionan como uno solo, de modo que son capaces de ofrecer una gran tolerancia a fallos.

Existen seis tipos de RAID estandarizados según sea su redundancia, su rendimiento y otros parámetros aportados por el servidor:

RAID 0: Este tipo de unión de discos está optimizado para obtener rendimiento, sin aportar tolerancia a fallos.

El funcionamiento de este tipo de RAID es lograr acceder a varios discos a la vez mediante la creación de los denominados stripes en cada disco, o sea, dividimos cada uno de ellos en varios stripes y todos los discos de la misma manera, de este modo podemos acceder a todos a la vez. De este forma estamos disminuyendo el cuello de botella que supondría tener que escribir toda la información sobre un mismo disco. Este sistema es especialmente idóneo en equipos que manejen ficheros de gran tamaño, ya que gracias a que realiza la lectura y la escritura de varios discos a la vez, la velocidad es sustancialmente más rápida que si se empleara una única unidad. El número habitual de stripes empleados suele ser de tres a diez, y el número de discos varía según la implementación, pero suele estar entre cuatro y ocho.

Pero si este tipo de dispositivo lo que logra es un gran rendimiento, no existe en ellos ningún sistema de redundancia que permita la recuperación de datos, o sea, si perdemos un fichero no tenemos posibilidad de recuperarlo, ya que hemos sacrificado la redundancia por las prestaciones.

RAID 1: La configuración de este tipo de RAID se basa en lo que se denomina disco espejo, logrando una gran tolerancia a fallos con un gran rendimiento, pero por el contrario generando un gran gasto en espacio desaprovechado y, por lo tanto, en coste.

El software que gestiona el RAID se dedica a copiar el mismo dato sobre todos los miembros del array, consiguiendo de este modo que si uno de los discos componentes falla ese mismo dato puede ser encontrado en cualquiera de los otros discos integrantes. Un inconveniente de este tipo es que si los discos no son de la misma capacidad, cosa rara pues lo normal es implementarlo con discos iguales, la capacidad total del array será la del menor de ellos.

Existen opciones para implementar un mejor rendimiento en las lecturas, ya que la información contenida en todos los discos es igual, podemos realizar la lectura de varios de ellos, logrando de este modo un incremento en el rendimiento final del sistema. La implementación más normal en este tipo de sistemas es con dos o, como mucho, tres unidades de disco.

RAID 2: Se basa en el código de corrección de errores de Hamming (EEC), que ofrece una gran seguridad ante perdidas de información. Su aplicación inicial era para las unidades de disco que no llevaban detección de errores, pero dado que todas las unidades SCSI soportan detección de errores, este sistema no se emplea casi.

RAID 3: Es una adaptación del RAID 0 que sacrifica algo de espacio a cambio de obtener algo más de seguridad.

Su funcionamiento se centra en el bit, es decir, emplea un stripe para albergar un código de paridad. De este modo no solo está permitiendo comprobar los datos, para que su funcionamiento sea óptimo debe ser soportado mediante hardware que sea el encargado de realizar las gestiones de generación de paridad, así como de comprobación y posible recuperación. Es el sistema óptimo para manejar grandes ficheros.

RAID 4: Es muy similar al RAID 3, pero busca un mayor rendimiento en diferentes aplicaciones frente a los grandes ficheros secuenciales para los que es óptimo el RAID 3.

Emplea un único disco como paridad, lo cual por un lado le permite unos resultados excelentes en recuperación de errores y en operaciones de lectura, pero por el contrario genera un cuello de botella en las operaciones de escritura, ya que todas tienen que entrar sobre un mismo disco para escribir su paridad. Su comportamiento es ideal en aplicaciones con ficheros no excesivamente grandes y donde primen sobre todo las operaciones de lectura, ya que son las de escritura las que hacen lento el sistema.

RAID 5: Nuevamente se presenta como una evolución del anterior, tratando de solventar los errores que éste presenta, es decir, el cuello de botella de las operaciones de escritura. Para resolverlo lo que hace es escribir la paridad en todos los discos, resolviendo de este modo el problema que planteaba el RAID 4 al realizar frecuentes escrituras.

Gracias a la fiabilidad que tiene en recuperar información, gestionada del mismo modo que en los RAID 3 y 4, y en resolver el problema del cuello de botella del bit de paridad en la escritura en el RAID 4, es

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios