Maniatux's Blog

Welcome to the internet

Linux

Mon serveur sous LXC

Rédigé par Xavier - - Aucun commentaire

Je m'auto-héberge pour beaucoup de choses sauf ce blog, et j'ai très souvent changé l'OS ou le matériel au cours de ces dernières années. En 2010 je débutais avec un Alix équipé d'un processeur AMD à 500Mhz. Il fonctionnait sur Debian. Je suis passé un peu plus tard sous NetBSD puis OpenBSD. Par la suite, ayant décidé de changer mon ordinateur personnel, mon ancien (dell inspiron 9400) fut disponible pour faire office de serveur et m'offrit la possibilité de faire de la virtualisation. Après m'être posé la question du choix de l'OS, j'ai finalement retenu CentOS. La machine étant trop "présente" (bruit+chaleur+consommation) je suis rapidement revenu sur l'Alix avec OpenBSD.

Étant actuellement dans l'optique d'installer une infrastructure réseau propre avec une DMZ, j'ai décidé de remanier une nouvelle fois mon serveur. C'est toujours un mini-PC, Intel D945GSEJT mais cette fois équipé d'un processeur Atom avec 1GB de ram ce qui me laisse un peu plus de marge dans le choix des technologies.

J'ai retenu LXC pour gérer la séparation des rôles, car étant intégré au kernel linux et en pleine expansion. J'ai retenu Ubuntu 12.04 server comme système d'exploitation, car je l'ai trouvé meilleur au niveau de la gestion de LXC :

  • Fedora 17 : n'offre pas de template
  • Debian 7 : les templates ont des bugs
  • Ubuntu 12.04 : les templates sont parfaits, le réseau est créé automatiquement (de type "routed")

J'ai actuellement mis en place 4 systèmes-invités à partir du template ubuntu, ce qui donne ceci :

Le serveur ne fait qu'un léger bruit, celui du HDD 2,5", mais il est largement supportable on peut très bien dormir dans la même pièce. Chaque VPS dispose de sa propre adresse IP et fournit les rôles définis : SMTP, XMPP, HTTP, DNS.

Ce qu'il reste à faire

Je n'ai actuellement pas de dispositif de sauvegarde, ce qui peut m'être fatal en cas de panne matérielle. J'ai prévu d'étudier backupninja et bacula, pour voir quelle solution me permet de gérer le plus facilement et efficacement possible les sauvegardes des données sur mes VPS.

Aperçu de oVirt

Rédigé par Xavier - - Aucun commentaire

J'ai souvent parlé de Linux-KVM en citant parfois des défauts qui peuvent lui être préjudiciables. Ils ne se trouvent pas dans la technologie elle-même mais plutôt dans les outils d'administration peu fiables (virt-manager) voir inexistants qui demandent alors beaucoup de bidouilles lorsque l'on veut s'en servir sérieusement et durablement.

Red Hat travaille beaucoup sur l'amélioration de l'écosystème KVM et semble avoir compris les problématiques et les enjeux. En effet pour pouvoir lutter contre les solutions VMware qui sont pour beaucoup des références, ils créent des nouveaux outils dans le but de faire de KVM une solution d'entreprise et non de bidouilleur.

Présentation

oVirt est la branche opensource et gratuite de RHEV (RedHat Enterprise Virtualization). Cette solution offre un système de gestion d'un cluster de virtualisation similaire à VMware vCenter. Il utilise des technologies connues : VirtIO, libvirt, kvm, spice. L'interface utilisateur est une application JBoss (accessible en web) utilisant une base de données postgresql.

oVirt est défini en deux parties : engine qui est l'application elle-même, et node qui est en fait un hyperviseur membre du cluster que nous mettons en place. Schématiquement, voici ce que cela donne :

Les instructions d'installation peuvent être trouvées sur cette page et ce PDF. Le plus simple est d'utiliser Fedora 16 sur la machine où nous allons installer oVirt Engine, tout simplement car un dépôt rpm est proposé et facilite grandement les choses. Concernant oVirt Node, il suffit de récupérer une image ISO et de l'installer sur la machine qui servira d'hyperviseur. Voici un aperçu de l'interface oVirt (cliquez pour agrandir) :

Le stockage se fait sur un serveur NFS ou une baie SAN (connexion iScsi). La documentation détaille tout.

Fonctionalités

Cette page liste les fonctionnalités proposées à l'heure actuelle. Je passe sur les détails techniques comme le nombre de vcpu pour parler plutôt des services fournis.

Datacenter

  • Administrer un cluster d'hyperviseurs
  • Proposer une interface graphique complète
  • Faciliter la mise en place des machines virtuelles et leur migration à chaud
  • Assurer si besoin une haute disponibilité
  • Faciliter la centralisation du stockage des supports
  • Faciliter le p2v

