Páginas

sábado, 15 de diciembre de 2012

Custom recovery en un Nexus S

Con mi Galaxy S3 rooteado y tras migrarle todos los datos de usuario, dispongo de un veterano Nexus S (GT-I9023) de casi dos años de antigüedad liberado para usarlo como conejillo de indias para mis experimentos que comparto aquí por si fueran de ayuda o interés. He empezado por algo tan simple como instalar un custom recovery para hacer después un nandroid backup.

Aviso antes de borrar los datos.

Primer paso: desbloqueo del bootloader

Es cierto que la serie Nexus de Google vienen "liberados" incluso si se adquieren a través de un operador. Pero esto "sólamente" significa que están SIM unlocked, es decir que pueden usar la red móvil de cualquier operador insertando la SIM correspondiente.

Sin embargo sí tienen inicialmente el bootloader bloqueado, es decir, sólo arrancará imagenes firmadas de stock, por lo que hay que desbloquearlo para conseguir arrancar con una imagen que no sea legítima, como por ejemplo la de un recovery custom.

Se puede inciar los Nexus en un modo especial, llamado fastboot, que emplea el protocolo del mismo nombre para la gestión remota y carga de imagenes en el dispositivo (analogo a Odin para los Samsung). La utilidad fastboot del SDK de Android usa este protocolo para además permitir de manera oficial el desbloqueo del bootloader.

Con el terminal conectado por USB al PC se debe ejecutar el comando fastboot oem unlock que desbloquea el bootloader y tiene el efecto colateral de borrar todas las particiones de datos del dispositivo. Tras esto el terminal quedará en el estado inicial de una instalación base de Android ("factory reset") y en el siguiente arranque se presentará la secuencia de personalización inicial de Android.

Instalación de ClockworkMod Recovery (CWM)

Existen dos recoveries custom populares CWM y TWRP. He elegido CWM por ser del que he encontrado más referencias y el método es en principio sencillo:
  1. Instalar en el PC el SDK de Android. Se usará la herramienta fastboot.exe  que se encuentra en el directorio Android SDK/platform-tools
  2. Apagar el teléfono e iniciar pulsando los botones Volume Up y Power simultáneamente  el terminal Nexus S mostrará el menú de arranque del modo fastboot.
  3. Comprobar que se detecta el terminal en modo fastboot usando el comando fastboot devices (podría fallar, en ese caso no continuar hasta resolver el problema, ver más adelante).
  4. Desbloquear (y borrar) el terminal con el comando fastboot oem unlock. Se avisará del borrado de los datos personales ("factory data reset").
  5. Descargar la imagen del recovery custom CWM al directorio Android SDK/platform-tools/ 
  6. Apagar el teléfono e iniciar en modo fastboot con Volume Up + Power.
  7. Conectar el dispositivo al puerto USB del PC
  8. Desbloqueo exitoso del bootloader.
  9. Desde el PC ejecutar: fastboot flash recovery <imagen recovery descargada>

En mi caso la imagen que he descargado de www.clockworkmod.com ha sido la recovery-clockwork-6.0.1.0-crespo.img.

He seguido los pasos y he encontrado dos dificultades:

Fastboot no se llega a detectar ningún dispositivo desde mi PC.

El problema aparece en el paso 4 y es debido a un fallo en los drivers USB de Google para Windows 7 64 bit. Existe una solución alternativa usando drivers no oficiales de un producto llamado PDAnet que casualmente funcionan para este proposito y que se deben instalar previamente a iniciar el Nexus S en modo fastboot. Para ello hay que seguir los siguientes pasos:
  1. Cuando se de la opción, reinstalar driver, e ignorar advertencia de firma del controlador. 
  2. Cuando solicite conectar el teléfono a un puerto USB, es necesario hacerlo con Android iniciado y modo depuración de USB. Esto es imprescindible para que el instalador complete con éxito.
  3. Cuando se de la opción, elegir no habilitar recepción SMS. Esta funcionalidad no es necesaria, sólo se necesita instalar el driver.
  4. Una vez completada la instalación desconectar el terminal del puerto USB y reiniciarlo en modo fastboot.
  5. Conectar el telefono al puerto USB. En el PC se inicializará el driver, en mi caso con esto fue suficiente. Se debería detectar el terminal con el comando fastboot devices.
  6. Si aun así no se reconoce, se puede intentar los siguiente (no lo he probado): 
    • En el administrador de dispositivos, buscar dispositivo Android 1.0, aparecerá con un warning (triangulo amarillo).
    • Actualizar el driver usando el que la instalación de PDAnet ha dejado en C:\Program Files (x86)\PdaNet for Android\
Si todo lo anterior falla siempre existe la opción de usar un Linux como base de operaciones.

Al reiniciar aparece el androide tumbado con un triangulo rojo encima. 

Tras un rato desaparece y arranca la versión de Android de stock. Ya no es posible arrancar de nuevo el recovery custom.

Parece ser que las instalaciones stock de Android en el Nexus S (p.ej las recibidas con las actualizaciones OTA, pero también la resultante del desbloqueo del bootleader) sobrescriben en su primer inicio la partición de recovery con una imagen de stock, y se pierde cualquier recovery custom que hubiera instalado. Esto ocurre durante el momento que se muestra el androide tumbado.

Para una instalación permanente de CWM (o de cualquier otro custom recovery) habría que modificar los archivos de la partición de sistema Android para inhabilitar el script /system/etc/install-recovery.sh responsable de sobreescribir la partición de recovery. Las ultimas versiones de CWM permiten, justo antes de invocar el reinicio del dispositivo ("reboot system now")  la opción "Yes - Disable recovery flash" que se encarga de deshabilitar este script. En mi caso usar esta opción dio éxito y en sucesivos reinicios se mantuvo el recovery CWM.

NANDroid backup

