diumenge 14 de novembre de 2010

Una màquina virtual sobre GNU Linux

Fa anys, per simple curiositat, vaig intentar instal·lar al meu ordinador una màquina virtual. Em va semblar una cosa bastant complicada. En aquell moment ni entenia bé en què consistia la virtualització ni em vaig preocupar especialment per cercar la documentació oportuna. Recentment he reprès amb èxit la qüestió de la virtualització. Aquest cop el tema no m'ha resultat en absolut misteriós i el resultat ha estat força positiu. És més, penso que amb un mínim d'interès i una mica de paciència la virtualització és a l'abast de qualsevol. En aquest article faig algunes precisions sobre això i us deixo alguns enllaços que puguin servir de guia i/o d'ajuda a les persones interessades.

La primera qüestió és aclarir què és la virtualització i per a què serveix. A la Wikipedia podeu consultar una entrada bastant completa sobre ambdues qüestions. En el meu cas, el meu interès per crear una màquina virtual era simular un ordinador dins del meu ordinador i poder instal·lar així altres sistemes operatius sobre el sistema operatiu principal. D'aquesta manera s'aconsegueix disposar de diversos ordinadors (màquines virtuals) executant-se sobre un únic ordinador físic (amfitrió) i crear un entorn apte per provar altres sistemes operatius. Convé dir, però, que la virtualització pot complir a més amb altres objectius com per exemple crear una versió virtual d'un servidor, d'un dispositiu d'emmagatzematge o d'una xarxa.

A la wiki del Projecte Linkat podeu aprendre més coses sobre virtualització, conèixer el programari per crear màquines virtuals, entendre les diferències entre virtualització i emulació i llegir algunes qüestions importants que cal tenir en compte.

Una vegada ja hem entès que és i per a què serveix la virtualització, el següent pas és posar fil a l'agulla. Per crear entorns de virtualització necessitarem en primer lloc instal·lar un programari de virtualització i en segon lloc crear i definir la màquina virtual.

Per virtualitzar sistemes operatius existeixen diverses aplicacions. Algunes eines de codi lliure conegudes són: Xen, OpenVZ, VirtualBox... Per als meus propòsits personals he utilitzat VirtualBox, un programari que satisfà àmpliament les meves necessitats. VirtualBox suporta en mode amfitrió els sistemes operatius GNU Linux, Mac OS, Windows i Solaris/OpenSolaris i dins d'ells permet virtualitzar com sistemes convidats BSD, GNU Linux, OS/2, Windows i Solaris. L'última versió de VirtualBox per als sistemes operatius suportats en mode amfitrió es pot descarregar a la pàgina de descàrregues de VirtualBox.

Si teniu interès en provar VirtualBox sobre GNU Linux us suggereixo seguir la Pràctica 1 del primer mòdul del curs “Administració, gestió i manteniment de xarxes en Linkat”, una guia -pas a pas- en la qual s'inclouen diverses animacions del procés. La primera cosa és instal·lar el programari necessari previ a la instal·lació de VirtualBox (kernel-source, kernel-syms, gcc, gcc-c++ y pam-devel). Un cop fet això ja es pot procedir: cal instal·lar el programari de virtualització des de la consola, afegir els usuaris que facin falta al grup vboxusers i compilar el mòdul vboxdrv.

El procés continua amb la configuració de la màquina virtual. En obrir per primera vegada VirtualBox us demanarà que us registreu. A continuació s'ha de clicar damunt el botó "Nova" i seguir les indicacions de l'assistent per a definir les característiques de l'ordinador virtual (quantitat de RAM, capacitat del disc dur, processador, targeta de xarxa ...). És important tenir en compte que els recursos destinats a l'ordinador virtual s'obtindran sempre de l'ordinador amfitrió. A la Pràctica 2 del primer mòdul del curs esmentat anteriorment teniu indicacions precises i animacions que us permetran completar aquest procés.

Arribats a aquest punt només queda instal·lar el sistema operatiu que desitgem a la nostra màquina virtual. Per a això cal disposar d'una imatge del sistema operatiu a instal·lar en un suport adient que la màquina virtual pugui trobar, iniciar la màquina virtual i seguir els passos d'instal·lació del sistema operatiu desitjat.


Comentava al principi que la virtualització és a l'abast de tota persona interessada. Això no vol dir que no hagin de sorgir problemes (el procediment és llarg i comprèn diverses fases). Tot i així, els problemes tenen solució i hi ha molts llocs a la xarxa on trobar ajuda per resoldre'ls, per exemple, al fòrum del Projecte Linkat. Descric a continuació els tres problemes amb els quals m'he trobat.

El primer té a veure amb quelcom que ja apuntava anteriorment: la quantitat de memòria RAM assignada a la màquina virtual. La meva primera intenció era instal lar una Linkat virtualizada per a la qual es recomanen 500 Mb de memòria RAM. El sistema amfitrió amb el que treballo, però, no disposava de molta memòria, així que era lògic preveure que de cara a futurs projectes aquest amfitrió es ressentiria. La solució simple i necessària va ser la d'ampliar la memòria RAM a 2 GB, el mínim requerit per poder treballar còmodament amb dues màquines virtuals simultànies.

El segon problema té a veure amb la instal·lació del sistema operatiu virtualitzat... La finestra de la màquina virtual es quedava en negre i em donava un error del tipus “no troba el disc”. Una bona idea és comprovar que la versió del nucli del sistema amfitrió i la versió de les fonts del nucli coincideixen i que el mòdul vboxdrv es troba correctament compilat. En el meu cas, al compilar aquest mòdul es produïa un error (“no es troba el paquet dkms”). Tot i així, la compilació acabava correctament, de manera que havia que localitzar el problema en un altre lloc. L'errada era de configuració: per usar un DVD com a suport d'instal·lació, en els paràmetres de la màquina virtual cal configurar a "enmagatzematge" el dispositiu CD/DVD en el dispositiu amfitrió i en "sistema" seleccionar l'orde d'arrencada correcta.

L'últim problema va ser aconseguir connectar la màquina virtual a Internet. VirtualBox disposa de tres maneres per treballar amb interfícies de xarxa: NAT, Adaptador pont i Xarxa interna (vegeu la documentació citada). Després d'algunes proves vaig aconseguir establir la connexió ajustant l'Adaptador pont sobre la wifi de l'amfitrió (wlan0) i configurant la xarxa sense fils a la màquina virtual amb el Network Manager. La idea és que encara que l'ordinador amfitrió es connecti per wifi, la màquina virtual és com si es connectarà amb ell per cable.

I això és tot. Per a altres qüestions podeu consultar el fòrum de Sielarts on trobareu una altra guia -pas a pas- per a la instal·lació de màquines virtuals així com informació detallada sobre els possibles problemes i errors que es poden trobar al llarg del procés i la manera de resoldre'ls.

0 comentaris:

Publica un comentari