Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Creazione di appliance virtuale Linux/Fedora RedHat/CentOS/scientifica per KVM con BoxGrinder (Fedora 17)

BoxGrinder è uno strumento che ti permette di costruire macchine virtuali (con RedHat, CentOS, Fedora come sistema operativo o Scientific Linux) per molteplici tecniche di virtualizzazione. Attualmente supporta il KVM, VMware, Amazon EC2, VirtualBox e VirtualPC. In questa esercitazione viene illustrato come utilizzare BoxGrinder per creare un ospite CentOS 6 KVM su Fedora 17 e anche come distribuirla a un host remoto KVM.

Io non rilasciano alcuna garanzia che questo funziona per voi!

 

1 Nota preliminare

Fassi sono attualmente disponibile come pacchetto per Fedora 17, ma non per RedHat/CentOS/Scientific Linux 6. Quindi sto usando un sistema Fedora 17 per creare un guest di CentOS KVM che è possibile eseguire localmente (se si utilizza Fedora 17 come piattaforma KVM) o il trasferimento a un host remoto KVM (si potrebbe fare questo manualmente trasferendo il file di immagine e il file di definizione XML dell’ospite a t host remoto di lui, ma BoxGrinder ha anche una funzionalità incorporata che consente di eseguire automaticamente questa operazione).

 

2 l’installazione di BoxGrinder

Accedere al sistema Fedora come utente root ed eseguire:

yum install rubygem-boxgrinder-build

 

3 uso Fassi

Può scoprire sui plugin di BoxGrinder e sistemi operativi guest supportati eseguendo:

boxgrinder-build --version

[root@localhost ~] # boxgrinder-build– versione
BoxGrinder Build 0.10.4

Disponibile os plugin:
-rhel plugin per Red Hat Enterprise Linux
-plugin di centos per CentOS
-plugin di fedora per Fedora
-sl plugin per Scientific Linux

Disponibile piattaforma plugin:
-vmware plugin per VMware
-plugin ec2 di Amazon Elastic Compute Cloud (Amazon EC2)
-plugin di virtualbox per VirtualBox
-plugin virtualpc per VirtualPC

Plugin di consegna disponibili:
-s3 plugin per Amazon Simple Storage Service (Amazon S3)
-plugin cloudfront per Amazon Simple Storage Service (Amazon S3)
-ami plugin per Amazon Simple Storage Service (Amazon S3)
-plugin di sftp SSH File Transfer Protocol
-ebs plugin per Elastic Block Storage
-locale plugin per file system locale
-plugin elastichosts per ElasticHosts
-plugin openstack per OpenStack
-plugin di libvirt per libvirt virtualizzazione API
[root@localhost ~]#

KVM è supportato per impostazione predefinita, è per questo che non è elencato come un plugin.

Per imparare a utilizzare BoxGrinder, è possibile digitare:

boxgrinder-build -h

[root@localhost ~] # boxgrinder-build – h
Uso: Fassi-compilazione [file di definizione di apparecchio] [opzioni]

Uno strumento per la creazione di immagini VM da file di semplice definizione.

Homepage:
http://boxgrinder.org/

Documentazione:
http://boxgrinder.org/Tutorials/

Esempi:
$ boxgrinder-build jeos.appl # costruire KVM immagine per jeos.appl
$ boxgrinder-build jeos.appl -f # costruire KVM immagine per jeos.appl con la rimozione della precedente generazione per questa immagine
$ boxgrinder-build jeos.appl – os-config formato: qcow2 # costruire immagine KVM per jeos.appl con un disco di qcow2
$ boxgrinder-build jeos.appl -p vmware – piattaforma-config tipo: personal, thin_disk:true # costruire VMware immagine per VMware Server, giocatore, Fusion utilizzando sottile disco (crescente)
$ boxgrinder-build jeos.appl -p ec2 ami -d # compilazione e registro AMI per jeos.appl
$ boxgrinder-build jeos.appl -p vmware -d # locale costruire VMware immagine per jeos.appl e consegnarla alla directory locale

Opzioni:
-p, –piattaforma [tipo] il nome della piattaforma che si desidera convertire.
-d, –consegna [Metodo] il metodo di consegna per l’apparecchio selezionato.
-f, – forza forza la creazione di immagini – rimuove tutte le precedenti configurazioni per apparecchio selezionato. Predefinito: false.

Opzioni di configurazione del plugin:
-l, – plugin [plugin] elenco separato da virgole di plugin aggiuntivi. Predefinito: vuoto.