Utilisateur

  • Proposer un portail utilisateur pour se connecter à son bureau (plugin SPICE mozilla)
  • Virtualisation desktop pour clients légers grâce au protocole SPICE (support USB)
  • Technologies d'optimisation du réseau pour limiter les latences dans l'affichage

Ma conclusion

oVirt est clairement de la catégorie artillerie lourde puisqu'il faut pas moins de 3 serveurs physiques au minimum pour mettre en place l'infrastructure. De plus, l'engine (qui propose l'interface web) est très gourmand en mémoire, les spécifications recommandent 4GB. Celui qui a besoin d'un unique hyperviseur se tournera donc vers des solutions plus légères et mieux adaptées comme Proxmox.

Néanmoins, pour une entreprise qui veut virtualiser une dizaine (ou plus) de serveurs, oVirt semble une excellente solution. Il est possible de se tourner vers RHEV pour obtenir la version commerciale avec du support pour plus de pérennité.

J'espère grandement avoir un jour l'occasion de travailler avec oVirt/RHEV en situation réelle.

Windows 8 : une prochaine ouverture pour Ubuntu ?

Rédigé par Xavier - - Aucun commentaire

Vous n'avez probablement pas échappé aux nombreuses actualités concernant Windows 8. Avec cet OS Microsoft va imposer par la force de nombreux changements ergonomiques. Les mots ne sont pas exagérés, car comme d'habitude toutes les machines du commerce seront vendues sous cet OS, il n'y aura pas de possibilité de revenir en arrière. Et si vous n'aimez pas leur interface Metro, tant pis pour vous, Microsoft est en train de tout faire pour bloquer les petits malins qui veulent restaurer le menu démarrer.

Windows 8 sera un Vista 2, tout le monde prédit un front de résistance des utilisateurs qui prendra du temps à se briser (mais ce sera le cas grâce à la vente liée). Il y aura donc une ouverture pour faire entrer Ubuntu dans les ordinateurs du grand public,tout comme en 2007-2008. Je pense aussi que l'autre entreprise qui va se frotter les mains c'est Apple, ils ont parfaitement imposé leurs smartphones et tablettes, ce front anti-Windows leur permettra de boucler la boucle en vendant également des ordinateurs.

Il est certain que la plupart des utilisateurs vont préférer "downgrader" leur machine vers Windows 7 plutôt que se tourner vers Ubuntu, mais je prédis tout de même un afflux de nouveaux arrivants dans le monde Linux. Nous pourrons probablement le mesurer grâce aux install-party, aux journaux et à la blogosphère. Ubuntu 12.04 étant à mon sens plutôt réussie, surtout au niveau stabilité, il faut continuer dans ce sens pour pouvoir accueillir et satisfaire durablement ces futurs visiteurs.

Le réseau "bridged" facilement sur KVM depuis Fedora 17

Rédigé par Xavier - - Aucun commentaire

Si il y a une chose qui a toujours été compliquée sur la virtualisation KVM, c'est de faire un pont-réseau (Bridge) c'est à dire faire comme si votre machine virtuelle était branchée physiquement au réseau (on peut ainsi mettre une IP sur le même réseau que les autres et se passer de NAT ou routage). Il fallait faire des manipulations sur l'hôte pour mettre en place le pont, cela changeait selon les OS, bref c'était un peu fastidieux.

Depuis Fedora 17, une nouvelle fonctionnalité, "macvtap" qui permet d'automatiser toute cette opération un peu comme sur VirtualBox. Il suffit de sélectionner, en périphérique source, Périphérique hôte p4p1 : macvtap en remplaçant p4p1 par le nom de votre carte réseau.

Une excellente chose qui va faciliter la vie de beaucoup de gens !

Pour la virtualisation, ce sera CentOS

Rédigé par Xavier - - Aucun commentaire

Suite à mon article précédent, j'étais parti sur une solution Proxmox pour mon hyperviseur. Cependant je me suis rapidement énervé sur l'applet VNC en Java qui permet d'avoir l'affichage des machines virtuelles. Il est lent (impossible d'attraper le grub d'une VM), rigide, et fait régulièrement planter Firefox. Ragequit.

C'est donc CentOS 6.2 x86_64 qui est venu remplacer Proxmox sur l'ordinateur. La console distante virt-manager est sur mon notebook en archlinux. Les deux semblent plutôt bien se marier puisque je n'ai eu que 3 crashs en un weekend (ce qui est un miracle pour virt-manager).

J'ai actuellement deux VM (je vous laisse deviner d'où viennent les noms) :

  • Shadowbroker : serveur mail (Postfix + dovecot) sur CentOS 6
  • Harbinger : serveur jabber (prosody) sur Debian Squeeze

La mise en place du serveur mail sous CentOS est intéressante à faire, notamment à cause de SELinux que j'ai choisi de ne pas désactiver cette fois. Cela fera l'objet d'un article très prochainement.