He utilizado CWM para hacer un nandroid backup usando la opción "backup/restore" y que deja imagenes de las particiones y blobs en una carpeta de Android llamada /sdcard/clockworkmod que posteriormente se puede copiar mediante transferencia USB convencional a un PC para ser recuperada en caso de necesidad.

CWM se podría usar para reinstalar Android usando este backup previo. Como se trata de una versión stock (debido al reseteo de fastboot oem unlock) también se podrían usar las imagenes oficiales de stock que suministra google para llegar al mismo punto.

Por el camino he encontrado...

Informes de problemas con la luminosidad pantalla en arranque fastboot que impiden interaccionar con el dispositivo. Este es un problema que aparece específicamente en modelos que no implementan la pantalla AMOLED original sino la LCD con la que se distribuyó en Europa el Nexus S, que es la que poseo. Al parecer es algo exclusivamente de la versión 4.0.3 de Android ICS. Yo no he observado ese problema ya que partía de una versión 4.1.2

Una explicación bastante completa de las particiones de un dispositivo Android y su contenido.

Un tutorial de desbloqueo de bootloader, instalacion de custom recovery (con CWM y  TWRP), rooteado y  instalación de custom ROMs para Nexus S con pantallazos de guía de cada paso.

Una recopilación de un conjunto interesante de Nexus S Hacks.



jueves, 6 de diciembre de 2012

Rooteando un Samsung Galaxy S III

Acabo de comprar un Galaxy S3. Después de mirar algunos precios me he decidido a comprar por amazon.es: Samsung Galaxy S III (I9300) - Smartphone libre Android (...) color azul [importado de Alemania] (aprox. 450€), aunque las ofertas de PC Componentes (aprox. 440€) para este telefono también son muy atractivas. Al ser importado de Alemania traería en principio personalizaciones para ese país pero al inicializarlo eligiendo idioma español no he detectado nada importante en ese idioma, salvo algunas apps destinadas a aquel mercado. He dado de de alta el terminal en Samsung (para realizar seguimiento en caso de perdida mediante el Samsung Dive). También he registrado mi cuenta de Dropbox para conseguir los 50GB gratis por dos años de promoción por la compra del telefono, aunque creo debería haber dado de alta una cuenta nueva ya que al registrar la cuenta gratuita que ya tenía,  me han upgradeado "sólo" de 2GB a 50GB, con lo que me han dado 48GB en vez de los 50GB prometidos...

Mi siguiente paso era rootearlo, pero soy novato (noob) y no me atraía la idea de briquear mi flamante telefono probando a ciegas métodos de dudosa fiabilidad sacados de un blog cualquiera así que he decidido entender un poco el proceso antes de nada. Como al final he visto que es necesario algo de dedicación para encontrar lo que hay disponible, elegir lo que uno quiere y decidir lo que es sensato hacer, publico aquí los pequeños apuntes y decisiones que he ido tomando y enlaces que he recopilado sobre el tema por si le pueden ser útiles a alguien más.

Aunque no existe una única referencia oficial sobre estos temas parece que http://forum.xda-developers.com es el foro más popular, dónde los desarrolladores que hacen las contribuciones más importantes las publican y dan soporte. Leyendo por allí uno encuentra los siguientes

Conceptos:


Rootear: es conseguir acceso al superusuario "root" del sistema Linux que subyace en Android, para tener acceso sin restricciones desde cualquier aplicación a los recursos del dispositivo. Rootear es distinto e independiente de instalar una ROM custom, que es básicamente, una reinstalación de Android pero personalizada, con características distintas a la que viene de fábrica (o de "stock"). En mi caso no tengo interés de momento en instalar o upgradear el sistema de stock, sólamente quiero rootear con el propósito de poder hacer un backup completo del dispositivo usando Titanium Backup y no tener restricciones para usar algunas otras utilidades adicionales.

El rooteo se consigue introduciendo el binario "su" (analogo al de Unix) con los permisos de ejecución adecuados en el sistema de archivos de Android. Este binario se invocará desde otras aplicaciones que necesiten escalar sus privilegios. Esta instalación normalmente se acompaña de otras apps (SuperUser or SuperSU) para que el usuario del telefono pueda controlar qué aplicaciones tienen acceso legítimo a esta escalada de privilegio y dejar trazas de su uso.

Para conseguir esta modificación hay que explotar previamente varios componentes del sistema dispositivo-Android:

Recovery: Un sistema de recovery es una instalación auxiliar paralela a la principal de Android que permite realizar operaciones de mantenimiento "offline" como backups completos, la actualización de la instalación principal o su sustitución (flashear una ROM) . De fabrica el dispositivo ya viene con una instalación de recovery (stock), en una partición separada.

Bootloader: En el inicio del dispositivo se ejecuta el bootloader, que determina desde qué partición se arranca. El bootloader es específico de cada terminal y es un programa que el fabricante graba en una memoria no volatil del dispositivo. Aunque por defecto el bootloader arrancará la instalación principal (Android) se puede cambiar usando una combinación de teclas (Vol Down+Home+Power) para arrancar el recovery que haya instalado.

Bloqueo: Si el bootloader está bloqueado, como suele pasar con los terminales ligados a operadores, llevará en su interior cableada una firma que le permite identificar si la partición seleccionada para arrancar (se la de Android o la de recovery) es legítima. Esto implica que para poder arrancar con una instalación alternativa (ROM ó recovery) es imprescindible disponer de un bootloader desbloqueado (unlocked). Si el terminal no es libre hay que realizar antes el desbloqueo, que es un proceso dependiente del terminal y del operador.

Por lo tanto el rooteo puede consistir esencialmente en arrancar el sistema auxiliar o recovery custom desde el cual se modifica el sistema de archivos del sistema base y se inserta el binario su con los permisos adecuados, así como apps auxiliares. Para que esta secuencia sea posible es prerequisito que el bootloader esté desbloqueado para que permita arrancar con un recovery que no sea el original.

