Distribution Linux ProxMox : la virtualisation libre et facile (1/7) 1

Distribution Linux ProxMox : la virtualisation libre et facile (1/7)

À de nombreuses reprises dans ces colonnes, vous ont été présentés des logiciels libres de virtualisation de PC (Qemu, VirtualBox, Xen…) ou commerciaux (Vmware, Xen…) . Nous allons découvrir la distribution Proxmox au travers de 7 articles.

Il y a quelques années, des éditeurs comme Vmware Esxi ou Citrix XenServer ont bousculé le mode de la virtualisation non seulement par leurs apports technologiques mais aussi par leur offre gratuite de solutions bare metal (c’est-à-dire sans OS à installer et à configurer au préalable) pour mettre en place très simplement et très rapidement des serveurs de virtualisation. Désormais, en moins de 10 minutes et sans aucune compétence système, il est possible de mettre en œuvre un serveur de virtualisation de PC administrable depuis n’importe quel poste du réseau local.

L’éditeur allemand ProxMox (http://www.proxmox.com/) vient de réaliser la même démarche en proposant une distribution libre (GLP2) dédiée à la virtualisation, administrable au travers d’une interface WEB et s’appuyant sur des moteurs de virtualisation Libre en l’occurrence OpenVZ (http://wiki.openvz.org/Main_Page) et KVM (http://www.google.com/search?hl=en&q=kvm).

OpenVZ

OpenVZ est une technique de virtualisation de niveau système d’exploitation fondée sur le noyau Linux. OpenVZ permet à un serveur physique d’exécuter de multiples instances de systèmes d’exploitation isolés, connus sous le nom de serveurs privés virtuels (VPS) ou environnements virtuels (VE).

Comparé aux machines virtuelles telles que Vmware et aux techniques de para virtualisation telles que Xen, OpenVZ offre moins de flexibilité dans le choix du système d’exploitation : le système d’exploitation invité et hôte doivent être de type Linux (les distributions de Linux peuvent être différentes d’une VM à une autre). Cependant, la virtualisation au niveau OS de OpenVZ offre une meilleure performance, une meilleure densité, une meilleure gestion des ressources dynamiques ; bref, OpenVZ est plus économique en ressources système. Selon le site Web de OpenVZ, cette méthode de virtualisation introduirait une très faible pénalité sur les performances : 1 à 3% de pertes seulement par rapport à un ordinateur physique.

OpenVZ est la base de Virtuozzo, un produit propriétaire fourni par SWsoft, Inc. OpenVZ est distribué sous la licence publique générale GNU version 2. OpenVZ comprend un noyau Linux et un jeu de commandes utilisateur.

KVM

KVM (Kernel-based Virtual Machine) est une solution de full virtualization pour Linux et processeurs x86 supportant les extensions (Intel VT ou AMD-V). Pour savoir si votre CPU est compatible avec ces technologies, tapez cette commande :

egrep '(vmx|svm)' /proc/cpuinfo

KVM est un module chargé par le noyau linux (kvm.ko) qui fournit l’infrastructure de virtualisation et les jeux d’instructions spécifiques liés aux processeurs (kvm-intel.ko ou kvm-amd.ko). KVM requiert également un version modifiée de QEMU (http://www.qemu.org/).

Avec KVM, il est possible de simuler plusieurs PC Linux ou Windows. L’équipement matériel de chaque machine est totalement isolé de l’hôte et des autres machines virtuelles tournant sur l’hôte (carte réseau, carte vidéo….).

ProxMox VE

ProxMox Virtual Environment est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle. Il est développé et maintenu par ProxMox Server Solutions GmbH avec un support financier de l’Internet Foundation Austria (IPA). ProxMox VE installe les outils complets du système d’exploitation et de gestion en 3 à 5 minutes.

Ce logiciel est un système à nu. Le terme de système à nu signifie que vous commencez à partir d’un serveur vide et qu’il n’y a donc nul besoin d’installer un système d’exploitation auparavant.

Le logiciel inclut :

  • Système d’exploitation complet (Debian Lenny 64 bits).
  • Partitionnement de disque dur avec LVM2.
  • Noyau ProxMox VE avec support de OpenVZ et KVM.
  • Outils de sauvegarde sans interruption.
  • Interface d’administration par le web.
  • Migration sans interruption des machines virtuelles entre plusieurs serveurs d’un cluster de virtualisation (live migration).

Le matériel recommandé est assez générique pour ce type de serveurs :

  • CPU 64 bits (Intel EMT64 ou AMD64), microprocesseur multi-cœur recommandé.
  • Carte-mère et BIOS compatible Intel VT/AMD-V (pour le support de la virtualisation par KVM).
  • Beaucoup de RAM.
  • Disques durs rapides.
  • Au moins une carte réseau.

Il est à noter que l’installation du logiciel nécessite l’effacement complet des données du serveur. ProxMox VE supporte la construction de fermes de virtualisation, ce qui signifie que des installations multiples de ProxMox VE peuvent être centralisées et contrôlées par l’intermédiaire de la fonction cluster incluse dans l’interface d’administration du logiciel.

ProxMox VE utilise le stockage local ; il n’y a donc nul besoin d’équipement SAN cher mais il est également possible de connecter des espaces de stockage externe au travers des protocoles NFS et ICSCI. ProxMox propose en téléchargement sur son site des images OpenVZ préconfigurées. Il existe une version 32bits de ProxMox mais comme ces CPU ne supportent pas les technologies de virtualisation matérielle requise par KVM, seuls des hôtes Linux seront émulés grâce à la technologie OpenVZ (http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Lenny_on_32-Bit_Processor).

Il est à noter que ProxMox s’installe sur une Debian Lenny 64bits (ou 32bits comme mentionné ci-dessous) si elle dispose d’une couche LVM (Large Volume Manager)

Nous vous proposerons demain le tuto d’installation de cette solution

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

Memento - Centos revenir en arrière après un yum update 2

Memento – Centos revenir en arrière après un yum update

Depuis quelques mois, j’utilise un serveur dédié chez EvxOnline, un très bon hébergeur et très …

Memento - Problème https et certificate error 3

Memento – Problème https et certificate error

J’utilise depuis plus d’un an un outil d’administration de sites web appelé i-MSCP (pour Internet …

30 commentaires

  1. merci pour cet article

  2. Bonjour à tous,
    Je suis en train de tester promox3.3
    J’ai créé 2 CT (Ubuntu14 et SME8)
    Elles fonctionnent et j’en fais ce que je veux sous root.

    Mais, je n’arrive à rien faire au niveau des utilisateurs/groupes promox (sauf root quand même)

    J’ai bien créé des users , mis ces users dans des groupes, je n’arrive pas à ceci :
    par exemple pour la machine ubuntu l’utilisateur et/ou le groupe doit pouvoir
    – Ne PAS changer la config
    – Mais pouvoir arrêter, démarrer, redémarrer

    Un exemple svp.

    Merci d’avance.

    • Un sujet intéressant que nous n’avons pas creusé… je vais m’y coller tiens…
      1ère constatation, la gestion sur les vm en kvm est facile mais moins pour les VM en openvz

      Il faut que je creuse

  3. Bonjour,

    Je cherche une personne qui aurait réussi à installer xpenology en tant que VM dans proxmox.
    Pour ceux qui connaissent, j’ai parfaitement réussi avec Gnoboot + xpe-4458 mais cette version date un peu et il faut Nanoboot pour passer en xpe-4493. Or je n’arrive pas à booter ma VM Nanoboot, disons plutôt qu’elle démarre mais s’arrête au 2ème écran, avec CPU full et aucun signe de vie.
    Une idée ? Merci d’avance.
    Cdlt

    • Moi j’en ai installé une qui marche bien… mais je ne me souviens pas de ce problème. je teste un truc et je mettrais peut-être le disque de départ en ligne..

      • Merci Nicolas,
        ça me dépannerait bien car je suis vraiment coincé et je ne comprends pas pourquoi (rapport à Gnoboot qui démarre sans soucis)

    • Bonjour,
      J’ai trouvé la solution : il suffit de mettre le type CPU (kvm64 par défaut) sur qemu64 ou host (pas testé les autres choix possibles)
      @+

  4. J’ai totalement changé mes objectifs, du coup je suis passé sur un serveur physique.

    Ma configuration :

    – Processeur AMD 3200+
    – 1Go de DDR
    – 1 disques dur de 160Go : disque système
    – 3 disques dur de 1To : RAIDZ
    – 2 disques dur de 2To : RAID1

    Et j’ai aussi rajouté deux cartes contrôleurs PCI 2 ports SATAIII Asrock (Marvell 88SE91xx).
    Je n’avais que 2 ports SATA sur ma carte mère et pour brancher tous les disques il en fallait plus.

    Mais le soucis est que mes deux cartes PCI sont reconnues par la carte mère au démarrage, pas de problème jusque la. Dans mon FREENAS8, elles ont l’air d’être reconnu aussi (je l’ai vu en faisant un DMESG en ssh) :

    atapci1: port 0x5400-0x5407,0x5000-0x5003,0x4800-0x4807,0x4400-0x4403,0x4000-0x400f,0x3800-0x387f irq 17 at device 5.0 on pci0
    atapci1: [ITHREAD]
    ata2: on atapci1
    ata2: [ITHREAD]
    ata3: on atapci1
    ata3: [ITHREAD]
    pcib2: at device 6.0 on pci0
    pci2: on pcib2
    ahci0: port 0xc000-0xc007,0xb800-0xb803,0xb400-0xb407,0xb000-0xb003,0xa800-0xa80f mem 0xddeff000-0xddeff7ff irq 20 at device 0.0 on pci2
    ahci0: [ITHREAD]
    ahci0: AHCI v1.00 with 2 6Gbps ports, Port Multiplier supported with FBS
    ahcich0: at channel 0 on ahci0
    ahcich0: [ITHREAD]
    ahcich1: at channel 1 on ahci0
    ahcich1: [ITHREAD]
    atapci2: port 0xd800-0xd807,0xd400-0xd403,0xd000-0xd007,0xc800-0xc803,0xc400-0xc40f mem 0xddeffc00-0xddeffc0f irq 21 at device 0.1 on pci2
    pcib3: at device 7.0 on pci0
    pci1: on pcib3
    ahci1: port 0x8000-0x8007,0x7800-0x7803,0x7400-0x7407,0x7000-0x7003,0x6800-0x680f mem 0xdddff000-0xdddff7ff irq 16 at device 0.0 on pci1
    ahci1: [ITHREAD]
    ahci1: AHCI v1.00 with 2 6Gbps ports, Port Multiplier supported with FBS
    ahcich2: at channel 0 on ahci1
    ahcich2: [ITHREAD]
    ahcich3: at channel 1 on ahci1
    ahcich3: [ITHREAD]
    atapci3: port 0x9800-0x9807,0x9400-0x9403,0x9000-0x9007,0x8800-0x8803,0x8400-0x840f mem 0xdddffc00-0xdddffc0f irq 17 at device 0.1 on pci1

    Et je peux voir aussi mes deux disques branché directement sur ma carte mère :

    ada0 at ata2 bus 0 scbus2 target 0 lun 0
    ada0: ATA-7 SATA 1.x device
    ada0: 100.000MB/s transfers (UDMA5, PIO 8192bytes)
    ada0: 152627MB (312581808 512 byte sectors: 16H 63S/T 16383C)
    ada1 at ata3 bus 0 scbus3 target 0 lun 0
    ada1: ATA-8 SATA 2.x deviceda0 at umass-sim0 bus 0 scbus8 target 0 lun 0

    Mais après tout ça, quand je veux créer des volumes dans l’interface web, les disques branchés sur les carte PCI ne sont pas affichés.

    Je ne sais pas quoi faire, j’ai cherché sur le net si ça pouvait venir des pilotes de mes carte PCI qui ne sont pas connu dans Freebsd mais je n’ai rien trouvé de bien clair.

    Si quelqu’un aurait une idée et pourrait m’aider.

  5. Je viens de tester, la version Freenas-8-i386 fonctionne avec le controleur SCSI mais la version Freenas-8-amd64 ne fonctionne pas (plantage au début de l’installation, pas possible de sélectionner le disque sur lequel l’installer).

  6. Oui j’ai regardé la solution openfiler mais Freenas me semble la meilleure à mon gout.

    Je veux faire un serveur nas à titre personnel mais je veux monter quelque chose de propre et stable avec plusieurs disques en raid5 ou raidz.

    Je viens d’essayer d’installer FreeBSD-8 avec le contrôleur SCSI et il trouve bien le disque dur, donc normalement FreeNAS-8 devrait faire de même…

  7. olivier olejniczak

    Désolé mais je manque de temps pour traiter ton problème.
    Comme tu le faisais remarque freenas est basé sur BSD et clairement la compatibilité avec Debian/Proxmox risque d’être compliquée à gérer? As-tu considéré utiliser openfiler qui est basé sur RedHat/Centos?
    Pourquoi au juste as tu besoin de freenas?

  8. Pas de problème je t’en pris.
    Je viens de trouver ceci : http://forum.proxmox.com/threads/2732-VIRTIO-drivers-for-FreeBSD?highlight=freebsd

    Apparemment aucun driver VIRTIO n’existerait pour FreeBSD mais peut être qu’un japonais en aurait sortie un… histoire à suivre.

  9. salut,

    dsl du manque de news, pas mal de boulot pour l’instant, je t’avais que je testerais vendredi mais j’ai pas eu le temps.

    Demain j’aurais 5 minutes, je t’envoie un mail pour te dire ce qu’il en est.

  10. Quelqu’un a du nouveau sur l’utilisation des contrôleurs VIRTIO et SCSI avec FREENAS-8 ?
    Personnellement je n’ai toujours pas réussi à faire tourner tout ça ensemble…

  11. William si tu veux que l’on communique par mail ça sera plus simple.
    michaelmontaufier@gmail.com

    Mais ce n’est pas un gros projet que je met en place, c’est une petit infrastructure perso.

  12. Je n’ai pas testé Freenas avec du virtio, je ne faisais que du raid 1 donc pas besoin de trop de disques.

    L’idéale pour l’instant c’est de mettre du scsi, pour ma part je test freenas avec virtio dès demain.

    C’est du freebsd donc il est possible que les drivers virtio ne soit pas intégré.

    Mixos peux tu me dire quel est ton projet vis à vis de proxmox, je suis également en plein projet donc si on peut s’entraider…

  13. J’ai essayé du coup de passer sur des disques VIRTIO, et j’ai un soucis ça ne fonctionne pas avec FREENAS 8.
    J’ai installé une debian 6 et pas de problème mais pour Freenas j’arrive sur l’interface d’installation et je ne peux pas aller plus loin…
    Est ce que quelqu’un aurait une solution ?

  14. Effectivement, merci pour toutes ces explications, c’est beaucoup plus claire pour ma part et cela me permet d’avancer dans mon projet de mise en place de proxmox.

  15. merci pour ces explications limpides!

  16. L’article plus haut explique la différence entre les deux types de VM.

    En clair KVM c’est de la virtualisation style vmware esx, proxmox émule les composants de l’ordi.

    OpenVZ est un isolateur, en clair il garde le même noyau linux pour toutes les vms (linux obligatoirement windows n’ayant pas de noyau) mais la différence se fait un niveau utilisateur.

    Pour les formats, vmdk c’est du Vmware c’est juste histoire de rendre compatible proxmox avec les fichiers vmdk.

    Raw c’est de l’image brut rien d’autre, c’est du stockage de vm pur et dur.

    qcow2 c’est un format d’image intéressant dans le sens ou il permet d’utiliser les snapshots et il consomme moins d’espace disque car il ne rempli que ce qui est utilisé.

    Voila bonne soirée

  17. J’avais deux autres questions :

    Quelles sont les différences entre les types de VM que sont KVM et OpenVZ ?

    Quelles sont les différences entre les formats des VM que sont qcow2, raw et vmdk ?

  18. Cela s’appelle de la para-virtualisation, en fait on passe par un pilote dédié et non générique pour l’accès aux disques.

    Or peut prendre pour exemple, la carte graphique d’un ordinateur, sans driver sous windows 7 l’affichage est possible grâce à des pilotes génériques, mais pour exploiter pleinement la carte notamment en 3d il faut installer les drivers spécifiques au matériel.

    On es dans ce cas la pour le virtio, c’est un standard adopté par proxmox pour les disques et le réseau (tu peux aussi l’activer pour la carte réseau) le pilote qui sera utilisé optimisera le fonctionnement de la vm.

    Sous windows il faut par contre utiliser un pilote spécifique et une manipulation spéciale est à faire tu la trouvera sur le wiki de proxmox.

  19. D’accord je vais essayer ça. En gros tu peux m’expliquer ce qu’est le mode virtio par rapport à l’ide par exemple ?
    Je teste virtio dans la journée et je vous tiens au courant.

  20. Mixos, tu peux passer en mode virtio pour tes disques, en plus de t’apporter un gain de performance cela te permet de mettre bien plus de disques.

    tu n’a rien à faire au niveau configuration depuis le noyau 2.6.25 les drivers virtio sont intégrés.

    Si t’as des questions hésite pas.

  21. Bonjour, voila j’ai installé la dernière version de proxmox 1.8 sortie à ce jour sur un disque dur 100Go, et je voulais installer un serveur FREENAS installer aussi sur le disque dur 100Go mais en machine virtuel. Et j’ai 3 disques dur de 1To et je voulais les monter dans mon Freenas mais le problème est que le contrôleur IDE virtuel de proxmox supporte que 3 disques durs mais en tout j’en ai 4 à brancher.
    Est ce que vous voyez une solution possible ?
    J’ai vu qu’il y avait d’autre type de contrôleur mais je ne sais pas du tout comment m’en servir…

    Merci d’avance pour vos réponses.

  22. olivier olejniczak

    j’avais des soucis pour ouvrir les consoles VNC sous Firefox. Il s’agissait d’un soucis d’intégration JAVA sous Firefox. Voici, la procédure que j’ai suivie:

    download jre-6u3-linux-i586-rpm.bin from http://www.java.com/en/download/manual.jsp to /tmp
    as root
    yum install compat-libstdc++-296 compat-libstdc++-33
    cd /bin
    sh /tmp/jre-6u3-linux-i586-rpm.bin
    ## you will need to accept the license agreement to continue ##
    cd /usr/lib/mozilla/plugins
    ln -s /usr/java/jre1.6.0_03/plugin/i386/ns7/libjavaplugin_oji.so .
    close and reopen firefox if it was open
    go to http://www.java.com/en/download/installed.jsp and click on “VERIFY INSTALLATION”

    (http://www.centos.org/modules/newbb/viewtopic.php?topic_id=11969&forum=37&post_id=39006)

  23. Bah alors Olivier, tu nous refourgues de vieux articles !!! 😉

  24. ah 2009, je croyais que c’était un article récent 😉

    bon bé je confirme c’est passé du cahier des charges à la production, mais je n’ai pas testé 😉

    pour l’instant j’essaie de voir ce que vaut proxmox en VDI pour faire tourner une vm windows XP, accessible en TSE (débridé multi-users 😉 )

  25. je n’ai pas jeté un coup d’oeil à proxmox depuis un moment (j’ai rédigé cet article en décembre 2009!)
    A l’époque, la mise en cluster de HA avec basculement auto était au cahier des charge de proxmox.

  26. Coïncidence, j’ai connu synergeek en discutant ESXi avec Olivier et alors que je mets à Proxmox pour mon nouvel employeur il me fait un nouvel article sur le sujet, si je n’avais pas Olivier il faudrait l’inventer 😉

    En tout cas mon premier retour d’expérience sur proxmox, ça m’a l’air très bien surtout pour de la TPE/PME qui n’a pas une ferme de serveur amis qui veut bénéficier d’autres atouts de la virtualisation, tel que la sauvegarde facilitée, la migration matérielle, etc.

    à noter que proxmox semble s’interfacer avec DRBD, donc en terme de sécurité PRA, ça commence à devenir très intéressant.