Virtualisation · 6 min read · Jan 19, 2026

Création d'appareils virtuels RedHat/CentOS/Scientific Linux/Fedora pour KVM avec BoxGrinder (Fedora 17)

Création d’appareils virtuels RedHat/CentOS/Scientific Linux/Fedora pour KVM avec BoxGrinder (Fedora 17)

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

BoxGrinder est un outil qui vous permet de créer des machines virtuelles (avec RedHat, CentOS, Scientific Linux ou Fedora comme système d’exploitation) pour plusieurs techniques de virtualisation. Actuellement, il prend en charge KVM, VMware, Amazon EC2, VirtualBox et VirtualPC. Ce tutoriel montre comment utiliser BoxGrinder pour créer un invité KVM CentOS 6 sur Fedora 17 et comment le déployer sur un hôte KVM distant.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Actuellement, BoxGrinder est disponible en tant que package pour Fedora 17, mais pas pour RedHat/CentOS/Scientific Linux 6. Par conséquent, j’utilise un système Fedora 17 pour créer un invité KVM CentOS que vous pouvez exécuter localement (si vous utilisez Fedora 17 comme plateforme KVM) ou transférer à un hôte KVM distant (vous pourriez le faire manuellement en transférant le fichier image et le fichier de définition XML de l’invité vers l’hôte distant, mais BoxGrinder a également une fonctionnalité intégrée qui vous permet de le faire automatiquement).

2 Installation de BoxGrinder

Connectez-vous à votre système Fedora en tant qu’utilisateur root et exécutez :

yum install rubygem-boxgrinder-build

3 Utilisation de BoxGrinder

Vous pouvez découvrir les plugins de BoxGrinder et les systèmes d’exploitation invités pris en charge en exécutant :

boxgrinder-build --version
[root@localhost ~]# boxgrinder-build --version  
BoxGrinder Build 0.10.4  
  
Plugins os disponibles :  
 - plugin rhel pour Red Hat Enterprise Linux  
 - plugin centos pour CentOS  
 - plugin fedora pour Fedora  
 - plugin sl pour Scientific Linux  
  
Plugins de plateforme disponibles :  
 - plugin vmware pour VMware  
 - plugin ec2 pour Amazon Elastic Compute Cloud (Amazon EC2)  
 - plugin virtualbox pour VirtualBox  
 - plugin virtualpc pour VirtualPC  
  
Plugins de livraison disponibles :  
 - plugin s3 pour Amazon Simple Storage Service (Amazon S3)  
 - plugin cloudfront pour Amazon Simple Storage Service (Amazon S3)  
 - plugin ami pour Amazon Simple Storage Service (Amazon S3)  
 - plugin sftp pour SSH File Transfer Protocol  
 - plugin ebs pour Elastic Block Storage  
 - plugin local pour le système de fichiers local  
 - plugin elastichosts pour ElasticHosts  
 - plugin openstack pour OpenStack  
 - plugin libvirt pour libvirt Virtualisation API  
[root@localhost ~]#

KVM est pris en charge par défaut, c’est pourquoi il n’est pas répertorié comme un plugin.

Pour apprendre à utiliser BoxGrinder, vous pouvez taper :