Además de lo anterior, la imagen del custom recovery se debe transferir a la memoria del dispositivo con una herramienta que pueda situarla de modo que el bootloader la encuentre. Para la carga del custom recovery en  los dispositivos Samsung hay quién recomienda Odin ya que parece que es la que emplea el fabricante y que se ha filtrado a los foros. Por este motivo es propietaria, no está distribuida oficialmente y su codigo y funcionamiento no es conocido ni verificado, por lo que otros recomiendan Heimdall que sí es un proyecto open source.

Existe una versión en app de Odin llamada Mobile Odin que hace lo mismo pero desde dentro del sistema Android, para que funcione necesita permisos de root, por lo que esta versión no se puede usar sin haber rooteado previamente. Esta app va orientada al flasheo de ROMs

El procedimiento de rooteo, es específico de aquel dispositivo dónde es posible. Para mi terminal (GT-I9300, banda base I9300XXDLID) he encontrado esta lista de metodos de la cual he seleccionado la que se aplica a la versión internacional y que ha sido desarrollado por un tal chainfire, de la que hay dos variantes:

Chainfire CF-root: chainfire dio soporte durante un tiempo a este sistema rápido de rooteo llamado CF-root que automatizaba cuatro tareas:
  • Instalar app gestión acceso root: SuperSU
  • Instalar custom recovery: ClockWorkMod
  • Instalar app gestión recovery: CWM Manager
  • Rooteado del dispositivo propiamente dicho
este desarrollador abandonó el metodo CF-root en favor de CF-Auto-root y ya no da soporte al software que lo realizaba, aunque las versiones publicadas siguen siendo validas para realizar rooteos de los terminales ya probados.

La ventaja de este metodo es que deja instalado el recovery CWM que es mucho más versátil que el de stock y permite ejecutar otras instalaciones y realizar una imagen de backup de la instalación de Android (nandroid backup), imprescindible para aquel que quiera jugar con seguridad con el flasheo de ROMs.

Chainfire CF-Auto-Root: Ahora chainfire da soporte únicamente a CF-Auto-Root  (página oficial del autor) que es esencialmente lo mismo pero sin la instalación del CWM recovery ya que emplea el recovery stock del dispositivo, lo que parece que evita ciertos problemas con OTA y con algunos mecanismos de seguridad en los dispositivos más modernos, como el conteo de grabaciones de la flash de recovery.

Esto parece que lo consigue haciendo un backup del recovery stok antes de cargar un recovery temporal. Tras rootear la instalacion de Android se recupera el recovery original. Suponiendo que el bootloader ya estaba desbloqueado, el único "rastro" que podría quedar es que aumente un contador que indica el numero de veces que se ha grabado la flash de recovery y que puede hacer que en el arranque el terminal muestre un simbolo de advertencia parecido a un triangulo amarillo indicando que ha sido modificado. Este contador se podría inicializar una vez rooteado el terminal usando la aplicación (de pago) triangle away, también de chainfire, con algunos riesgos de briqueo si no se hace cuidadosamente.

Rooteando:


Finalmente he usado el CF-Auto-Root para el GT-I9300, siguiendo los pasos muy bien indicados por chainfire:
  1. Descargar y descomprimir Odin3-v1.85.zip, aunque tambien viene incluida en el archivo de autoroot del GT-I9300 
  2. Descargar el archivo de CF-Auto-Root para el GT-I9300: CF-Auto-Root-m0-m0xx-gti9300.zip
  3. Descomprimir el CF-Autor-Root para obtener el archivo CF-Auto-Root-m0-m0xx-gti9300.tar.md5 (no hay que descomprimir ese de nuevo).
  4. Desconectar el cable USB del telefono al PC. Asegurarse que KIES (la aplicación de Samsung de gestión del telefono desde el PC) está parada
  5. Iniciar Odin3
  6. Pulsar en el botón  "PDA" y seleccionar CF-Auto-Root-m0-m0xx-gti9300.tar.md5
  7. Poner el terminal en modo de descarga (apagar, después mantener "Bajar volumen"+"Boton home"+"Power" pulsados simultaneamente, si pide pulsar un boton para continuar presionarlo)
  8. Conectar con el cable USB el terminal al PC
  9. Asegurarse que la opción "Repartition" NO está seleccionada
  10. Pulsar el botón "Start"
  11. Esperar a que inicie Android
y en efecto, según dice el autor, no se tarda ni un minuto en completar los pasos si todo va bien. Tras el rooteado aparece instalada la app SuperSu que se invocará cada vez que alguna aplicación intente acceder a root. He descargado el Root Checker Free y, tras autorizar su ejecución, he comprobado que el rooteo parece exitoso:

 

Aunque en teoría CF-Auto-Root está diseñado para modificar lo mínimamente posible el dispositivo, hay que tener en cuenta que cualquier rooteo del dispositivo normalmente invalida la garantía. Conviene estar preparado para revertir el proceso en caso del que sea necesario acudir al fabricante por un fallo del hardware. Para ello hay que conservar un firmware de stock para flashearlo y revertir el recovery a su estado original.

Una página que según parece descarga los firmware de stock desde Samsung es sammobile (tambien conocidos por samfirmware). En este formulario se puede buscar el firmware concreto a partir de tres parametros que se pueden conseguir marcando en el telefono el codigo *#1234# , que a mi me devolvió:

AP: I9300XXDLIH
CP: I9300XXDLID
CSC: I9300DBTDLI2

o bien obtenerlos desde Kies que me informó que tengo:

PDA:LIH
PHONE:LID
CSC:LI2 (DBT)

Y la ficha del firmware correspondiente en sammobile informa que:

GT-I9300 - Germany
PDA: I9300XXDLIH
CSC: I9300DBTDLI2
Version: 4.1.1
Date: 2012-10-03
Regions: Austria, Belgium, France, Germany, Hungary, Italy, Spain, United Kingdom

y permite descargar la imagen zipeada, si estamos registrados en la pagina.

