Tras tener definidos discos duros, caja y memoria a usar, tenemos que definir lo mas importante del sistema: procesador y placa.

En este punto y en tanto hemos decidido que vamos a utilizar un sistema basado en memoria ECC, la eleccion se simplifica de forma considerable. Asi, aunque en nuestra empresa somos mas partidarios de utilizar soluciones integramente intel (Chipset + procesador + networking) para garantizar la estabilidad del sistema, cuando hablamos de un home server todo cambia…¿la razon?… los chipset intel con soporte de memoria ECC son o bien de gamas muy altas o bien son de tipo servidor (para equipos Xeon).

INTEL

De este modo… si disponemos de capital suficiente… y no nos importa tener un consumo electrico superior (salvo que consigamos un modelo de Xeon de bajo consumo de la serie Conroe, Wolfdale o Woodcrest), esta es la opcion mas interesante.

Respecto a modelos y marcas concretos, en Intel no vamos a definir pero recomendariamos comprar placas Intel (integran mejor las caracteristicas de los chipsets), o supermicro. En cualquier caso son una opcion mas cara que la alternativa en AMD.

Debemos tener en cuenta asimismo que la placa elegida va a ser determinada en gran medida por la caja seleccionada, asi por ejemplo, si seleccionamos cajas mini-itx, la gama de placas que podemos adquirir se reduce de forma muy considerable (sobre todo si queremos soporte ECC).

Una cuestion que nos va a surgir es ¿y una placa atom?…posiblemente no sea una opcion muy indicada porque:

  1. . Algunos modelos de atom no tienen soporte 64 bits (algo muy importante para opensolaris, aunque no imprescindible).
  2. No tendriamos soporte de memoria ECC
  3. Tendriamos una escalabilidad del sistema limitada (en tanto la mayor parte de placas atom solamente tienen 2 conectores sata, siendo las opciones con 4 mas escasas).

No obstante y todo ello, si el objetivo primordial fuera reducir al maximo el consumo, esta claro que esta seria posiblemente la mejor opcion.

Como recomendacion de equipo intel, podemos dar la gama basica de servidores HP (gama proliant ml 110 G5), pues estan plenamente soportados en opensolaris, incluyen soporte de memoria ECC y estan dando un excelente rendimiento a un coste muy ajustado (si bien los consumos electricos son mayores de lo deseables).

AMD

Una vez definido que no podemos (o queremos) optar por la solucion intel … tenemos la alternativa AMD… personalmente la mayor parte de mis equipos (dejando aparte portatiles) han sido AMD, y debemos reconocer una relacion calidad precio muy interesante.

¿Porque la opcion de memoria ECC es mas barata en AMD que en Intel?.. muy sencillo, Intel hasta hace poco incorporaba el gestor de memoria en el Northbridge del chipset, con lo cual, para soportar memoria ECC debiamos buscar un chipset que incorporara ese soporte… AMD por el contrario desde hace tiempo utiliza el mismo diseño para sus procesadores de gama servidor y de gama “domestica”, simplemente varia la velocidad del reloj asi como el numero de nucleos , la cache y el numero de enlaces hypertransport que soporta… de este modo incorpora “de serie” un gestor de memoria integrado dentro del propio microprocesador (con ello el fabricante de la placa base se ahorra en el chipset la instalacion de gestores de memoria).. gracias a ello, podemos contar con una feature “enterprise” en nuestros equipos domesticos.

