Articles taggés Linux
Virt-installer : que c’est beau
3J’ai décidé de migrer mes deux petits serveurs perso vers des VMs. Online.net – dedibox – propose des offres intéressantes à moindre coût. J’ai donc sauté sur l’occasion de jouer avec KVM
Première étape : installer l’hôte (qui accueillera les VMs). J’ai décidé de lui allouer 6Go (sur mes 2To) pour une debian squeeze – stable. Rien de complexe, tout va pour le mieux. Étape suivante, voir ce qu’il y a de plus pragmatique pour gérer du xen sur une « micro » infrastructure. Si j’avais 4 serveurs de virtualisation, je serai allé voir du côté d’Ovirt, convirt, xenman ou autre interface web de gestion des VMs. Mais là j’ai un seul hôte qui accueillera maximum 5 machines (et encore).
Le plus proche de mon attente semble être virsh/virt-install basés sur la libvirt. Je lis quelques tutos, tous parlent de bridge. Hors chez online.net, faire du bridge c’est soit interdit, soit complexe… Donc je pars sur du NAT (ce que je ne voulais pas au début, mais après quelques lectures, ça présente quelques avantages. Lest « HowTo » sur virt-install et du nat, c’est quasiment introuvable. Donc j’ai cherché 15 bonnes minutes avant de trouver comment gérer le réseau. En effet l’erreur était :
ValueError: Virtual network ‘mon_reseau_interne’ does not exist: Network not found: no network with matching name ‘mon_reseau_interne’
Ou, si lancé avec virt-install –prompt :
ValueError: Virtual network ‘default’ has not been started.
Donc après quelques minutes, on se rend compte que le réseau « default » est définit ici : /etc/libvirt/qemu/networks/default.xml
Mais l’information utile est qu’il faut le démarrer avant toute installation :
# virsh net-start default
Network default started
Bonheur et liberté, je peux maintenant installer mes VMs sur un réseau interne qui accède à internet. Petit tips qui, je l’espère, pourra faire gagner quelques minutes aux lecteurs.
L’adresse qui donne toutes les infos sur les réseaux dans libvirt (afin de pouvoir démarrer automatiquement le réseau etc) : http://wiki.libvirt.org/page/VirtualNetworking
Preseed ta Debian !
3L’idée est d’automatiser l’installation d’une Debian à l’aide de l’outil preseed. Cet outil est inclus en standard dans la distribution Lenny. Ce qui suit pourra être appliqué sur les distributions dérivées comme Ubuntu. Je m’appuie sur une distribution Debian Lenny standard depuis une ISO netinstall du système (architecture 64 bits).
Pour récupérer l’ISO, au choix:
- Sur le site officiel Debian avec choix d’architecture;
- Le lien direct utilisé pour cet article.
Extraction de l’ISO Debian
L’extraction du contenu de l’image CDROM s’effectue à l’aide de l’outil bsdtar. L’ISO est ensuite simplement extrait à l’aide des commandes suivantes:
# ls debian-505-amd64-netinst.iso # mkdir debian-505-adm64 # bsdtar -C ./debian-505-adm64 -xf ./debian-505-amd64-netinst.iso
Création du fichier preseed
Je m’appuie sur la documentation en ligne proposée sur le site de la communauté Debian. Je n’aborde pas la création du fichier preseed. C’est en effet un travail qui peut être assez long et fastidieux. Mais voici tout de même le fichier preseed.cfg que j’utilise.
Ce fichier décrit toutes les réponses automatisées de l’installateur Debian. Dans mon cas, je n’ai pas automatisé la configuration réseau. De plus, à la fin de l’installation, preseed exécutera automatiquement un script de post-installation.
Reconstruire l’initrd
Lorsque le CDROM de Debian bootera, le fichier preseed.cfg sera automatiquement lu par l’installateur Debian. Pour cela, le plus simple reste de reconstruire le fichier initrd.gz du cdrom, en y incluant ce nouveau fichier.
# cd debian-505-amd64 # chmod u+w debian-505-amd64/install.amd # cp debian-505-amd64/install.amd/initrd.gz debian-505-amd64/install.amd/initrd.gz.org # chmod u-w debian-505-amd64/install.amd debian-505-amd64/install.amd/initrd.gz.org
Ensuite, j’extrais le contenu du fichier initrd.gz dans un répertoire temporaire:
# mkdir initrd # cd initrd # gunzip -c ../debian-505-amd64/install.amd/initrd.gz.org" | cpio -id
J’y place le fichier preseed.cfg, et je reconstruis l’archive:
# cp /path/to/preseed.cfg ./ # find . | cpio --create --format='newc' | gzip > ../initrd.gz
Une fois le fichier reconstruit, il ne reste plus qu’à le replacer dans le répertoire d’origine:
# cd .. # chmod u+w ./debian-505-amd64/install.amd ./debian-505-amd64/install.amd/initrd.gz # cp ./initrd.gz ./debian-505-amd64/install.amd/initrd.gz # chmod u-w ./debian-505-amd64/install.amd ./debian-505-amd64/install.amd/initrd.gz
Reconstruire l’ISO Debian
Dans un premier temps, il faut absolument recalculer les sommes MD5 des nouveaux fichiers sur le CD-ROM. C’est le fichier md5sum.txt qui contient l’ensemble des données.
# ./debian-505-amd64 # md5sum `find ! -name "md5sum.txt" ! -path "./isolinux/*" ! -name "debian" -follow -type f` > ./md5sum.txt
Et enfin, la commande ci-dessous ne s’invente pas, mais elle permet de reconstruire l’ISO et le rendre bootable:
# mkisofs -o ./debian-505-amd64-netinst-custom.iso \ -V di`date -u +%m%d%H%M%S` \ -r -J -no-emul-boot -boot-load-size 4 -boot-info-table \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ ./debian-505-amd64
Voilà! Cette ISO permet d’automatiser l’installation de votre système Debian, de manière totalement personnalisée grâce au fichier preseed.cfg, idéal pour des installations en masse ou sur de l’embarqué.
Un peu de lecture supplémentaire
Cet article est adapté du document d’origine, de moi même, disponible ici.
Avahi et .local
0Symptôme classique : un problème qui paraît sans solution…
Il y a deux jours, j’essaie simplement de résoudre l’adresse machine.domaineclient.local sur le réseau d’un client. Le client m’indique que ca fonctionne bien sur sa machine, pas sur la mienne…
Réaction directe : vérifier le serveur DNS. Le « domaineclient.local » est bien définit dans le serveur DNS… Mauvaise piste.
Sous Windows pas de soucis, sous ma Fedora, sous leur Mac : ça ne marche pas. Je contourne temporairement avec le fichier /etc/hosts mais ça n’est pas satisfaisant.
En fait, c’est zeroconf (ou assimilé) qui indique que « .local » est réservé pour la résolution de machines non enregistrées sur le domaine. Et comme j’utilise avahi, ma machine essayait de trouver une machine qui se serait définie comme machine.domaineclient sans être enregistrée sur le réseau.
Pour faire court :
Si vous ne parvenez pas à résoudre un nom DNS défini dans votre Bind, que ce nom se termine en .local , rien de plus simple, il suffit d’effectuer cette manipulation sur votre poste de travail :
/etc/init.d/avahi-daemon stop
Bon après, il faudra bien sûr changer cette configuration pas « Zeroconf-Compliant » de votre DNS et ne plus utiliser « .local » comme TLD.
DRBD intégré dans notre noyau adoré
0En cherchant comment ajouter de manière dynamique des volumes à un cluster DRBD, je suis tombé là dessus :
http://apache.sys-con.com/node/1217310
Linus a donc décidé d’intégrer le support de DRBD dans le noyau. C’est une excellente nouvelle, surtout quand on connaît la qualité de ce logiciel.
Pour rappel, DRBD est un outil de réplication de block à travers le réseau. Ceci permet de faire de la haute dispo sur des couches extrêmement basses. Je vous renvois vers l’article de Wikipedia sur le sujet.
Rendez-vous donc au noyal 2.6.33 pour tester cette inclusion!
Comment tester Windows 7 pendant 2 semaines, grâce à Gentoo…
0Titre trollesque, mais c’est exactement ce qui m’est arrivé. Il y a un peu plus de deux semaines, je voulais mettre à jour ma Gentoo, et hélas, mes « emerge -avtuND world » me remontaient tout le temps des paquets bloquants. J’avais beau passer par les « trucs » que je connaissais pour essayer de m’en sortir, rien y faisait. Pensant m’en sortir en étant un peu plus barbare avec le sort de certains ebuild, je me suis retrouvé avec un système qui refusait de booter.
Pour ceux qui ne connaissent pas [Gentoo|www.gentoo.org|en], je fais un léger rappel : c’est une distribution Linux, dont on compile l’ensemble des outils que l’on souhaite installer (de la libC jusqu’à GNOME). Le système étant complètement paramétrable, on peut l’optimiser au petits oignons : on peut par exemple activer, ou pas, le support de KERBEROS dans le serveur OpenLDAP… Bref, qui dit système entièrement « compilable », dit temps d’attente suffisamment long pour aller regarder un reportage sur Arte, le temps que le « paquet » souhaité soit installé.
Étant assez chargé par mon travail, et ma Gentoo me prenant plusieurs heures pour l’installer, je ne pouvais le faire qu’un week-end. Donc, tous les soirs, j’avais au choix : utiliser un liveCD ou… Windows 7, que j’avais pré-commandé au mois de Juillet. Et bien ce fut avec ce dernier que j’ai passé les soirées de mes deux dernières semaines. Mon expérience m’a permis de me faire une idée -rapide- sur ce nouvel OS de Microsoft, et il n’est hélas pas très positif…
Alors oui, il y a quelques trucs fort sympathiques, comme la pré-visualisation des fenêtres dans la barre des taches, que l’on peut fermer directement par une petite croix. L’interface est assez belle (du moins, dans mes gouts), eye-candy quoi, bien mieux que le thème « play-skool » fournit par défaut avec Windows XP.
Mais certains défaux, qui ont fait (et font) l’histoire des Windows sont toujours présents : les redémarrages obligatoires dès qu’on installe le moindre outil touchant des couches bas niveaux, des lenteurs qui ne s’expliquent pas (le disque dur qui gratte, ralentissant violemment le système, alors qu’aucun process ne semble s’affoler dans le gestionnaire de tâches), du matos « basique » non reconnu sans drivers (une Hauppauge PCI Nova-T). Moi qui ai plutôt tendance à dire aux gens voulant acheter du matos de vérifier la compatibilité avec linux, mais la preuve est, avec cette carte, que c’est parfois l’inverse qui se passe. Le fait de devoir -la plupart du temps- télécharger un driver pour faire fonctionner du matériel sous Windows semble invraisemblable quand on vient du monde Linux (qui supporte nativement plus de matos que NT 6.1). Alors oui, on peut aller chercher le drivers adéquat pour Se7en, mais c’est bien dommage que du matos grand publique ne soit pas supporté directement dans le noyau. Encore un avantage de l’OpenSource?
J’étais quand même bien content d’avoir mon Windows Se7en sous la main pour sauvegarder les n° et RDV enregistrés dans mon Samsung U600 qui commence à rendre l’âme (ça sent l’Android tout ça…). Ah mais… ben non en fait. Après m’être un peu galéré pour installer les drivers du câble USB Samsung, et du téléphone (il n’y a pas encore de version pour Se7en…), le logiciel (PC Studio) s’est montré complètement buggé, avec des fichiers d’export vides. Le seul moyen que j’ai trouvé pour sauvegarder mes contacts, a été de les sauver au format XPS (sorte de PDF mixé Microsoft)… Très pratique donc pour les réimporter… Cette nouvelle expérience me montre une fois de plus que les produits proprios ne sont pas forcement de bonne qualité, et que leur équivalent (en terme de placement technologique/publique) en libres, sont souvent meilleurs, si tant est qu’ils existent.
J’ai pris le temps aujourd’hui pour réinstaller correctement ma Gentoo. Gnome est en cours d’installation (il me reste encore ~200 ebuild à compiler sur 458). Je vais enfin pouvoir revenir à un vrai OS, stable, qui gère nativement mon matos. Je dis souvent qu’il ne faut pas cracher dans la soupe, et vu comment je critique généralement Windows, alors qu’il m’a quand même dépannée pendant 2 semaine, je conclurai par un extrait (le plus connu certainement) de « L’art de la guerre », de Sun Tzu :
Connais ton ennemi et connais-toi toi-même; eussiez-vous cent guerres à soutenir, cent fois vous serez victorieux.
Si tu ignores ton ennemi et que tu te connais toi-même, tes chances de perdre et de gagner seront égales.
Si tu ignores à la fois ton ennemi et toi-même, tu ne compteras tes combats que par tes défaites.