Actualmente tengo la versión 4.1.1 de Android y ya empieza a difundirse en algunos paises la 4.1.2 via OTA. Ya he podido comprobar que no se actualizará automáticamente tras el rooteo, tal como se comenta en los foros. Aunque se resetee el contador de flasheos la firma de la instalación de Android se modifica y no se permite la instalación OTA apareciendo un mensaje que dice "Su dispositivo ha sido modificado. Las actualizaciones no estan disponibles".

Estimo que tengo tres alternativas para las actualizaciones, las tres implican realizar de nuevo el rooteo, ya que se flashea una imagen stock:
  1. Revertir a una imagen stock disponible (no actualización) y permitier la actualización via OTA.
  2. Esperara a que la actualización esté disponible por Kies e intentar la actualización, aunque podría fallar como por OTA.
  3. Descargar la imagen cuando esté disponible en sammobile y grabarla con Odin, esto en principio siempre es posible.
Pero esto ya es otra historia... Más información en próximos episodios de mis aventuras con mi Galaxy S3 y Android ;)


Enlaces


Sobre el Samsung Galaxy S3 y de caracter general:




lunes, 22 de octubre de 2012

AWS EC2 instances historical data

I´ve collected historical data for AWS EC2 in order to represent graphically the evolution of on-demand instance types and their hourly usage prices. The following interactive motion chart has been built with the aid of Google Chart Tools.


The chart represents the relationships between: instance type (using the API name), instance family, CPU speed (approximation, see below), memory size, storage size, storage performance and price (for one region, see below). You can choose axis variables and track the evolution of prices of each type of instance using the interactive chart.

CPU speed has been calculated multiplying each virtual machine ECUs by 1.2 to obtain a GHz approximation. This has been done following the AWS definition: "One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor." 

Price information belongs to the us-east-1 region instances (Northern Virginia). I´ve chosen this region because is the oldest one and implements all types of instances. The operating system of reference is linux, to avoid taking account of the added licensing costs.

Some interesting things can be seen using the graphic:
  • When using CPU in horizontal axis and memory size in the vertical axis, both in logarithmic scales (like in the picture) an almost constant scalation factor of CPU and memory appears between instance steps.
  • Because of this the instances bubbles appear to reside in two lines, almost equally separated between them. As it is expected, one line is memory intensive (m1, m2 families) and the other line is CPU intensive (c1, cc1, cc2 families)
  • Althoug t1.micro seems to belong to the CPU intensive line, actually the 2 ECUs are allocated only for usage in short spikes.
  • Storage size and I/O perfomance can be shown in the same graph using bubble color and sizes, with CPU and memory size in the axis. This can give a more complete view of the performance of all instances in the AWS portfolio.
  • Trend line graph (topmost right icon) can be used to show the lowering prices trending in the latest years for each type of instance.
The database of features and prices, with information for all EC2 regions can be downloaded here (go to File->Open with, to export to a google spreadsheet). The table shows a dump of prices in each region for each date a relevant change has been done (e.g.: hourly price changes but also the addition of new instance types or new regions).

All information has been collected from Internet Archive WayBack Machine old AWS pricing tables. Pricing data are available until March 2011 when pricing tables began to be generated through javascript code and therefore have not been registered since then in the archive. The dates of relevant changes have been adjusted from the wayback machine snapshots timestamps using the announces in the awesome AWS blog and Amazon EC2 release notes log pages. Some data are still missing, namely:
  • us-west-1 and sa-east-1 pricings before AWS lowered prices in March 2012
  • cc1.4xlarge, cc2.8xlarge and cg1.4xlarge windows instances prices before AWS lowered prices in March 2012
  • m2 family instances introduction prices, before AWS lowered prices in November 2009
If you happen to know any of these data, or find any error in the data source, I will be glad to be notified (please add a comment) to fix the source data and graphs.

lunes, 8 de octubre de 2012

VCP5-IaaS exam and vCloud Director links

Here is my compilation of links with information related to the VCP5-IaaS exam and vCloud Director. Also a place to save links to great great blogs out there. Will be updated, suggestions welcomed.

Experiences with actual exam (after Aug 2012):



Experiences with beta-exam (before Aug 2012):

General information about the exam preparation:

Information about vCloud Director, great material from their authors:



jueves, 30 de agosto de 2012

VCP-Cloud y nuevas certificaciones VMware

¡Momento de cambios! con el VMWorld 2012 de San Francisco, VMware ha anunciado junto con otras muchas cosas el nuevo plan de certificaciones. Parece que ahora el VCP-IaaS que estoy preparando ya encaja en el puzzle:


Intentando aclararlo encuentro un post de Scott Vessey (scott28tt) y algún otro en los foros de vmware y la situación en la que creo que queda todo al nivel de VCP parece que es:
  • VCP que hasta ahora tenia dos versiones VCP y VCP-DT pasa a tener cuatro especialidades:
    • Datacenter Virtualization, que se correpondería con el actual VCP5
    • Cloud, nueva certificacion, que se llama VCP-Cloud
    • End User Computing, que se correspondería con el actual VCP5-DT
    • Cloud Application Platform, para desarrolladores
  • VCP-IaaS es el examen (pasarela) para aquelos VCP5 (ahora VCP5-DV) para conseguir la certificación VCP-Cloud
  • Interpreto que en un futuro podría haber dos exámenes distintos para obtener VCP-Cloud y VCP-DV
Estó ultimo es posible que no ocurra hasta la siguiente major-version o que no ocurra nunca y siga todo como ahora, con un examen para certificarse en VCP-DV, centrado en  todo lo relacionado con VSphere y un examen para certificarse en VCP-Cloud, centrado en todo lo relacionado con vCloud Director
De modo que VCP-IaaS no es una certificación sino un alias para el examen VCPVCD510 que permitirá obtener la certificación VCP-Cloud. Me toca cambiar el nombre de mi pagina en scoop.it, lo de "From VCP5 to VCP5-IaaS" no es ya exacto.

