BULMA

Bulma se une a la protesta contra SOPA y PIPA

Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(01/07/2014 08:46:02)
    
Google


En bulma.net
En internet
Màquines virtuals amb user-mode-linux (6512 lectures)
Por Carles Bayés
phalangana (http://)
Creado el 11/09/2004 18:18 modificado el 12/09/2004 21:25

Des de fa ja un temps sembla que les màquines virtuals s'han posat de moda, no només per a entorns de desenvolupament o proves, sinó també per a entorns de producció (hosting, "consolidació de servidors" i altres). Us mostro amb un petit exemple com muntar màquines virtuals amb user-mode-linux.

Pagina1/2

Quan comences a pensar en muntar màquines virtuals, trobes que tens al teu abast moltes solucions, algunes comercials com VMWare o VirtualPC (recentment adquirida per Microsoft) i d'altres lliures, com Bochs, Plex86, coLinux o user-mode-linux. Cada una d'aquestes opcions té els seus avantatges i els seus inconvenients. Jo em vaig decantar per user-mode-linux, perquè és lliure i perquè el que segons el meu parer és el seu inconvenient més important (no permet corre altre sistema operatiu que Linux) no m'importava en absolut pel que tenia pensat. I d'entre les opcions lliures era la que en principi oferia millor rendiment i més simplicitat.

Com deia al resum inicial, els usos d'aquestes tecnologies poden ser molts. Alguns dels que més se senten últimament són els següents, però no són els únics ni de bon tros:

  • Hosting: Cada vegada són més els ISP que ofereixen servidors virtuals utilitzant aquestes tecnologies.
  • Consolidació de servidors: Es tracta d'agrupar tots els servidors d'una empresa en una sola màquina (que ha de tenir relativa solvència de recursos, evidentment). La idea es basa en aprofitar millor els recursos del servidor, ja que és habitual el desaprofitament de recursos de hardware en aquests temps en els que el hardware avança tant de pressa. En aquests casos, com sempre que es fan servir màquines virtuals, la realització de còpies de seguretat de cada una de les màquines resulta molt fàcil, ja que en general suposarà la còpia d'un sol fitxer.
  • Honeypots: Màquines posades a internet perquè hi "juguin" els hackers. Es fan servir en general per aprendre els comportaments i les noves tècniques que fan servir els intrusos informàtics.
  • Màquines de desenvolupament o proves: Sempre és millor provar les coses en una màquina que no és crítica pel negoci i que, com en el cas de les màquines virtuals, es pot recuperar en molt poc temps.

Crec que no hi ha res com un cas pràctic, per tant, ara que ja he fet una mica d'introducció potser que anéssim al gra: El que vull muntar en primera instància és un servidor virtual per a desenvolupament d'aplicacions web amb Apache, Mysql i Php (i potser Perl), però l'objectiu final és implementar-ho en un servidor web on ostatjaré les aplicacions que desenvolupi, de manera que aquest primer pas (a més de per passar-m'ho bé una estona, perquè ens hem d'enganyar...) em servirà com a test per a muntar-ho a producció. El que vull en producció és crear dues màquines virtuals, de manera que en una sola màquina "física" vull que hi hagi el firewall (que situaré al host), un IDS en una màquina virtual (snort) i el servidor web en una altra (el que no sé és si l'arcaica màquina que tinc pensat utilitzar ho suportarà tot o hauré de muntar l'IDS al host...).

Els passos que seguiré són per a Debian (SID, per ser exactes), però com que compilaré a partir de les fonts, hauria de ser molt similar a les altres distribucions.

La raó per compilar des de les fonts és que en el moment de fer aquestes proves la versió per a SID tenia un bug (concretament el 260111) que feia que la màquina virtual es pengés en arrencar. Sense aquest petit inconvenient, el procés d'instal·lació hauria estat molt més senzill, com és habitual en Debian. N'hi hauria hagut prou amb

# apt-get install user-mode-linux uml-utilities

i passar als següents passos.

L'apt-get uml-utilities, però, sí que cal executar-lo si no voleu haver de compilar les utilitats manualment, perquè el kernel UML requereix algunes d'aquestes utilitats externes per a certes coses, com ara la configuració de la xarxa amb dispositius TAP.

Instal·lació

Per instal·lar user-mode-linux el primer que cal fer és baixar-se les fonts del kernel (en el meu cas 2.4.26, l'últim de la branca 2.4 amb patch UML disponible el dia d'escriure aquest mini-howto) i el corresponent patch. Ho podem fer des de kernel.org i des de la pàgina del projecte UML, respectivament:

~/software/uml$ wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2
~/software/uml$ wget http://belnet.dl.sourceforge.net/sourceforge/user-mode-linux/uml-patch-2.4.26-3.bz2

I Ara només cal descomprimir el kernel, aplicar-hi el patch i compilar-lo. Jo ho faig amb les opcions per defecte per simplificar i perquè l'entorn que vull no és res de l'altre món:

~/software/uml$ tar xvfj linux-2.4.26.tar.bz2
~/software/uml$ cd linux-2.4.26
~/software/uml/linux-2.4.26$ bzcat ../uml-patch-2.4.26-3.bz2 | patch -p1
~/software/uml/linux-2.4.26$ make xconfig ARCH=um
~/software/uml/linux-2.4.26$ make linux ARCH=um

Ara mateix ja estem en disposició d'executar linux en espai d'usuari, però ens falta el sistema de fitxers arrel (si executem ./linux ens ho advertirà). Podem descarregar-ne alguns des de la pàgina de descarrègues d'uml. En el meu cas, faré servir el sistema de fitxers de Debian, però n'hi ha de moltes distribucions (UML pot ser una bona manera de provar altres distribucions sense haver de redimensionar particions ni posar en risc el sistema que ja teniu corrent a la màquina):

~/software/uml$ wget http://belnet.dl.sourceforge.net/sourceforge/user-mode-linux/Debian-3.0r0.ext2.bz2
~/software/uml$ cd ~/uml
~/uml$ bunzip2 ../software/uml/Debian-3.0r0.ext2.bz2
~/uml$ mv ../software/uml/Debian-3.0r0.ext2 ./
~/uml$ cp ../software/uml/linux-2.4.26/linux ./

I ara sí que definitivament ja podem (o hauríem de poder) executar linux dins de linux:

~/uml$ ./linux ubd0=Debian-3.0r0.ext2 mem=32M

Si tot ha anat bé, s'han obert 3 consoles esperant que ens hi identifiquem. Ens hi podem autenticar com a root (sense contrasenya):

...

Debian GNU/Linux 3.0 (none) ttys/0

(none) login: root
Last login: Sun Aug 22 20:28:35 2004 on ttys/1
Linux (none) 2.4.26 #1 ds ago 21 20:23:10 CEST 2004 i686 unknown

Most of the programs included with the Debian GNU/Linux system are
freely redistributable; the exact distribution terms for each program
are described in the individual files in /usr/share/doc/*/copyright

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
(none):~# uname -a
Linux (none) 2.4.26 #1 ds ago 21 20:23:10 CEST 2004 i686 unknown
(none):~#

...

De tota manera, el sistema de fitxers original ens serveix de poc, perquè no es pot dir que dugui massa aplicacions (per comprovar-ho en Debian, dpkg -l) i li queda poc espai lliure.

(none):~# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/ubd/0               59386     48365      7952  86% /

En aquest punt tenim vàries opcions. Podríem crear més particions per incrementar l'espai disponible o podem redimensionar la partició que tenim. Jo opto per aquesta darrera opció. Podeu fer-ho amb resize2fs o creant una partició més gran i copiar-hi tot el contingut de la partició original.

Amb resize2fs:

~/uml$ cp Debian-3.0r0.ext2 root_fs

(root_fs és el nom de fitxer que busca uml per defecte. D'aquesta manera ens podríem estalviar l'argument ubd0=...).

~/uml$ /sbin/e2fsck -f root_fs
~/uml$ /sbin/resize2fs root_fs 250M
~/uml$ /sbin/tune2fs -j -i 30 root_fs

Creant una partició des de zero:

~/uml$ dd if=/dev/zero of=root_fs.ext3 bs=1M count=250
~/uml$ /sbin/mkfs.ext3 root_fs.ext3
~/uml$ mkdir mnt
~/uml$ mkdir mnt/debian
~/uml$ mkdir mnt/root_fs
~/uml$ su
Password:
# mount -o loop Debian-3.0r0.ext2 mnt/debian
# mount -o loop root_fs.ext3 mnt/root_fs
# cp -fa mnt/debian/* mnt/root_fs
# umount mnt/debian
# umount mnt/root_fs
# exit

Podem crear també una partició de swap (recomanable en el meu cas, ja que em sobra disc i em falta ram).

~/uml$ dd if=/dev/zero of=swap bs=1M count=64
~/uml$ /sbin/mkswap swap
~/uml$ ./linux ubd0=root_fs ubd1=swap mem=32M

Després d'arrencar la màquina virtual, cal informar al nou sistema que ubd1 és la partició de swap. Ho podem fer amb swapon o introduïnt l'entrada corresponent a /etc/fstab perquè les successives sessions ja vegin la partició des de l'inici:

(none):~# echo /dev/ubd/1 none swap sw 0 0 >> /etc/fstab

Paginas:  1  2  Abreviatura Siguiente>>

Imprimir
Version para
imprimir

Imprimir
Version
PDF
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 12
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Máquinas virtuales con user-mode-linux
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 19/9/2005 14:59:49 | Tiempo Total: 0.017 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: too much time ago!!
Powered by Apache    MySQL    PHP    Gimp