Jan 13

Turnkey Linux Virtual Appliances

Reading time: 2 – 3 minutes

Turnkey Linux logo

Turnkey Linux logo

Ahir comentava que el Carles hem va parlar de ClearOS, doncs bé, també em va comentar que hi havia un projecte opensource anomenat Turnkey Linux que bàsicament es dedica a fer software appliances amb els paquets de codi lliure més famosos, per exemple: LAMP, drupal, joombla, phpBB, dokuwiki, mediawiki, rails, tomcat, mysql, wordpress, etc. actualment diria que hi ha 56 paquets.

De fet, a part de per fer proves sobre certs paquets no trobo massa interessant aquestes software appliances. Però el que si que realment m’ha cridat l’atenció i he estat provant fa uns dies és el Turnkey Core, que en escència és la base del sistema que ells usen per montar les software appliances. Escencialment es tracta d’agafar una Ubuntu 8.04.3 LTS i donar-li suport de:

  • Target systems:
    • CD d’instal·lació optimitzat (instal·lació mínima) i ús com a liveCD
    • Màquines virtuals: VMDK HD i OVF (Xen, VMWare, Parallels, VirtualBox)
    • Amazon EC2 AMI
  • Configuration console (feta en python), permet configurar de forma senzilla funcions bàsiques:
    • xarxa
    • apagar
    • reiniciar
  • Ajax Web Shell (shellinabox): client SSH via web, realment va molt bé!
  • Web Management via Webmin
  • Regenera les claus dels certificats durant la instal·lació
    • SSL: webmin, apache2, lighttpd
    • SSH
  • Definir el password de root durant la instal·lació

Com podeu imaginar-vos la meva idea és agafar aquesta base de sistema per montar els meus propis servidors ja sigui a nivell privat o professional. De fet, estalvia prou feina i la instal·lació que fa Turnkey Core d’Ubuntu és prou petita com per fer una instal·lació a mida en cada cas. O sigui, que es poden intal·lar els paquets que volem sense haver de tenir coses innecessaries. Això si, pensant sempre en servidors.

Feb 27

pfSense i VMWare: problemes amb les interficies en bridging [solucionat]

Reading time: 4 – 6 minutes

Ahir en Joan i jo ens varem passar 11h per descobrir que el nostre gran problema d’incompatibilitat entre el pfSense i el VMWare ESX 3.5 no era res més que un petit error de configuració a un virtual siwtch (vSwitch) que unia les interficies virtuals del firewall.

Bé anem a descriure l’escenari. Imagineu un pfSense com a màquina virtual d’VMWare amb dues potes físiques, o una física i una virtual, com volgueu el problema és el mateix.  Si les dues són virtuals no ho he provat, però imagino que passa el mateix. La qüestió és que si fem que les dues potes del pfSense estiguin en mode bridge, és a dir com si el pfSense no hi fos i ambdues subxarxes estiguessin unides en una de sola, llavors el tràfic entre una xarxa i l’altre no flueix. O sigui, no podem passar ni paquets ICMP, ni TCP ni UDP. Però si que podem passar paquets ARP. Curiós, eh!?

vmware-pfsense-bridge

En el dibuix anterior es veu l’escenari d’exemple que varem estar provant. O sigiui, un portàtil en una xarxa física, després en una altre xarxa hi teniem un servidor físic i un de virtual. El pfSense sempre virtual, o sigui dins del VMWare ESX. Per altre banda teniem una altre pota real que ens connectava a internet. Però això no és rellevant, només ho indico perquè quedi clar que el pfSense tenia tres potes i que les que feien el bridge no eren la LAN i la WAN. Sinó la LAN i una OPT1. L’escenari real i le proves següents complicaven aquest escenari bàsic afegint una pota més del pfSense també en mode bridge amb la primera, les proves també van funcionar.

Pels que no estigueu familiaritzats amb el VMWare per fer això cal definir dos vSwitch un que uneixi la LAN del pfSense amb la targeta de xarxa real del VMWare i la Xarxa 1. Un altre vSwitch ha d’unir el pfSense amb la Xarxa 2, que té una màquina virtual connectada a ell i un targeta de xarxa del VMWare connectada a un switch real amb un ordinador físic. Doncs bé, aquestes dues interficies del pfSense es posen en mode bridge i els ordinadors de la xarxa 1 i 2 poden compartir domini de col·lisió i el pfSense pot fer filtrat de packets en mode stealth ja que els usuaris ni s’adonen que els seus paquets passen per un firewall.