Al menos así lo entiendo yo, aun tendrá que extenderse la noticia, que los popes de VMware la interpreten y despejen la confusión y VMware no decida cambiar de rumbo de repente. Aun así todo esto está por ver ya que alguna de estas actualizaciones aun no se reflejan en las paginas oficiales (p.ej VCP5 no ha sido renombrado y VCP-IaaS sigue mencionandose como certificación).

También muy interesante la aparición del nivel VCAP para Cloud y Desktop, aunque yo planeo quedarme por el cuadrante Cloud de momento y el VCAP-Cloud Infraestructure Design desde luego parece un buen lugar para seguir en un futuro, espero que no muy remoto.

Por supuesto el VMworld está trayendo un monton de otras novedades muy interesantes, como los nuevos modelo de licenciamiento, la renovación de sus productos a la versión 5.1 (ahora bajo la denominacion vCloud Suite 5.1), o la publicación de algunas presentaciones que otros años no se producía hasta bastante tiempo después... ¡tantas novedades y tan poco tiempo para ponerse al día!

Otras referencias:


viernes, 10 de agosto de 2012

Inaugurando el TOGOLAB


¡¡TOGO TOGO TOGO!!
Ya tengo los servidores instalados y funcionando. Para que no ocupen mucho espacio de la casa les he puesto uno encima del otro y al verles apilados mi hija de año y medio les ha bautizado con el mismo nombre que da a todas sus construcciones de bloques: ¡¡TOGO TOGO TOGO!!

Sean bienvenidos pues a mis aventuras con el TOGOLAB.

Control de encendido del servidor con LO100i
Los Proliant ML110G6 vienen equipados con una IPMI BMC que es una versión de iLO simplificada (LightsOut 100i Advanced) que permite una gestión básica de energía y sensores desde un interfaz web. Con esto es posible iniciar, y parar todo el laboratorio desde otro equipo, lo que es muy conveniente para no tener que acceder físicamente a los equipos. Lo más interesante sin embargo será  montar una VPN con ayuda de OpenVPN en la  DiskStation para poder controlar los equipos en remoto desde cualquier lugar.

La función de KVM sobre IP,  que es lo más interesante de iLO, y un factor determinante para elegir estos servidores, no viene activada de serie, para ello hay que obtener una licencia de HP. Existe la opción de una licencia de evaluación por 60 dias tras los cuales será obligatorio conseguir una definitiva adquiriendola o por otros medios...

Consola remota usando el KVM sobre IP
La gestión remota se realiza por un interfaz de red separado del de sistema, lo que implica un cable más pero simplifica el switching al separar el trafico de iLO y de servicio sin necesidad de crear VLANs. Desde el KVM se puede interactuar con la consola del servidor y montar en remoto imagenes de medios de arranque.

Para un arranque rápido he decidido empezar montando un lab in a box con ayuda de Autolab. Aunque no sea mi opción preferida, más adelante lo podré hacer evolucionar a un entorno más "real". Para ello he montado en uno de los servidores (TOGO2) los 16GB de memoria que adquirí para repartir entre ambos y he dejado el otro (TOGO1) con sólo 2GB que son suficiente para hacer funcionar un Linux si hubiera necesidad.

El KVM funciona muy bien y he podido iniciar un ESXi instalado en un USB pendrive y configurar el acceso por red sin ningún problema. La instalación inicial en el pendrive la hice con ayuda de VMware Workstation en vez de montar un CD y instalar directamente en el servidor, simplemente porque tenía ya montada una maquina virtual para este propósito y así me aseguro que la instalación es correcta, de este modo que descartaba algun fallo en la misma en caso de problemas con el servidor. Para conseguir instalar ESXi en el pendrive basta con crear una maquina virtual que monte la ISO de instalación de la versión gratuita de demostración de ESXi, teniendo el lapiz USB conectado a la misma; el programa de setup de ESXi ofrecerá la opción de instalar en el pendrive, que debe ser al menos de 1GB (ESXi no usará más)

La tarjeta de red se reconoce correctamente y es posible acceder a los servicios del ESXi por el interfaz de sistema (que es distinto al de iLO) una vez asignada dirección IP.

El almacenamiento lo proveerá la DiskStation actuando como target iSCSI. Para el TOGOLAB he dedicado un grupo de discos (equivalente al RAID de discos en Synology) en exclusiva, separado de los grupos de discos para uso doméstico. He definido una LUN a nivel de archivo con thin provisioning. El motivo es que puedo crear otros datastores (NFS, LUNs para otros cluster) sin tener que definir o usar otros grupos de discos.

A continuación esta LUN se debe exportar como un iSCSI Target para que pueda ser usada. Puesto que podría usarse en un cluster (aunque de momento solo la montaré desde TOGO2), se debe indicar "Allow multiple sessions from one or more iSCSI Initiators".

Con el target creado y montado desde el ESXi, ya estoy deseoso y preparado para  importar las vApps del Autolab y ver en acción lo que parece un excelente trabajo de Alastair Cooke y Nick Marshall


jueves, 2 de agosto de 2012

Primeros pasos con Synology DS1512+

Lo primero que he abierto del equipo recién recibido es la DiskStation 1512+ de Synology, que tiene un aspecto más que estupendo;  pequeña, sólida (y pesada), aparenta robustez.  Montar los discos en sus caddies es muy sencillo, la tornillería que viene incluida se agradece. Para empezar le he enganchado dos discos Seagate ST3000DM001 de 3TB. 

Una vez inicializado, desde el encendido pasa un minuto tras el bip inicial desde que el led azul de encendido deja de parpadear y arranca el sistema operativo, que es DSM 4.0-2216. Digo esto porque en Abril se anunció que hay un lote DS1512+ y DS1812+ fabricados con un fallo en la memoria flash que provoca un fallo en el arranque, prolongando el periodo de parpadeo del led azul indefinidamente. Synology tiene una dirección de email en la que consultar si un numero de serie coincide con el del lote y tramitar un RMA en su caso.