-os-config [CONFIG] sistema operativo plugin di configurazione nel formato: key1:value1, key2:value2.
-configurazione del plugin piattaforma piattaforma-config [CONFIG] nel formato: key1:value1, key2:value2.
–delivery-config [CONFIG] Delivery plugin configuration in format: key1:value1,key2:value2.

Logging options:
–debug Prints debug information while building. Default: false.
–trace Prints trace information while building. Default: false.
-b, –backtrace Prints full backtrace if errors occur whilst building. Default: true if console log is set to debug or trace, otherwise false.

Common options:
–change-to-user Change from root to local user after the OS plugin completes.
–help Show this message.
–version Print the version.
[root@localhost ~]#

Basically it works like this: you create an appliance definition file (e.g. centos.appl) in a directory (e.g. /usr/local/appliances):

mkdir /usr/local/appliances
cd /usr/local/appliances/
vi centos.appl

This appliance definition file describes our KVM appliance (like name, operating system (currently RedHat, CentOS, Scientific Linux, and Fedora are supported), root password, number of CPUs, RAM, partitions (numbers mean size in GB), and packages that BoxGrinder will install automatically when it creates the virtual machine):

name: centos-6-lamp
summary: CentOS 6 LAMP
version: 1
release: 0
os:
  name: centos
  version: 6
  password: secret
hardware:
  cpus: 2
  memory: 1024
  partitions:
    "/":
      size: 4
    "/var":
      size: 10
    "swap":
      size: 0.5
packages:
  - @core
  - @web-server
  - @mysql
  - acpid
default_repos: true # default is true

Packages that begin with an @ are not single packages, but package groups. You can find out about available package groups by running

yum grouplist -v

on a system that runs the same operating system that you want to use in your appliance.

The names of the packages groups are in parentheses.

Packages not beginning with an @ sign are not package groups, but exactly that single package.

BoxGrinder will always install the latest available version of an operating system, i.e., if you specify CentOS 6, it means it will instal 6.3 (6.3 being the latest CentOS version at the time of this writing).

You can now call BoxGrinder like this (make sure you are in the same directory that centos.appl is located in):

boxgrinder-build centos.appl  

By default, BoxGrinder creates raw images. After the build, you can find the image and the XML definition in the directory build/appliances/<arch>/<osplugin>/<osversion>/<name>/1.0/<osplugin>-plugin/ – in my case, this translates to build/appliances/i686/centos/6/centos-6-lamp/1.0/centos-plugin/:

ls -l build/appliances/i686/centos/6/centos-6-lamp/1.0/centos-plugin/

[root@localhost appliances]# ls -l build/appliances/i686/centos/6/centos-6-lamp/1.0/centos-plugin/
total 863308
-rwxr-xr-x. 1 root root 15569256448 Oct 5 11:44 centos-6-lamp-sda.raw
-rw-r–r–. 1 root root 475 Oct 5 11:42 centos-6-lamp.xml
[root@localhost appliances]#

To create a appliance in qcow2 format, you’d use

boxgrinder-build centos.appl --os-config format:qcow2

instead:

ls -l build/appliances/i686/centos/6/centos-6-lamp/1.0/centos-plugin/

[root@localhost appliances]# ls -l build/appliances/i686/centos/6/centos-6-lamp/1.0/centos-plugin/
total 1628824
-rw-r–r–. 1 root root 784007168 Oct 5 11:52 centos-6-lamp-sda.qcow2
-rw-r–r–. 1 root root 481 Oct 5 11:51 centos-6-lamp.xml
[root@localhost appliances]#

You could now take the image and copy it to /var/lib/libvirt/images on your KVM host and the XML file and copy it to /etc/libvirt/qemu/ on the KVM host, open virsh and define a new virtual machine from the XML file, but instead of doing this manually, you can make BoxGrinder do this for you (with the -d switch):

For example, if you want to add the appliance to your local KVM installation, run:

boxgrinder-build centos.appl --os-config format:qcow2 -d libvirt 

This would copy the image directly to the /var/lib/libvirt/images directory…

ls -l /var/lib/libvirt/images

[root@localhost elettrodomestici] # ls -l /var/lib/libvirt/images.
totale 765636
-rw-r – r. 1 root root 784007168 Oct 5 11:55 centos-6-lampada-sda.qcow2
[root@localhost elettrodomestici] #

… e il file XML nella directory/etc/libvirt/qemu / :

ls -l /etc/libvirt/qemu/

[root@localhost elettrodomestici] # ls -l/etc/libvirt/qemu /
totale 8
-rw–. 1 root root 2135 Oct 5 11:55 centos-6-lamp-1-0-centos-6-i686-raw.xml
drwx–. 3 root root 4096 Jun 28 15:52 reti
[root@localhost elettrodomestici] #

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp