Nov 18

CLI de Xen

Reading time: 2 – 2 minutes

Aquesta setmana he tingut un expedient X’s amb el servidor d’oriolrius.cat que tinc virtualitzat en un servidor de Xen. La qüestió és que segons Xen la màquina estava corrent normal però encanvi no podia accedir ni a la consola ni enlloc. Ja que la màquina no estava a la llista de processesos del sistema. Així doncs, després de més d’1any he hagut d’aprendre alguna comanda de Xen CLI per poder solucionar el problema.

Per obtenir la llista de màquines virtuals que té el sistema:

xe vm-list

amb aquesta comanda podem obtenir el uuid, aquest identificador ens serà útil per poder forçar la màquina perquè es pari. Això ho podem fer així:

xe vm-reset-powerstate uuid=XXXXXXXXXXXXXXX force=true

En cas de que la comandi falli, per exemple, amb un error de:

The operation could not be performed because a domain still exists for the specified VM.                                                               
vm: XXXXXXXXXXXXXXX (nom_servidor)
domid: 1

Llavors podem eliminar el domini que ens causa problemes així:

/opt/xensource/debug/destroy_domain -domid 1

Si la comanda no retorna error vol dir que hem pogut eliminar el domini i ja podem tornar a executar la comanda xe vm-reset-powerstate.

Gràcies a això he pogut fer-li entendre al Xen server que la màquina estava parada i des de la GUI he tornat a iniciar la màquina sense problemes. En el meu cas aquesta anomalia s’havia donat degut a que el sistema s’havia quedat sense memòria, o sigui, que entenc que hi hauria alguna part del hypervisor que tindria leaks de memòria.

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 24

Cloud computing en 5min

Reading time: < 1 minute Des de fa un temps estic força interessat en temes de cloud computing i virtualització com aneu nontant per la temàtica dels artícles que vaig penjant. Doncs avui llegint els feeds d'un dels blogs on estic sindicat he trobat aquest video que malgrat ser en anglès crec que descriu de forma molt planera i amb uns dibuixos molt divertits aquestes tecnologies:

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.

Oct 07

Habilitar l’SSH a un VMWare Server ESXi

Reading time: 1 – 2 minutes

Des d’ahir estic evaluant un HP ML110 G5 amb 2Gb de RAM com a servidor de màquines virtuals amb VMWare Server ESXi. El primer trick que m’he afanyat ha aconseguir és habilitar l’SSH del servidor ja que al no portar un sistema operatiu com a host, sinó que el propi VMWare Server ESXi ja el porta un linux incrustat esta tot molt restringit.

Els passos:

  1. At the ESXi console, press alt+F1
  2. Type: unsupported
  3. Enter the root password
  4. At the prompt type “vi /etc/inetd.conf
  5. Look for the line that starts with “#ssh”
  6. Remove the “#” (press the “x” if the cursor is on the character)
  7. Save “/etc/inetd.conf” by typing “:wq!” or “ZZ
  8. Restart the management service “/sbin/services.sh restart