En funcionamiento el equipo hace aproximadamente el mismo ruido que un PC de torre, que aunque es apreciable en una casa, casi no se percibiría en un entorno normal de oficina. Para la configuración inicial se usa el Synology Asistant que desde un PC autodetecta el equipo en la misma LAN, instala el sistema operativo (DSM) y los parametros de red y credenciales de acceso. A partir de ahí se puede usar el interfaz web que se publica por defecto en el puerto 5000 (http) y 5001 (https).

Para arrancar la he conectado a una red cableada para el laboratorio en un miniswitch que tenia a mano, y el siguiente paso ha sido conectarla a la WiFi mediante un WiFi-USB  de Belkin que al estar en la lista de dispositivos compatibles ha funcionado  a la primera. Este interfaz servirá a los usuarios domésticos y por el cable la configuración y el laboratorio. Desde el firewall incorporado en la DS se puede tener control de qué servicios son visibles desde cada interfaz.

El package center permite añadir apps de Synology y tambien de terceros que sigan el formato Synology Package File. Me quito el antojo probando Cloudstation que es un servicio de almacenamiento en la nube al estilo de Dropbox con base en la NAS. El servicio se publica en internet sin necesidad de abrir un puerto (NAT) en el router ADSL, para ello se apoya en ezCloud que es un  paquete de servicios que incluye un registro de DNS dinamico y un servicio de proxy inverso ofrecido gratuitamente desde los servidores de Synology y en el que se puede registrar la DiskStation desde su panel de control. Con ezCloud Basta con que la DiskStation tenga acceso a internet y que desde el extremo del usuario haya un cliente instalado. Los archivos en la nube se alojan dentro de la NAS en un directorio "/home" privado de cada usuario.

Como es demasiada tentación disponer de esta cabina de almacenamiento y no poner orden en casa, ya he empezado a mover datos desde mi PC a la NAS, algunos de forma definitiva otros como replica de datos de trabajo. Para ello ya he definido una estrategia que comentaré en un post posterior y que aprovecha el sistema de cifrado y backup de la DiskStation.

Algo muy agradable ha sido comprobar que el sistema operativo es básicamente un Linux adaptado y se permite acceso via shell (Telvent, SSH) incluso con permisos de root (es la misma password que la del usuario admin). Esto permite trastear y sortear algunos problemas montando el laboratorio.  Como no voy a tender un cable por toda la casa desde miniswitch para conectarlo directamente al router ADSL, es necesario que haya una maquina actue de router entre la WiFi y la red cableada, idealmente una máquina que no se apague y esté siempre disponible; la DiskStation es el candidato ideal, y como es un Linux se puede activar el ip forwarding en el kernel fácilmente desde la shell, como root:
echo 1 > /proc/sys/net/ipv4/ip_forward
y como no quiero toquetear la tabla de rutas del punto de acceso que nos da el operador de ADSL (es muy básico y poco fiable), pues haré NAT desde la NAS y que se presente como fuente de las conexiones al exterior que tengan origen en la red del laboratorio. Con iptables es posible configurar el NAT pero hay que cargar el modulo de masquerade en el kernel. Para no complicar el tema y como después planeo montar una VPN, lo más rápido es seguir esta sugerencia e instalar el package VPN que incluye los módulos y automatiza su carga. Tras ello basta con ejecutar en una shell como root:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
que se aplica a todos los paquetes dirigidos a la wireless LAN y aisla razonablemente bien el tráfico del laboratorio del doméstico.

Asi que gracias a Synology, la magia de Linux y una tarde de trabajo ya tengo NAS y router funcionando para mi Cloud Computing Home Lab. Contento y feliz.

sábado, 28 de julio de 2012

VMware lanza VCP5-IaaS

¡Gran noticia! al fin se han decidido desde VMware y desde hoy ya tenemos disponible la certificación VCP5-IaaS. Desde que se rumoreó su aparición con la fase beta, han hervido los foros sobre su posible contenido, dureza y conveniencia como evolución desde el VCP5.

Yo desde luego no voy a esperar para subirme a este tren. Para el que también le interese, he intentado reunir lo más relevante que he encontrado en mi scoop.it From VCP5 to VCP5-IaaS, y allí iré posteando la información que encuentre útil para preparar el examen VCPVCD510.

Esta certificación la considero sumamente interesante, ya que a medio plazo la gestión de la infraestructura como nubes privadas y/o híbridas es el siguiente paso lógico en la gestión de muchos datacenter. La arquitectura que propone VMware con vCloud Director es una visión de implantación muy coherente y la certificación aportará una buena referencia para los profesionales que andamos por este campo.

Para aquellos que se lancen a conseguirla, ¡mucha suerte!

sábado, 14 de julio de 2012

Cacharreo veraniego


 
Esta semana han llegado muchas cosas buenas y nuevas. Ya he recibido el documento con la certificación de VCP5. En contra de los rumores en  los foros de VMware, han sido rápidos con el envío, un més desde que lo aprobé el 7 de Junio

También han llegado los nuevos cacharros!!

Los HP Proliant  ML110G6, con su memoria, y dos discos Seagate de 3TB de PC Componentes, todo bien embalado y en buen estado. La NAS DS1512+ de Synology de TwisterPC también ha venido un par de días después.
En ambos casos la tramitación y envio muy rápido, todo en stock como anunciaban en sus respectivas webs. En Twister PC van mas rápido enviando los pedidos que actualizando la información de los mismos, preocupado por un retraso de un día, llamé para ver si había algún problema y resulta que ya estaba enviado.


Ahora desembalar y... a jugar!!

domingo, 1 de julio de 2012

Eligiendo maquinaria

Estoy montando mi propio Cloud Computing Home Lab. He compartido en mi scoop.it lo que otra gente ha montado por ahí y veo que hay tres estrategias:
  1. Comprar componentes y montar servidores yo mismo (whitebox).
  2. Comprar servidores ya montados "de marca".
  3. Montar un laboratorio en una caja, (lab in a box), aprovechando nested virtualization, posible con ESX (también con Xen, KVM)