Diria que ja ha quedat clar el que passava, doncs bé en Joan i jo ens varem passar 11h lluitant i investigant d’on podia venir el problema que feia que els paquets no passessin d’un costat a l’altre del pfSense. De fet, el que varem observar per començar és que a l’itnerficie de xarxa del pfSense no arribaben els paquets de la xarxa 1 a menys que aquests anessin dirigits a la IP de la pota de forma explícita, o els paquets que volien usar el firewall com a porta d’enllaç per navegar.

Doncs bé, el tema esta en que els vSwitch del VMWare han de tenir el paràmetre “Promiscous Mode“, que per defecte esta a “Reject“, a “”Accept“. Fent això a ambdós vSwitch els paquets flueixen d’un costat a l’altre del firewall sense problemes. Increible, oi? doncs si. Una de les múltiples alegries que et dona l’informàtica quan després d’aixecar-te a les 4 del matí per posar en producció el sistema, a les 6 de la tarda descobreixes en un entorn simulat que el problema venia d’això.

A continuació adjunto un parell de captures de pantalla on podeu veure com per  defecte el paràmetre esta a “Reject” :

Caputra de les propietats d'un vSwitch

i simplement editant les propietats del vSwitch el podem posar a “Accept”:

vmware-vswitch-sc002

Això farà, que demà a les 8 hem toqui treballar altre vegada i que per fi pugui posar en producció el sistema. Esperem que les proves de concepte fetes en el entorn simulat que varem montar ahir a la tarda segueixin funcionant tan bé en l’entorn real demà al matí. Apa doncs, només agraïr al Joan la seva paciència i seguir provant i provant colze amb colze amb mi per arribar a aquesta solució.

Jan 16

Arquitectura HA escalable

Reading time: 2 – 4 minutes

A aquestes altures tots heu sentit a parlar més o menys de AWS. Sota el meu punt de vista són un conjunt de serveis a tenir molt en compte en el futur de les empreses. En entorns que cada cop es basen de forma més forta amb la virtualització i la externalització del hardware amb arquitectures com el SaaS. Doncs bé, si penseu treballar amb AWS hi ha unes eines web de l’empresa Righscale que valen realment la pena, el dolent és que no són lliures i que les has de contractar com un SaaS, amb tot el bo i el dolent que això suposa.

Bé doncs, tot llegint el wiki dels productes de Rightscale he trobat uns gràfics molt clars i representatius de com han de ser les arquitectures HA:

Arquitectura HA

Arquitectures HA escalables sobre AWS:

Arquitectura HA w/autoscaling

I l’aplicació d’aquesta teoria sobre un cas real per l’empresa wik.is:

arquitectura de wik.is

Per altre banda també voldria recomenar un parell de pàgines d’aquest wiki que comentava:

  • Auto-Scaling setup com el nom ens indica parla de com montar una arquitectura autoescalable amb rightscale i a més també amb alta disponibilitat
  • EC2 infraestructure s’explica l’anàlisis de com es va solucionar la problemàtica de wik.is amb els productes d’AWS i Rightscale
Dec 05

Update VMWare ESXi 3.5 Update2 -> Update3 build 123629

Reading time: 2 – 3 minutes

Vaig boig des de fa almenys 2 mesos intentant saber perquè el VMWare ESXi queda freeze en un servidor que al final només hi tenia el pfSense i una Ubuntu 8.04.1 virtualitzats. Tan és així que al final, per saber d’on venia el problema he montat un altre servidor ESXi i he posat una màquina virtual amb pfSense a un i un Ubuntu 8.04.1 a l’altre. Doncs bé, finalment s’ha concretat el problema que venia de l’Ubuntu com que ja sabia de què pecava el tema m’he posat a buscar als forums d’VMWare i resulta que la versió Update 2 del ESXi no suporta Ubuntu 8.04.1, també és mala sort la cosa.

Doncs bé, finalment he vist que a finals de Novembre havia sortit l’Update 3 del ESXi i després de suar una mica intentant baixar-me l’actualització, no ho he aconseguit. Així doncs, m’he baixat una ISO sencera i he començat una instal·lació del ESXi sobre del sistema que ja tenia corrent amb Update 2. Encomptes de dir-li que instal·les des de zero li he dit que fes una reparació (repair) de l’instal·lació actual perquè no toques el ‘local storage’ (datastore1) que per defecte esta al mateix disc. Un cop re-instal·lat he aplicat el que explico a l’article:VMWare ESXi: PANIC: Error while reading file: -3, state.tgz