boxgrinder-build -h
[root@localhost ~]# boxgrinder-build -h  
Usage : boxgrinder-build [fichier de définition de l'appareil] [options]  
  
Un outil pour construire des images VM à partir de fichiers de définition simples.  
  
Page d'accueil :  
    http://boxgrinder.org/  
  
Documentation :  
    http://boxgrinder.org/tutorials/  
  
Exemples :  
    $ boxgrinder-build jeos.appl  
    $ boxgrinder-build jeos.appl -f  
    $ boxgrinder-build jeos.appl --os-config format:qcow2  
    $ boxgrinder-build jeos.appl -p vmware --platform-config type:personal,thin_disk:true  
    $ boxgrinder-build jeos.appl -p ec2 -d ami  
    $ boxgrinder-build jeos.appl -p vmware -d local  
  
Options :  
    -p, --platform [TYPE]            Le nom de la plateforme vers laquelle vous souhaitez convertir.  
    -d, --delivery [METHOD]          La méthode de livraison pour l'appareil sélectionné.  
    -f, --force                      Forcer la création de l'image - supprime toutes les constructions précédentes pour l'appareil sélectionné. Par défaut : faux.  
  
Options de configuration des plugins :  
    -l, --plugins [PLUGINS]          Liste séparée par des virgules de plugins supplémentaires. Par défaut : vide.  
        --os-config [CONFIG]          Configuration du plugin système d'exploitation au format : clé1:valeur1,clé2:valeur2.  
        --platform-config [CONFIG]    Configuration du plugin de plateforme au format : clé1:valeur1,clé2:valeur2.  
        --delivery-config [CONFIG]     Configuration du plugin de livraison au format : clé1:valeur1,clé2:valeur2.  
  
Options de journalisation :  
        --debug                      Imprime des informations de débogage lors de la construction. Par défaut : faux.  
        --trace                      Imprime des informations de trace lors de la construction. Par défaut : faux.  
    -b, --backtrace                  Imprime la trace complète si des erreurs se produisent lors de la construction. Par défaut : vrai si le journal console est réglé sur débogage ou trace, sinon faux.  
  
Options communes :  
        --change-to-user            Changer de root à l'utilisateur local après que le plugin OS soit terminé.  
        --help                      Affiche ce message.  
        --version                   Imprime la version.  
[root@localhost ~]#

En gros, cela fonctionne comme ceci : vous créez un fichier de définition d’appareil (par exemple, centos.appl) dans un répertoire (par exemple, /usr/local/appliances) :

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

Ce fichier de définition d’appareil décrit notre appareil KVM (comme le nom, le système d’exploitation (actuellement RedHat, CentOS, Scientific Linux et Fedora sont pris en charge), le mot de passe root, le nombre de CPU, la RAM, les partitions (les nombres signifient la taille en Go) et les packages que BoxGrinder installera automatiquement lorsqu’il crée la machine virtuelle) :

| 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 # par défaut, c'est vrai |

Les packages qui commencent par un @ ne sont pas des packages uniques, mais des groupes de packages. Vous pouvez découvrir les groupes de packages disponibles en exécutant

yum grouplist -v

sur un système qui exécute le même système d’exploitation que vous souhaitez utiliser dans votre appareil.

Les noms des groupes de packages sont entre parenthèses.

Les packages ne commençant pas par un @ ne sont pas des groupes de packages, mais exactement ce package unique.

BoxGrinder installera toujours la dernière version disponible d’un système d’exploitation, c’est-à-dire que si vous spécifiez CentOS 6, cela signifie qu’il installera 6.3 (6.3 étant la dernière version de CentOS au moment de la rédaction).

Vous pouvez maintenant appeler BoxGrinder comme ceci (assurez-vous d’être dans le même répertoire que centos.appl) :

boxgrinder-build centos.appl

Par défaut, BoxGrinder crée des images brutes. Après la construction, vous pouvez trouver l’image et la définition XML dans le répertoire build/appliances/////1.0/-plugin/ - dans mon cas, cela se traduit par 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]#

Pour créer un appareil au format qcow2, vous utiliseriez

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

au lieu de :

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]#

Vous pourriez maintenant prendre l’image et la copier dans /var/lib/libvirt/images sur votre hôte KVM et le fichier XML et le copier dans /etc/libvirt/qemu/ sur l’hôte KVM, ouvrir virsh et définir une nouvelle machine virtuelle à partir du fichier XML, mais au lieu de faire cela manuellement, vous pouvez faire en sorte que BoxGrinder le fasse pour vous (avec le commutateur -d) :

Par exemple, si vous souhaitez ajouter l’appareil à votre installation KVM locale, exécutez :

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

Cela copierait l’image directement dans le répertoire /var/lib/libvirt/images…

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

… et le fichier XML dans le répertoire /etc/libvirt/qemu/ :

ls -l /etc/libvirt/qemu/
[root@localhost appliances]# ls -l /etc/libvirt/qemu/  
total 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 networks  
[root@localhost appliances]#
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.