Con (1) se puede maximizar el rendimiento/coste eligiendo bien el proveedor, pero obliga a dedicar mucho tiempo en investigación y pruebas, aunque sin duda se aprende mucho sobre cacharreo.

Con (2) se puede contener el presupuesto buscando servidores entry-level de bajo coste o buenas oportunidades. Más caro que (1) para el mismo rendimiento, pero se ahorra tiempo para dedicarlo a usar el laboratorio y se reduce el riesgo de fracaso.

(3) se puede llevar a la práctica siguiendo el camino (1) o (2), eso sí, montando mucha memoria y CPU para que pueda soportar un entorno completo. Es la opción más rápida si ya se dispone de la máquina, un VMware Workstation y sólo hace falta ampliar hardware, especialmente ahora que contamos con la ayuda del Autolab.

Como mi tiempo disponible es muy escaso y mi interés está en usar el laboratorio, no en montarlo, asi que he decidido buscar unos servidores estándar. Mis referencias en España de proveedores razonablemente fiables con precios asumibles son: Aussar, Pccomponentes, Izarmicro, Alternate y Coolmod, (aquí hay una comparativa de estos cinco), Macnificos y TwisterPC:
  • Aussar, Izarmicro y Coolmod no venden equipos completos "de marca", aunque creo que serían buenas opciones si hubiera tomado el camino (1).
  • Alternate está en Madrid, asi que me ahorraría gastos de envio, pero a fecha de hoy están sin tienda física y me parece que ha ido subiendo precios en los ultimos tiempos
  • Pccomponentes es el más competitivo para mi finalidad y ya he tenido alguna experiencia de compra satisfactoria, asi que me refiero a sus precios aproximados en los presupuestos.
  • TwisterPC es un recién llegado con precios muy bajos, ver más abajo, al que al final he comprado la NAS.
He reducido la comparativa a los dos servidores de HP disponibles en Pccomponentes, que son muy populares para home labs sobre todo orientados a jugar con VMware VSphere:

 HP ProLiant MicroServer N40L (part no. 664447-425)

  • 1 Procesador AMD Turion™ II modelo Neo N40L con 2 cores a 1,5 GHz
  • 4 GB PC3-10600E DDR3 (de serie en 1 DIMM). Ampliable a 8GB max.
  • Incluye controladora SATA pero este modelo viene sin disco duro (no lo necesito, usaré USB para arranque)
  • 1 NIC Gb HP NC107i
Muy usado tambien para HTPC y NAS por sus características, tiene incluso su propio club de fans.

Pros:
  • Muy bajo coste por nodo.
  • Compatible con ESXi 5 segun reportan muchas fuentes, aunque no esté oficialmente en el HCL de VMware. 
  • Bajo consumo y al parecer muy silencioso
  • Capacidad para 4 discos SATA y hasta 5 con algún hack usando la bahia del DVD.
  • Reutilizable posteriormente como NAS o HTPC.
  • Buena conectividad USB (4 frontal, 1 en MB).
  • Información abundante en foros sobre soporte, hacking, modding, etc.
Cons:
  • Limitado a 2 cores y 8GB de memoria.
  • RAID por hardware no soportado en VSphere 5.
  • Poca ampliabilidad, sólo un PCIe 16x y un PCIe 1x, ambos half height.
  • Sin gestión remota (iLO).
Presupuesto: 

ConceptoPrecioUndsTotal
 HP ProLiant MicroServer AMD Turion II N40L189.00 €2378.00 €
 Kingston 4GB DDR3 1333 Para HP Proliant ML110 G638.00 €276.00 €
454.00 €

Que resulta en 4.73€ / GHz.GB max (forma completamente personal de valorar la relación rendimiento/coste y que deja fuera muchas cosas, como IOPS, pero que vale para poder comparar la relacion prestaciónes/coste para el uso que me propongo)


HP ProLiant serie ML110 G6

  • 1 Procesador Intel Xeon X3430 4-core 2.4GHz
  • 1 GB PC3-10600E DDR3 (4 DIMM slots, max 16 GB)
  • 1 NIC GbE NC107i
  • Controlador SATA RAID de 6 puertos integrado HP Smart Array B110i SATA
  • 4 slot PCIs (e-x1, e-x4, e-x16, 32-3.3V)
  • integrated Lights-Out 100 
Aquí hay un buen resumen de las virtudes de este equipo.


Pros:
  • Limitado a 4 cores y 16GB de memoria. Podría  usarse como servidor de maquinas virtuales completamente funcionales.
  • 4 slot PCI full height.
  • Este modelo incluye de serie un disco SATA3 250GB.
  • Gestión remota via iLO (aunque es necesario licencia para KVM remoto).
Cons:
  • Configuración base insuficiente (solo 1GB memoria base), es necesario adquirir memoria adicional.
  • Mayor tamaño, consumo y ruido que el N40L, aunque se reporta que no más que un PC de torre convencional.
  • Controladora SATA no soportada en ESX.
Presupuesto:

ConceptoPrecioUndsTotal
 HP ProLiant ML110 G6 X3430/1GB/250GB315.00 €2630.00 €
 Kingston 4GB DDR3 1333 Para HP Proliant ML110 G638.00 €4152.00 €
782.00 €

Que resulta en 2,55€ / GHz.GB (8GB por nodo, en el presupuesto elegido) bajando a 1,52€ / GHz.GB (ampliando hasta 16GB per node, +152€)


Almacenamiento


Aunque cuando uno ve los precios de las NAS "de marca", es tentador intentar montar una usando p.ej. un microserver N40L y una distribución como NexentaOpenfilerFreeNAS o directamente un Linux usando NFS y  iscsitarget. Seguramente el rendimiento sería bajo (la controladora del N40L no soporta SATA3) y sería complicado mejorar el consumo y ruido.


