El RFOG se renueva por dentro y por fuera (y II)

Vamos a por una segunda parte no planeada, pero se me quedaron en el tintero algunas cosas y me han surgido otras nuevas, cosa que quiero hacer público por si le pasa a alguien más.

Si no te molan mis rollos patateros, el mensaje de la entrada es bien sencillo: Cuando uséis discos SSD, ponedlos en AHCI y usad Windows 7 o Server 2008R2.

Y ahora sí, ahora a contaros mi vida.

Bueno, pues una de las cosas en las que ha usado este largo puente, ha sido terminar de remodelarse el despacho en su casa que en su momento fue lugar de trabajo habitual y que está completamente seguro no va a volver a utilizar como tal en una larga temporada. Así que se lo ha montado a su gusto. Os pongo una foto:

image

Antes el lugar estaba lleno de estanterías metálicas con material del trabajo. Ahora están en el altillo, que es como el RFOG llama a una habitación que tiene justo al lado de su terraza. Allí tiene todos sus trastos y en su momento sirvió de almacén local para material de la empresa. Ahora hay más estanterías (las de abajo) y más cosas (también subidas de abajo).

La idea ha sido meter todo lo que tenía desparramado por la casa en una sola habitación. Es un decir, porque de cuatro habitaciones que tiene la casa (sin contar cuarto de baño ni cocina), el RFOG ocupa dos de ellas con sus cacharros. Su sala de estar (que ahora sí que parece tal), su dormitorio, su biblioteca liberada de cajas y de trastos que han sido subidos al altillo, y su despacho, que es la habitación que sale en la foto.

Al fondo a la derecha podéis ver un ordenador viejales (un AMD x2) que funciona de aquella manera y al cual accede por escritorio remoto, y encima su cablemodem y su Time Capsule que hace las veces de Router y de NAS para el MAC. Luego está la mesa del atril, enfrente de la ventana, que es el lugar para leer libracos que pesan mucho.

Más cerca está su nuevo ordenador (sí, se ve, la caja no es precisamente un primor), y sus dos monitores de 24”. Luego el iMAC, con su mesa y todo.

Entre medias se puede ver un Kindle 3, un iPad, su HP Touchsmart TM2 en su funda y la caja de uno de sus nuevos discos SSD (que ha usado para ver el modelo exacto y si soporta comandos TRIM, que lo hace). Al fondo a la izquierda se puede ver la estantería que ha dejado y una bicicleta estática… que apenas usa y debería hacerlo con mayor frecuencia.

