Proyecto

General

Perfil

Creación de imágenes » Histórico » Versión 4

Molina Coballes, Alberto, 13-02-2012 22:14

1 1 Molina Coballes, Alberto
h1. Creación de imágenes
2
3
Partimos de una instalación de OpenStack en el equipo popeye y seguimos los pasos de la "OpenStack Compute Starter Guide":http://docs.openstack.org/diablo/openstack-compute/starter/content/Creating_a_Linux_Image_-_Ubuntu_Fedora-d1e1287.html. Vamos a instalar Debian Squeeze AMD64 en una imagen de 4G:
4
<pre>
5 2 Molina Coballes, Alberto
root@popeye:~# qemu--img create -f raw squeeze1.img 4G
6 1 Molina Coballes, Alberto
</pre>
7
Descargamos la iso de net-install:
8
<pre>
9
wget http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-netinst.iso
10
</pre>
11
Procedemos a la instalación del sistema:
12
<pre>
13 3 Molina Coballes, Alberto
root@popeye:~# kvm -m 256 -cdrom debian-6.0.2.1-amd64-netinst.iso -boot d squeeze1.img
14 1 Molina Coballes, Alberto
</pre>
15 4 Molina Coballes, Alberto
En el particionado ponemos una partición primaria ext4 que ocupe todo el disco, la asociamos al directorio raíz y no creamos partición para swap, en la selección de componentes elegimos sistema base y servidor ssh. Una vez instalado modificamos la etiqueta de la partición donde está el sistema, para ello:
16 1 Molina Coballes, Alberto
<pre>
17 3 Molina Coballes, Alberto
root@popeye:~# losetup -vf squeeze1.img
18
Loop device is /dev/loop0
19
root@popeye:~# kpartx -av /dev/loop0
20
add map loop0p1 (254:7): 0 8384512 linear /dev/loop0 2048
21
root@popeye:~# tune2fs -L uec-rootfs /dev/mapper/loop0p1 
22
tune2fs 1.41.12 (17-May-2010)
23 1 Molina Coballes, Alberto
</pre>
24 3 Molina Coballes, Alberto
Y desasociamos la partición y el disco:
25
<pre>
26
root@popeye:~# kpartx -d /dev/loop0
27
root@popeye:~# losetup -d /dev/loop0
28
</pre>
29
Arrancamos squeeze1, actualizamos y borramos la configuración de red de udev:
30
<pre>
31
root@squeeze1:~# apt-get update && apt-get upgrade
32
root@squeeze1:~# rm -fr /etc/udev/rules.d/70-persistent-net.rules
33
</pre>
34
Ahora editamos el fichero /etc/fstab y cambiamos el identificador de la partición raíz de UUID a LABEL, de manera que quede:
35
<pre>
36 4 Molina Coballes, Alberto
LABEL=uec-rootfs    /    ext4      errors=remount-ro      0   0
37 1 Molina Coballes, Alberto
</pre>
38 4 Molina Coballes, Alberto
Ahora sin embargo, tenemos que extraer la partición del disco, ya que OpenStack trabaja directamente con imágenes de sistemas de ficheros, no de discos por lo que volvemos a hacer uso de losetup y kpartx:
39
<pre>
40
root@popeye:~# losetup -vf squeeze1.img
41
Loop device is /dev/loop0
42
root@popeye:~# kpartx -av /dev/loop0
43
add map loop0p1 (254:7): 0 8384512 linear /dev/loop0 2048
44
root@popeye:~# dd if=/dev/loop0p1 of=squeeze-base.img
45
</pre>
46
Falta éste paso: http://docs.openstack.org/diablo/openstack-compute/starter/content/Fetching_Metadata_in_Fedora-d1e1488.html porque Debian no incluye el paquete cloud-init.