cn:ccr:cloud:preparazione_immagini_cloud_resizable_con_oz
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
cn:ccr:cloud:preparazione_immagini_cloud_resizable_con_oz [2013/10/22 16:22] – dorigoa@infn.it | cn:ccr:cloud:preparazione_immagini_cloud_resizable_con_oz [2014/01/17 16:19] (current) – dorigoa@infn.it | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Preparare immagini cloud resizable con Oz ===== | ||
+ | * Alvise Dorigo (INFN Padova) | ||
+ | ==== Informazioni preliminari ==== | ||
+ | [[https:// | ||
+ | |||
+ | Di default Oz ha dei suoi template file per le installazioni automatiche ([[https:// | ||
+ | |||
+ | Per funzionare Oz ha anche bisogno di un template file contenente informazioni su dove reperire l' | ||
+ | Per Debian, purtroppo, Oz al momento non supporta la customizzazione, | ||
+ | |||
+ | Una volta che Oz ha terminato il build dell' | ||
+ | |||
+ | Il motivo per cui vogliamo estrarre la partizione (contenente il root filesystem ''"/"'' | ||
+ | |||
+ | Una volta estratta l'AMI dal file immagine (l'AMI viene estratta come immagine del block device corrispondente alla partizione montata nella root "/" | ||
+ | |||
+ | ==== Pre-requisiti ==== | ||
+ | Oz è un wrapper attorno ad un ambiente virtualizzato. Quindi è necessario che nell' | ||
+ | |||
+ | * Verificare che il processore della macchina host supporti la virtualizzazione; | ||
+ | <code bash> | ||
+ | dorigoa@lxadorigo 18:13:55 ~>lscpu |grep -i virtu | ||
+ | Virtualization: | ||
+ | </ | ||
+ | |||
+ | o | ||
+ | |||
+ | <code bash> | ||
+ | [root@gilda-11 ~]# lscpu |grep -i virtu | ||
+ | Virtualization: | ||
+ | </ | ||
+ | |||
+ | a seconda ci si trovi su una piattaforma Intel o AMD rispettivamente. | ||
+ | * Se il punto precedente è soddisfatto verificare che il modulo kernel sia caricato: | ||
+ | <code bash> | ||
+ | dorigoa@lxadorigo 18:15:33 ~>lsmod |grep -i kvm | ||
+ | kvm_intel | ||
+ | kvm | ||
+ | </ | ||
+ | se il modulo non è caricato è necessario farlo manualmente con modprobe: | ||
+ | <code bash> | ||
+ | modprobe kvm_intel | ||
+ | </ | ||
+ | su piattaforma Intel e | ||
+ | <code bash> | ||
+ | modprobe kvm_amd | ||
+ | </ | ||
+ | su piattaforma AMD. | ||
+ | |||
+ | * Se modprobe fallisce, bisogna verificare nel BIOS della macchina che il supporto hardware alla virtualizzazione sia abilitato. | ||
+ | |||
+ | * Verificare che il demone di libvirtd stia girando e sia abilitato al boot: | ||
+ | <code bash> | ||
+ | [root@gilda-11 ~]# chkconfig --list|grep libvirtd | ||
+ | libvirtd | ||
+ | [root@gilda-11 ~]# service libvirtd status | ||
+ | libvirtd (pid 5595) is running... | ||
+ | </ | ||
+ | ==== Files di configurazione ==== | ||
+ | |||
+ | In [[https:// | ||
+ | |||
+ | ==== Preparazione immagine ==== | ||
+ | |||
+ | === Metodo 1 losetup/ | ||
+ | == Collegare l' | ||
+ | <code bash> | ||
+ | # > losetup -f -v / | ||
+ | Loop device is /dev/loop1 | ||
+ | </ | ||
+ | == Mappare la partizione interna == | ||
+ | <code bash> | ||
+ | # > kpartx -a /dev/loop1 | ||
+ | add map loop1p1 (253:0): 0 4192902 linear /dev/loop1 63 | ||
+ | </ | ||
+ | == Estrarre la partizione root == | ||
+ | <code bash> | ||
+ | # > dd if=/ | ||
+ | </ | ||
+ | == Scollegare il device loopback == | ||
+ | <code bash> | ||
+ | # > kpartx -d /dev/loop1 | ||
+ | # > losetup -d /dev/loop1 | ||
+ | </ | ||
+ | == Estrarre kernel e initrd dall' | ||
+ | <code bash> | ||
+ | # > mount -o loop myimage_extracted.img /mnt | ||
+ | # > cp / | ||
+ | # > cp / | ||
+ | # > umount /mnt | ||
+ | </ | ||
+ | |||
+ | Ovviamente i filename reali vmlinuz e initramfs saranno comprensivi del numero di versione del kernel. | ||
+ | A questo punto i 3 oggetti vmlinux-< | ||
+ | |||
+ | === Metodo 2 guestfish === | ||
+ | == Ottenere il device contenente il root filesystem ("/" | ||
+ | <code bash> | ||
+ | # > guestfish --ro add ubuntu_quantal_x86_64_2G.dsk : run : inspect-os | ||
+ | /dev/vda1 | ||
+ | </ | ||
+ | == Listare il contenuto della directory /boot == | ||
+ | <code bash> | ||
+ | # > guestfish --ro add ubuntu_quantal_x86_64_2G.dsk : run : mount /dev/vda1 / : ls /boot | ||
+ | System.map-3.5.0-17-generic | ||
+ | abi-3.5.0-17-generic | ||
+ | config-3.5.0-17-generic | ||
+ | grub | ||
+ | initrd.img-3.5.0-17-generic | ||
+ | memtest86+.bin | ||
+ | memtest86+_multiboot.bin | ||
+ | vmlinuz-3.5.0-17-generic | ||
+ | </ | ||
+ | == Estrarre AKI, ARI, AMI == | ||
+ | <code bash> | ||
+ | # > guestfish --ro add ubuntu_quantal_x86_64_2G.dsk : run : mount /dev/vda1 / : download / | ||
+ | # > guestfish --ro add ubuntu_quantal_x86_64_2G.dsk : run : mount /dev/vda1 / : download / | ||
+ | # > guestfish --ro add ubuntu_quantal_x86_64_2G.dsk : run : mount /dev/vda1 / : download /dev/vda1 ubuntu12-10-oz-resize.img | ||
+ | </ | ||
+ | |||
+ | === Nota su Debian === | ||
+ | |||
+ | ---- | ||
+ | |||
+ | **ATTENZIONE: | ||
+ | |||
+ | Per modificare un file con guestfish: | ||
+ | <code bash> | ||
+ | # > guestfish --ro add debian_wheezy_x86_64_2G.dsk : run : mount /dev/vda1 / : write / | ||
+ | </ |
cn/ccr/cloud/preparazione_immagini_cloud_resizable_con_oz.txt · Last modified: 2014/01/17 16:19 by dorigoa@infn.it