Por otro lado, el uso de la tecnologia hypertransport simplifica mucho el desarrollo de las placas (en tanto los chipset pueden tener menos elementos e incluso pueden funcionar a velocidades de reloj menores pues tienen un ancho de banda garantizado de comunicacion con la cpu)… en definitiva, durante mucho tiempo AMD ha estado tecnologicamente por delante de Intel (si bien esta situacion ha cambiado con el desarrollo de los procesadores Nehalem (I7, i5, i3) y el uso del QuickPath Interconnect.

Otro dato a tener en cuenta… los consumos del conjunto placa + micro son considerablemente inferiores en AMD que en Intel (excepcion hecha de modelos Atom), en primer lugar porque AMD tiene unos ratios TDP menores (habitualmente), y en segundo lugar porque la utilizacion de la tecnologia Hypertransport permite obtener rendimientos similares con menores frecuencias de trabajo (y menor consumo).

De este modo una vez definido que el equipo a a ser un AMD, debemos seleccionar microprocesador, en este punto tenemos la opcion de la gama BE de los antiguos Athlon X2 (con un TDP) de 45 W, un poco antiguos ya y dificiles de conseguir, o cualquier de la gama e (energy-efficient) de la antigua version K9… respecto a los nuevos micros de la familia K10 (Athlon II, phenom…) tenemos 2 opciones muy interesantes:

La gama “u” (ultra low voltage)… p.ejm Athlon II X2 260u… con un TDP de 25 W
La gama “e” (energy efficient)… p.ejm: Athlon II X2 240e…. con un TDP de 45 W
Personalmente voy a decantarme por un Athlon X2 4400 de la gama Brisbane (ninguno de los indicados arriba ¿la razon?… porque ya lo tengo y tiene un TDP “asumible” de 65 W (en definitiva consumo maximo de 65 W (consumo que hemos comprobado no alcanza habitualmente).
Definido el micro debemos seleccionar la placa… aqui estableceria diversas recomendaciones:
  • Marca reconocida (Asus es una buena opcion).
  • Que disponga de consdensadores de estado solido (mayor estabilidad para el microprocesador), y si estos son japoneses mejor que mejor.
  • Con un minimo de 4 SATA (6 mejor)
  • Tarjeta de red a Gigabit soportada por Opensolaris.
  • Disponible un slot PCI-e 1x (minimo)… mas adelante veremos el porque.
  • Obviamente que gestione la memoria ECC.
  • Que disipe correctamente el calor del chipset y de los transistores encargadas de suministrar al procesador el voltaje necesario.
La gama de opciones es casi infinita, de todas las opciones voy a hablar de 3…todas ellas placas Asus.
extraordinaria placa (un poco antigua ya… pero que soporta procesadores phenom), con soporte para 10 discos sata, 10 usb, 2 ide, doble ethernet a gigabit (con soporte de driver gldV3 para crossbow), 3 firewire, todo ello correctamente soportado por opensolaris, con refrigeracion pasiva por heat-pipes de chipset y resto de chips esenciales de la placa, por desgracia tiene un par de inconvenientes:
a. Formato atx
b. No cuenta con grafica integrada… con lo que la grafica va a incrementar nuestro consumo.
  • M2N68-CM

placa de gama media con interesantes caracteristicas:
4 sata y 1 ide, soporte memoria ECC, 4 modulos de memoria (hasta 8 Gb) 12 usb, condensadores de estado solido y tarjeta de red a gigabit, formato micro-ATX, soporte memoria ECC (con un gestor desde la propia bios que nos permite realizar escaneos periodicos de la misma):
Inconvenientes:
a. Tarjeta de red no directamente soportada (hay que descargar el driver nfo, que soporta  gldV3).
b. Solo 4 sata (aunque no es problema si instalamos el sistema en un disco ide).
6 sata 10 usb con soporte para toda la gama de micros AMD, y parece estar recomendado en varios foros por usuarios de Opensolaris (fuente).
En cualquier caso… ¿porque recomendamos que disponga de un slot PCI-e libre?  primero para poder instalar mas discos duros si fuera necesario (a traves de una tarjeta externa para discos sata)  y porque en algunos casos se ha comprobado que el rendimiento que estan dando las tarjetas de red no son todo lo adecuadas que deberian (ello puede estar causado por muchos factores, asi que si disponemos de un slot libre podremos instalar una tarjeta externa que este correctamente soportada por el Sistema operativo, y si es compatible con los drivers de tipo gldV3 mejor que mejor (cuando analicemos crossbow veremos en mayor detalle que es gldv3, el proyecto nemo y que tarjetas de red elegir)… pero para no liarnos… seleccionamos una tarjeta de red a gigabit intel y siempre acertaremos.

En este punto entramos ya en materia considerablemente mas densa… discos duros, procesadores, memoria y placas base.

Discos duros

Dado el uso no empresarial  y la prioridad por el ahorro energetico, podemos descartar los sistemas basados en SAS o SCSI … asi que nos decantaremos por soluciones sata (o incluso IDE para la instalacion del sistema). Asimismo descartamos los discos de 2,5 (portatil) estandar por tener una tasa de errores muy superior a los de 3,5 pulgadas, asi como una vida media muy inferior.

De este modo tenemos que definir si vamos a utilizar discos de 7200 o de 5400 rpm… las ventajas de una y otra opcion serian las siguientes:

7200 rpm:

  • Mayor rendimiento
  • Mayor consumo energetico (8 W en idle… , 10 W en funcionamiento (Seagate)
  • Teoricamente menor duracion (esto habria que demostrarlo) al estar sometido a un estress mayor de rotacion que los de 5400.
  • Ligeramente mas caros (solo ligeramente) que los discos de 5900.

5400 rpm

  • Menor rendimiento.
  • Menor consumo (Western digital, 4 W en idle… 7-10 W en funcionamiento).
  • Teoricamente mayor duracion.

Tradicionalmente habria recomendado Seagate, pero una serie de problemas recientes (con un conjunto elevado de discos fallando) me hacen optar por discos Westen digital. De este modo tenemos las siguientes opciones:

Gama AV y AV GP: discos estandar con sonoridad reducida (perfectos si buscamos un nivel de ruido lo mas bajo posible), la gama GP tiene ademas un consumo energetico mas reducido. Los precios son ligeramente superiores al resto de gama caviar (green y blue)

Gama Caviar (Green, Blue y Black): La gama green se caracteriza por un consumo mas reducido de energia (menor rpm, y menor rendimiento), la gama blue podemos definirla como la estandar (7.200 rpm) mientras la gama black (mas cara).

Una opcion interesante es el WD Caviar Green WD15EARS… pues combina los bajos niveles de ruido y consumo de la gama green con unos interesantes 64 mb de cache y un precio muy interesante. (Una anotacion… este disco PUEDE (parece que hay diferentes series) tener tamaño de sector de 4K, por lo que no es utilizable por defecto en sistamas operativos como XP…y tampoco es recomendable utilizarlo como disco de sistema en opensolaris pues habria que hacer diversas adaptaciones… no hay problema para usarlo como disco de datos en opensolaris).

¿Que gama elegir?… depende de la configuracion que vayamos a realizar, si vamos a instalar los pools en discos independientes (cada disco un pool de datos), tendremos el cuello de botella en los propios discos, por lo que si queremos rendimiento tendremos que ir a gamas blue y black, ahora bien, si los datos los ponemos en raidz o mirror… el cuello de botella estará en la red por lo que instalar discos de mas velocidad no nos va a dar mayor rendimiento externo (debemos tener en cuenta que al sistema va a accederse desde otros equipos).

Para aquellos intersados en obtener el maximo rendimiento… una opcion interesante son los WD caviar black modificando ciertos parametros en su configuracion (para poder incorporarlos de forma masiva a sistemas RAID.. convirtiendo un WD caviar en un RAID EDITION )…. leer esta entrada y esta otra, tambien en este caso seria interesante (dado que buscamos el maximo rendimiento podemos permitirnos lujos presupuestarios…, incoporar un disco SSD de 64 Gb como cache de segundo nivel de ZFS (L2ARC). (mas detalles).

Como complemento, un poco de informacion sobre discos duros de tipo “enterprise” y de tipo desktop… ¿en que se diferencian? (aparte de en el precio claro esta)… en muchos casos la electronica es la misma o muy similar, al igual que los platos magneticos (no compensa fabricar de un tipo para una clase y de otro tipo para otros)… las diferencias vienen:

  1. La velocidad de giro (7200 desktop… 10.000 y 15.000 enterprise)… lo cual redunda no tanto en un incremento de la velocidad sostenida sino sobre todo de los accesos aleatoriso y la cantidad de peticiones por segundo que puede atender… asi p.ejm un disco de 7200 tiene un rendimiento aproximado de 79 IOPS mientras que el rendimiento de un disco de 10.000rpm  es de 140 IOPS… (fuente)
  2. El tamaño de la cache…
  3. Unos componentes electronicos teoricamente mas fiables que redunden en un ratio de fallos por ciclo de operaciones menor.
  4. Un mayor consumo electrico (importa mas el rendimiento que el consumo).
  5. Una capacidad menor de discos en tanto se opta por discos con un menor numero de platos asi como una orientacion tradicional (se magnetizan los datos de forma horizontal en el plato, no vertical… esto se debe a que la lectura de los discos si el mismo esta magnetizado de forma vertical es mucho mas compleja si el disco gira a altas velocidades… y por otro lado el ratio de fallos y sectores defectuosos en discos magnetizados verticalmente es muy superior a los magnetizados horizontalmente)… todo ello con la finalidad de obtener mayor fiabilidad y velocidad a costa de un mayor precio por Gb de datos.
  6. Y por ultimo, los discos estan preparados para soportad sistemas RAID…¿que quiere decir esto…?, los discos tienen un sistema de autocorreccion de errores, (a traves de CRC), pero la correccion de errores requiere tiempo… tiempo en el que todo el sistema esta esperando los datos de un disco; dado que el sistema raid presume redundancia, los datos podrian ser obtenidos de otra fuente, por ello hay un parametro en el firmware de los discos denominado TLER (time-limited error recovery), que indica al disco cual es el tiempo maximo que debe intentar recuperar los datos antes de indicar al raid que el disco esta dañado, permitiendo obtener al raid los datos de otra fuente e indicar al usuario el estado degradado del raid (en realidad puede que el disco no este fisicamente dañado, y pueda ser utilizado en otro entorno, pero no en un sistema en el que perjudicaria el rendimiento del sistema)… este parametro viene desactivado en los discos “desktop” y activado en los discos “enterprise”.

Por ultimo ¿de que capacidad y cuantos discos?… depende en primer lugar del presupuesto que tengamos, asi como de los datos a incorporar. Presupuestariamente a dia de hoy los mas rentables son las opciones de 1,5 TB, en cuanto al numero… 4 discos deberia ser mas que suficiente para alojar la totalidad de datos que vamos a utilizar o necesitar de forma continuada… y esto quiere decir, el home server debe tener exclusivamente los datos que puedan ser utilizados o bien de forma continuada o bien a corto plazo… en ningun caso lo debemos usar como sistema de almacenamiento de datos pues: 1º estamos gastando energia electrica de forma innecesaria y 2º corremos riesgos innecesarios al tener los datos en un sistema “funcional” (un disco nunca perdera los datos guardado en una caja… pero puede perderlos en un ordenador funcionando si la fuente de alimentacion revienta), asi pues, compremos los discos necesarios para disponer de suficiente “escalabilidad” a medio plazo, pero asumiendo que el uso que vamos a dar al sistema es el que debe ser… (y si tenemos mas datos en otros discos… siempre se podran conectar posteriormente a traves de puertos usb, firewire…).

Una nota adicional… asi como hemos recomendado el uso de discos de 5400 rpm para el almacenamiento de los datos… recomendariamos el uso de discos de 7200 para el sistema operativo (que va a a ir en un disco aparte) .

Memoria

La decision a tomar en este punto no es tanto la velocidad y el formato (DDR2 o DDR3) sino el uso o no de memoria ECC (correcion de errores).

Sin animo de extender mucho sobre la explicacion de que es la correccion de errores… basicamente diremos que nos proteje de posibles errores tanto inducidos como por defectos de los propios modulos, corrigiendo esos posibles errores a traves del uso de redundancias. Esto tiene como consecuencia un menor rendimiento respecto a las memorias ECC (son mas lentas) pero por contra nos garantiza que los datos que entran y salen son los que deben ser. Ciertamente, el indice de fallos en la memoria se ha ido reduciendo progresivamente, pero no es menos cierto que las memorias tienen cada vez un mayor tamaño (mayor capacidad) y que la progresiva reduccion de los voltajes de trabajo las convierte en mas vulnerables a incidencias eletromagneticas externas… todo ello hace que la tasa de fallos de memoria se incremente progresivamente.

Simplemente un dato: actualmente un servidor tiene una media de 4000 fallos de memoria al año (fuente), utilizando memoria ECC estos fallos se corrigen… no usandola pueden provocar  corrupcion de datos,  daños en ficheros de programas hasta, fallos en el equipo…

ZFS nos garantiza la integridad de los datos en el disco… pero si los datos enviados por la memoria son defectuosos o son modificados por la propia memoria no hemos avanzado nada, de este modo, y teniendo en cuenta que buscamos estabilidad el uso de memoria ECC es imprescindible…. maxime teniendo en cuenta que los precios actuales de la memoria ECC son asequibles.

¿Que cantidad?… minimo 2 GB (zfs es un gran comedor de memoria), optimo 4 Gb.

Otras opciones: dual channel si o no???… dado que es un servidor, y el uso de la tarjeta grafica interna va a ser muy reducido, realmente los beneficios obtenidos por el uso de dual channel van a ser mas bien escasos (y el sobrecoste que va a implicar no compensa esos beneficios).

Indicar que la eleccion de memoria ECC ya va a condicionarnos sobremanera la plataforma de trabajo (Intel o AMD).

Por ultimo un dato un poco anecdotico y curioso… el uso de memoria ECC debe ser directamente proporcional a la altitud a la que se encuentre el equipo, asi, un equipo a nivel del mar tiene menor necesidad (aunque sigue siendo importante) que otro  ubicado en el Teide (p.ejm), la razon es que una de las principales causas de fallos en la memoria es la radicacion cosmica (que afecta mas conforme aumenta la altitud), asi, ya en los años 90 ibm calculo que la radiacion cosmica causaba un error al mes cada 256 mb de memoria… teniendo en cuenta que la memoria es 20 veces mayor en estos momentos y ademas trabaja con voltajes mas bajos (mas susceptible a influencias por radiaciones)… esta claro que esta cifra lejos de reducirse va a ir en aumento. (fuente)

De hecho, uno de los efectos colaterales de el incremento de la velocidad de reloj de los microprocesadores (el cual se puede conseguir en gran parte reduciendo los voltajes de trabajo) es su mayor predisposicion a los fallos causados por las radiaciones cosmicas… para “solventar” este problema, intel plantea (a futuro) aparte de dotar de blindajes electromagneticos los chips, la instalacion de detectores de radiacion cosmica en el propio procesador que permita repetir la ultima operacion realizada al detectar el impacto. (fuente)

En el proximo post terminaremos la seccion de hardware analizando placas base y procesadores

Cerrar
Enviar por Correo