Justo al principio de la parte derecha, donde está la bolsa de plástico, hay una mesa más que contiene algo de chatarra (discos duros, un EEPC del año la pera, y sus otros e-readers. En el rincón que no se ve, justo al lado del sillón que asoma a la izquierda, está la chimenea.

Y bueno, esa es la organización de la habitación del RFOG.

***

Al final no va a hackintoshear su PC, no. Porque se ha informado y ha visto que la cosa no es tan fácil como parece a simple vista. El primer problema es que necesita una BIOS parcheada para su placa base, y las versiones disponibles son bastante antiguas.

Pero luego no es todo tan fácil como se lo habían propuesto, no. Una vez instalado el Snow Leopard hay que liarse a meterle parches y drivers parcheados para que todo funcione bien, y aun así te garantizan unos cuantos kernels panic periódicos, así que al final lo ha dejado estar, y como tiene su iMAC…

***

Cuando el RFOG tenía las máquinas virtuales del trabajo en discos SATA II, las tenía en NTFS comprimidas. Sin que fuera una gran diferencia de rendimiento respecto a no tenerlas, sí que hacían su función. La idea es que, comprimidas, se minimiza el acceso a disco porque se tiene que escribir menos frente al tiempo de proceso de la compresión.

Cuando separó trabajo de vida personal, y tuvo su ordenador nuevo, instaló sus cuatro discos SSD formando dos RAID 0, uno para la partición de Windows y otro para las máquinas virtuales.

El rendimiento de lectura era de unos 300 MB/s, y el de escritura de unos 160 MB/s o así, ni de lejos los 500 y 300 respectivamente que deberían haber sido si se combinan las velocidades de los dos discos. Ya sabemos que el rendimiento no es el doble, pero en este caso tan sólo es algo superior al de uno solo.

No obstante el RFOG estaba bastante contento con su montaje. Y pasaron un par de días en el que continuó personalizando su ordenador, poniendo esto aquí y quitando esto de allá…

Y de repente el rendimiento se degradó de forma alarmante, sobre todo en la parte de las máquinas virtuales…

Para evitaros rollos varios sobre cómo encontré la solución y de los pasos que me llevaron a ello, comentaros que el tema tenía que ver con el comando TRIM de los discos SSD…

***

Debéis saber que los discos SSD no son más que un conjunto de memorias de tipo FLASH NAND (como las de las PDA, lectores de libros electrónicos, iPad y demás) con una controladora que simula ser un disco duro normal y corriente.

Lo que no se dice (y que conste que el RFOG lo sabía porque las ha tenido que usar en alguno de sus proyectos, pero fue incapaz de relacionar una cosa con la otra) es que esas memorias, una vez escritas, hay que borrarlas. Es decir, no se puede escribir sobre ellas como en un disco duro, sino que hay que realizar una operación de borrado antes, operación que suele ser bastante lenta comparada con la de escritura y sobre todo la de lectura.

En otras palabras, la controladora está diseñada para que vaya suministrando al ordenador, cada vez que se quiera escribir algo, sectores frescos y borrados. Hasta aquí bien, lo previsible. El problema viene cuando esos sectores libres se llenan y ya no quedan más.

No es que el disco se haya llenado, sino que se han usado todas las partes “vírgenes” por decirlo así. Cuando borras un fichero, la controladora de disco no borra la flash pertinente, sino que la marca como borrada y deja de usarla hasta que ya no quedan áreas libres y, cuando el sistema operativo necesita más espacio, procede a borrar las celdas ya usadas antes de darlas, y es cuando se produce la caída de rendimiento [1].

Hablando en propiedad, esto es una mierda oculta debajo de la alfombra de las SSD, que nadie airea y lo que es peor, nadie estandariza. De todos modos, existe un comando (supongo que será SCSI) que se llama TRIM. Si el sistema operativo, a la vez que borra el archivo, emite dicho comando para los sectores borrados, la controladora SSD añadirá dichos sectores a la lista de pendientes de borrar, y los borrará cuando tenga tiempo. De este modo el rendimiento no cae si tenemos tiempos muertos en el disco, ya que, en principio, todos los sectores libres estarán borrados a la hora de ser usados.

Windows 7 y su contraparte servidora son los únicos sistemas operativos que, a fecha de hoy, emiten dicho comando si tienen la configuración adecuada activa (que se pone sola si el sistema detecta este tipo de discos). Ni Linux ni Snow Leopard lo soportan, así que ojito con poner discos SSD con estos sistemas operativos, aunque existen soluciones alternativas y bastante chapuceras.

Pero hay otro problema, y es que el comando TRIM sólo funciona cuando los discos están en modo AHCI, y tampoco todas las controladoras los permiten. Generalmente las últimas versiones de todos los fabricantes lo hacen, incluyendo los ICH10R de Intel, pero es algo a comprobar.

En RAID no funcionan o más bien son ignorados por el hardware (citando a Tella, parece ser que el código RAID es antiguo, funciona al pelo y nadie se atreve a modificarlo no sea que la caguen), y también en xATA (léase ATA, SATA IDE, eSATA, etc).

Por lo tanto existe toda una serie de restricciones a la hora de tener discos SSD:

· Sólo en modo AHCI y con controladoras que soporten el comando TRIM

· Sólo discos SSD que soporten el comando TRIM (casi todos los de última generación a fecha de hoy).

· Sólo Windows 7 y Windows Server 2008R2.

· Si ponéis máquinas virtuales, que los discos estén sin comprimir.

Esta última recomendación creo que tiene que ver con el hecho de que la tasa de escritura es tan alta, que el tiempo que dura la compresión/descompresión sí que afecta al tiempo total de escritura/lectura.

No obstante, existen chapuzas para solventar este problema en aquellos discos o montajes que no lo soporten. Por ejemplo, Intel tiene una solución para sus discos y sus controladoras que consiste en tener un programa monitor en background que periódicamente revisa los discos y libera el espacio no trimmeado, y también existe algún que otro programa que se supone hace lo mismo. El mayor problema es que es un remiendo más que una solución.

En mi caso, la imagen de abajo os da una idea del rendimiento de mis discos bajo Windows 7 x64 en un disco recién formateado y 5 repeticiones de un archivo de 1GB:

image

Quizás estos enlaces te ayuden a comprobar tu sistema (lo siento, la mayoría están en inglés):

· http://www.ghacks.net/2010/09/14/verify-that-trim-is-enabled-in-windows-7/

· http://en.wikipedia.org/wiki/TRIM

· http://es.wikipedia.org/wiki/TRIM

· http://www.anandtech.com/show/2865


[1] Bueno, realmente ignoro si primero se emite un comando de borrar para luego ceder el espacio libre, porque dependerá del tipo de flash usado, o si se reescribe sin más, y tampoco es una cosa que me importe lo suficiente como para investigarla. Lo que es cierto es que las reescrituras de celdas ya usadas es más lenta que las de las vírgenes.

El RFOG se renueva, por dentro y por fuera

Sí, pese a lo que dijo sobre su MAC, al final se ha comprado un PC que sin ser lo último de lo último, tiene su cosa. El MAC está bien, pero le echa a faltar muchas cosas, muchos programas y otros temas, así que, al final, en lugar de comprarse un MAC PRO, se ha decidido por un clónico.

Si os preguntáis qué le ha pasado con su ordenador viejo, no lo hagáis directamente a él, porque va a coger un cabreo de cojones y posiblemente os deje con la palabra en la boca… si no os suelta alguna fresca.

Básicamente su QUAD con 8 GB de RAM se ha quedado en la empresa. Para evitar jaleos y tener la fiesta en paz, ha decidido que no vale la pena batallar por cosa tan nimia (Si no lo sabíais, el RFOG ha pasado, por ordeno y mando, de trabajar en su casa a tener que ir, todos los días, a una empresa, gastando por ello al menos hora u hora y media más de su vida por las mismas prestaciones económicas, y de hecho sigue preguntándose por qué no se ha ido sin más… Corramos un estúpido velo sobre el tema y dejemos la cosa como está.

Bueno, el nuevo ordenador del RFOG está compuesto por una placa Gigabyte (Modelo P55A-UD4) que tiene hasta tres chipsets para discos. Uno para el eSata, otro para los SATA II normales y un tercero para dos discos SATA III. Aparte la placa tiene FireWire 400. Ahí es nada, y también ahí es nada el tiempo que tarda toda la rutina del POST, de hecho más tiempo que el necesario para arrancar su Windows.

Esa placa ejecuta un Core i7 870 a 2.93 GHz que tiene cuatro núcleos dobles con HyperThreading, lo que suman 8. Y bien bonitos que se ven en el Administrador de Tareas. Y también, de momento, no les ha visto el culo, porque no suben del 40% total de tiempo de proceso.

La idea original era ponerle 16GB de RAM, pero al final sólo pudo disponer de 4 porque no le pudieron encontrar módulos de 4GB, aunque le han dicho que en cuanto los consigan lo avisan y se los cambian. De todos modos, 8GB ya son gigas para lo que el RFOG quiere.

La tarjeta de vídeo es una ATI HD6850. El rendimiento es tal que ni el StarCraft II ni el Civilization V a plena resolución hacen que la el ventilador de la misma se revolucione. Ahí es nada. De hecho, apenas nota que tiene algunas cosas con vmWare en modo Unity (que ya es decir).

Luego están los discos. Un SATA II de 1 TB normalito como disco de datos y de seguridad. Y cuatro discos SSD de 64GB en dos RAID 0. Sí, lo que oís, los discos valen más que el resto del ordenador.

Pero ¡chico!, cómo van. Y eso que no son de los más rapiditos que hay, que si no… El arranque de Windows hasta mostrar el escritorio es unos 10 segundos. La tasa de transferencia en copia entre las dos agrupaciones RAID es de unos 220-230 MB/s sostenida (unos 40 GB de una tacada).

A todo eso ha añadido a su ya existente monitor de 24”… otro más. Y como el primero tiene resolución de 1920×1200, el nuevo también la tiene (los modernos traen una de 1920×1080, quizás para poder bajar precios). Y el RFOG se pierde entre tanta pantalla.

***

Eso en cuanto al hardware. Respecto al software la cosa es algo más normal. El SATA II tiene dos particiones, en una de ellas está su trabajo y en la otra se mantienen las copias de seguridad de los otros dos conjuntos RAID, que el RFOG no se fía mucho ni de los SSD ni de los RAID. Relativamente amargas experiencias ha tenido con los últimos.

En uno de los RAID está Windows 7 x64 al completo con algunos programas más, entre ellos vmWare y Office. En el otro hay almacenadas varias máquinas virtuales, en donde se han instalado diferentes programas. En una de ellas está Visual Studio 2010, y en otra, Visual Studio 2008SP1 con los SDKs embebidos. Y así. Esas dos son Windows 7 Ultimate x86 con 3GB de RAMy 2 procesadores con 2 cores, y se pueden tener ambas abiertas sin mucha penalización de rendimiento (en su i7, claro, y más cuando tenga 16GB de RAM).

Y la idea es mantener limpio su HOST e ir intercambiando las máquinas virtuales según necesidad. Su nueva máquina lo da, y de momento la cosa está funcionando bien, con algunos detalles que está puliendo a ratos. Puede poner accesos directos a los programas en su barra de tareas como si una aplicación no virtualizada se tratara, y cuando la lanza primero se abre la máquina virtual en modo Unity y luego se lanza la aplicación.

El único problema es que Visual Studio no se lleva bien con los proyectos situados en carpetas de red, aunque sean compartidas a nivel de vmWare, así que ha metido todos sus proyectos en un disco duro virtual de Windows (VHD) y lo ha añadido a la configuración de la máquina virtual.

Un detalle del que se ha dado cuenta es que la máquina virtual, salvo el acceso a video, es sensiblemente más rápida que la real. Ignora si eso se debe a que es de 32 bits en lugar de 64, o a que al estar el disco comprimido sobre un SSD la rapidez es impresionante…

Evidentemente todo esto es a nivel particular. A nivel de curro la cosa sigue como antes. (Bueno, mucho peor, pero sigue haciendo proyectos interesantes, que quizás sea lo único que lo mantenga apegado a él).

***

Bueno, ya para finalizar, la idea original era hackintoshear la placa base (que se puede, es una de las que tienen el parche de la BIOS) para instalarse un Snow Leopard en nativo y virtualizar todos sus Windows, pero una vez que tuvo delante de sí el PC… se le quitaron las ganas de hacerlo. Es muy posible que en un arranque de aburrimiento lo intente, o que se instale una VM pirateada.

Ya veremos.