O sigui, que he tornat a importar totes les màquines que tenia i com que continuo sense haver fet un backup doncs no he pogut restaurar la configuració del VMWare ESXi. Però la qüestió és que he aconseguit actualitzar. Digueu-me radical però quan he vist que el manual de com fer actualitzacions al ESX ocupava 100 pàgines he pensat que això també funcionaria i així ha estat. Si algún dia m’animo a mirar el manual ja explicaré la forma oficial de fer-ho, o bé, si algú ho sap que avisi.

Ara només cal creuar els dits perquè això aguanti més d’una setmana que és el que acostumava a durar el sistema sense quedar-se fregit, o com diuen els aglosaxons: freeze.

Dec 04

vmware: Convertint una màquina virtual (.vmx) a format estàndard (.ovf)

Reading time: 1 – 2 minutes

Mai havia tingut la necessitat de fer la converció a OVF d’una màquina virtual, aquest és el format estàndard de les màquines virtuals diria que per tots els sistemes de virtualització malgrat n’hi ha molts que encara no el suporten. Doncs en el meu cas el que he fet és exportar unes màquines virtuals d’un VMWare Server a un VMWare ESXi convertint-les a OVF, l’ideal hagués estat migrar-les directament ja que les utilitats de VMWare OVF Tools ho soporten però al no tenir les màquines en la mateixa xarxa no volia que la migració durés dies i dies i més dies.

El procés: he parat les màquines virtuals, he modificat la configuració de les mateixes per treure el dispositiu de ‘CDROM’ que tenia mapejat contra una .ISO que em donava problemes en el procés i després he fet una cosa tan simple com:

ovftool /path_to_vms/vm_dir/vm_file.vmx /tmp/vm.ovf

El projecte Open Source que implementa OVF el teniu a SourceForge. Malgrat això jo ho he migrat amb les OVF Tools d’VMWare.

Nov 24

VMWare ESXi: PANIC: Error while reading file: -3, state.tgz

Reading time: 2 – 4 minutes

Després de les ventoleres que esta fent aquests dies a casa i de que un dels SAIs degut a les pujades i baixades de tensió acabes més penjat que un fuet, el servidor ESXi s’ha quedat grogui i no arrencava. O sigui, que com sempre les coses simples i automàtiques acaben donant un error incomprensible sobre el que només es podia fer una recerca per internet per solucionar-lo. L’error: PANIC: Error while reading file: -3, state.tgz

Gràcies als fòrums d’VMWare vaig trobar un thread que ho explicava de forma clara: la solució. En poques paraules i resumint tornem a arrencar el sistema però amb el CD d’instal·lació d’ESXi i li diem que volem reparar el sistema. Després si som persones precabudes tindrem un backup de la configuració del VMWare Infraestructure que a través de la consola d’administració podrem recuperar. Però si com és el meu cas no teniu còpia de seguretat la cosa té un segon problema. Recuperar les màquines que tenim al VMFS que segons ens deia al procés de recuperació no ha estat borrat i per tant conté les màquines virtuals que tenim montades.

Doncs bé, en aquest cas als fòrums d’VMWare vaig trobar una solució aproximada però que pel cas hem va permetre intuir la solució, el que preten explicar la solució és com borrar una màquina virtual després de reparar el sistema. Doncs bé, un cop som dins la consola d’administració d’VMWare Infraestructure que ja no té les nostres màquines virtuals perquè acabem de reparar el sistema el que cal fer ara és anar a la pestanya ‘Configuration’, després dins la secció ‘Harware’ on posa ‘Storage’. Ara a mà dreta veurem el ‘datastore1’ punxem amb el ratolí amb el botó dret i al menú contextual apretem ‘Browse Datastore…’.

Aquí ja hauriem de veure el llistat de directoris que contenen les nostres màquines virtuals, un cop dintre del directori de la màquina que volem recuperar localitzem el fitxer amb extenció ‘.vmx’ , botó dret del ratolí sobre el ftixer i seleccionem l’opció ‘Add to inventory’. Ara ja haurieu de veure la màquina dintre de la pestanya ‘Virtual Machines’ del VMWare Infraestructure. La resta de configuracions que havieu fet dins del VMWare infraestructure s’han perdut. O sigui, que les heu de tornar a fer. Per exemple, en quin ordre s’engeguen les màquines, recursos reservats per les màquines i tota la resta d’ajustaments. Però bé això comparat amb perdre totes les màquines no és res. Oi?

He de reconeixer que malgrat la petada que va fer tot plegat estic molt content amb la simplicitat que ha tingut a l’hora de solucionar-se. M’esperava haver de patir molt més. Cada dia estic més convençut de la gran feina que fa la gent d’VMWare, llàstima que sigui tot tan privatiu i tancat.