Cómo aquí el factor limitante es el tiempo, más que el coste, y además la NAS será parte del sistema doméstico de almacenamiento (Time Machine backups, media server, almacenamiento en red y nube, etc) he elegido invertir en un equipo fiable, con referencias pero con buena relación prestación/coste. Los fabricantes lideres en este segmento son Synology, QNAP, Buffalo, y otros que son algo más caros...


He considerado los siguientes requisitos:
  • Buen soporte al comprador y usuario, garantizar la inversión. Buena calidad de construcción.
  • Que sea posible RAID con discos heterogénenos (distintos tamaños, distintos formatos), para aprovechar el metal que ya poseo.
  • Soporte de iSCSI, NFS y SMB para uso con VMware, que haya compatibilidad comprobada por alguna fuente.
  • Cifrado de volúmenes, proteger datos en caso de robo.
  • Posibilidad de backup externo cifrado, para proteger datos con backup externo, en caso de desastre.
  • Capacidad ampliable, de modo que sea una inversión que se prolongue en el tiempo (5 años es el horizonte a considerar)
  • Interfaz de usuario sencillo y fiable para que la familia pueda usarlo.
  • Bajo consumo, bajo ruido.
  • Que seá sencilla la detección y sustitución de discos averiados (no necesariamente en caliente)
  • Nice to have: soporte Time Machine para el Mac.
  • Nice to have: media center para videos, fotos y musica
  • Nice to have: soporte de MySQL/PostgresSQL y aplicaciones web para compartir 
En mi trabajo, la experiencia que hemos tenido con los distribuidores de QNAP en España no fue buena (sufrimos los retrasos de RMA con el fabricante) y Buffalo nos dió alguna sorpresa desagradable. Synology es la marca de moda, muy recomendada por sus usuarios en muchisimos foros y los dispositivos vienen cargados de funcionalidades.@RootWyrm se deshace en halagos al Synology DS1511+ que por lo que comenta cubre más que de sobra mis requerimientos.


Mi unico pero a los NAS de Synology es que ya necesitaban desde hace tiempo una actualización para incorporar SATA3, pero parece que a finales de 2011 sacaron el DS1512+, que además soporta LACP. El  DS412+ que es la siguiente opción más economica de Synology que incluye SATA3 se diferencia del anterior fundamentalmente en:
  • Más barato (unos 130€ aprox.).
  • Menor consumo (20% menos aprox) y considerablemente menos ruidoso
  • Memoria no ampliable (1GB vs hasta 3GB en DS1512+).
  • 4 bahias (vs 5 bahias en DS1512+).
  • 1 NIC (vs 2 NIC + LACP en DS1512+).
  • No es ampliable (vs 2 ampliaciones DX510 en DS1512+)
  • 2 años de garantía  (vs 3 del DS1512+)
  • Ventiladores no desmontables facilmente para limpieza
Me iba a decantar por Macnificos en Barcelona, ya que Alternate por algún motivo dejó de servir los modelos de este fabricante hace unos meses y porque ya he comprado sin problemas otras veces, muy serios. Sin embargo buscando actualizaciones sobre el modelo me encuentro con los castellonenses Twisterpc que llevan menos de un año online y están rompiendo precios; con 570€ aprox. el DS412+  y 700€ aprox. el DS1512+ 


Finalmente veo más interesante invertir 130€ más pero poder ampliar en un futuro a medio plazo. Siendo una NAS utilizable en entorno empresarial si fuera necesario más adelante podría venderla facilmente de segunda mano o quién sabe, reusarla en algún emprendimiento futuro...


Conectividad


Para el laboratorio la conectividad mínima que considero es tres NIC fisicas por nodo. P.ej. para VMware: NIC para gestion, NIC para vMotion/FT y NIC uplink de vitual switches de VMs. 

Para los concentradores lo ideal es uno o dos switches gestionados, que permitan VLANs, LACP (link aggregation) y Gbit ethernet en todas sus bocas. Por supuesto esto es lo ideal, se puede empezar a trabajar en el montaje con un miniswitch no gestionado 10/100 y postergar el pedido hasta encontrar una buena oferta.


Dejo esta compra para otro momento y otro post.

Conclusiones


El ML110G6 claramente más beneficioso y con menos limitaciones aunque suponga una inversión mayor, por otro lado el N40L es muy atractivo en precio y por tamaño, pero la limitación de ampliación aumenta los costes posteriores.


Ampliar la conectividad es casi imprescindible y no se puede hacer por menos de 150€ por nodo en el caso del N40L ya que obligaría a montar tarjetas dual/quad ethernet half height (costosas y además haciendo hacks arriesgados). El ML110G6 necesitará un controlador SATA para discos locales pero a cambio se pueden instalar al menos dos NICs monopuerto adicionales  (mucho más baratas, p.ej: Intel Gigabit CT Desktop Adapter que está en el HCL)  por sólo aprox 30-40€ cada una, en función de lo que se vaya necesitando. 


El N40L no tiene gestión remota y obliga a montar un KVM por hardware (no es un coste pues dispongo de uno) pero aumenta el cableado e impide la gestión remota. El ML110G6 trae un iLO que podría habilitar con las licencias adecuadas un KVM IP.


Para arrancar ESXi (ni KVM, ni Xen) no es necesario discos SATA locales, ESXi puede arrancar desde USB. En el caso del ML110G6 los discos no serán visibles al no soportar ESXi la controladora de modo que tampoco interferirá con una instalación local de GNU/Linux.

Uniendo nodos y almacenamiento, el presupuesto final para el juguete.

ConceptoPrecioUndsTotal
HP ProLiant MicroServer AMD Turion II N40L189.00 €2378.00 €
Kingston 4GB DDR3 1333 Para HP Proliant ML110 G638.00 €4152.00 €
Seagate Barracuda 7200.14 2TB SATA3 64MB105.00 €2210.00 €
Synology DS1512+700.00 €1700.00 €
1,440.00 €

Siguiente paso: comprar y montar. Stay tuned...