Après presqu'un an, et avec un peu d'étonnement, de nouvelles versions des images officielles d'ArchLinux sont disponibles au téléchargement.
Parmi les nouveautés, on citera:
- La mise à disposition d'images pour l'installation à partir de supports USB.
- L'utilisation des UUID pour un nommage persistant des disques.
- L'inclusion de la documentation pour débutant (en anglais).
Concernant le téléchargement, voici des liens vers les torrents:
- Images pour une installation par ftp, elle est de petite taille, mais necessite une connexion internet pour obtenir un système bootable) :
- Image avec le système de base, qui permet donc d'obtenir un système bootable sans connexion internet:
Je conseillerais personnellement l'utilisation des images avec le système de bases, même si on fait une installation par le net ;)
Bon téléchargement ... pour les nouveaux utilisateurs d'ArchLinux. Effectivement une fois installé, il n'y a plus aucune nécéssité de réinstaller le système même pour les mises à jour.
La conférence de ce mois à la GUILDE est sur le thème : Histoire des Unix : de Multics à Linux
Elle aura lieu le Jeudi 15 mai de 19:30 à 22:00
Elle sera présentée par Hans Pufal, président de l'ACONIT
La salle ne change pas : ENSIMAG, amphi E, Campus de Saint Martin d'Hères.
Le plan d'accès : http://www.ensimag.fr/46152163/0/fiche___pagelibre
P.S: Désolé, mais cette fois ci il n'y a pas d'affiche.
Publié il y a 1 année, 10 mois
Étiquettes: ArchLinux, logiciel libre, virtualisation
Étant donné la puissance actuelle des ordinateurs personnels, il est tout à fait possible d'utiliser plusieurs OS en même temps. Cela permet par exemple de jouer avec des livecd, tester des systèmes, utiliser des programme n'existant que sur un OS donné, sans avoir à se prendre la tête avec une solution comme le dual-boot.
Il existe depuis longtemps des solutions d'émulation permettant de faire fonctionner plusieurs OS en même temps (bochs). Cependant l'émulation complète du matériel entraine une perte de performances très importante. Pourtant si l'OS hôte et l'OS invité sont destiné tout les 2 à la même architecture matérielle, il est envisageable d'exécuter directement (ou quasiment) un certain nombre des instructions de l'OS invité sur la machine hôte ... c'est un des principe reprit par la plupart des logiciels de virtualisation existants.
Il existe des solutions qui ont le vent en poupe à l'heure actuelle. Sous Linux on retrouve notamment VMware Workstation, VMware Server Parallels Workstation et SUN xVM VirtualBox ... cependant, je préfère utiliser 2 autres solutions qemu et kvm.
qemu, kvm ... qui sont ces 2 gus ?
qemu et kqemu
qemu ne fait pas de la virtualisation à proprement parler, mais utilise une technique de traduction de code pour atteindre une vitesse d'émulation raisonnable. l'auteur de qemu (aka Fabrice Bellard) a cependant créer un module d'accélération nommé kqemu permettant d'exécuter directement le code des applications fonctionnant en espace utilisateur de l'OS émulè sur le processeur. Ce module transforme donc qemu en une solution de virtualisation.
kvm
kvm est une solution tirant partie des instructions de virtualisation ajoutées aux processeurs x86 par Intel® et AMD®. kvm se présente comme une module noyau utilisé par une version modifiée de qemu.
Pourquoi pas Virtual Box, VMWare, Parrallels ?
Avantages
Selon moi, les avantages de qemu + kqemu et/ou kvm vis à vis des solutions concurrentes sont:
- Simplicité d'installation: ce n'est pas du cliquodrome, mais paradoxalement, je trouve son utilisation en ligne de commande d'une très grande simplicité, et aussi d'une grande souplesse.
- Installation non intrusive: (pas de modules inconnu ou de services supplémentaires à lancer au démarrage). Je me souviens d'une époque où j'utilisais VMWare Workstation, et où tout passage à un noyau d'une version supérieure cassait les modules et services nécessaires à son fonctionnement, en attendant l'arrivée de patchs non supportés par VMWare (qui a parlé de vmware-any-any-update ??). Au moins avec kvm (intégré au noyau à partir de la version 2.6.20) et kqemu je n'ai pas ces soucis.
- LIBRES: contrairement à Parrallels Workstation et VMWare (Server ou Workstation).
- qemu-img : la commande permettant de créer les images de disque dur pour les machines virtuelle, qui est un véritable couteau suisse des formats de disques utilisés par les différentes solutions existantes.
Inconvénients
Les avantages que je trouve dans qemu et kvm ne doivent pas éclipser certains inconvénients (pour certains en tout cas).
- Ligne de commande: les 2 programmes fonctionnent en CLI et sont de ce fait, pour certains moins accessibles que les GUI proposées par les concurrents.
- Mise en œuvre du réseau: bien qu'il soit simple de donner accès au réseau à une machine virtuelle, accèder à cette même machine virtuelle par le réseau à partir de son LAN (machine hôte ou autres machines physiques ou virtuelles), est une autre paire de manche, et nécessite quelques bidouillages.
Installation et utilisation sur ArchLinux
Pré-requis
Pour peu que ce ne soit pas le cas (je ne vois pas trop comment ce serait possible):
pacman -S kernel26
Le noyau vient avec les modules nécessaires pour l'utilisation de kvm si le processeur le supporte.
Les 2 autres pré-requis sont tout aussi simples à satisfaire:
pacman -S kqemu, qemu
Le paquet qemu, est fourni avec le binaire permettant de tirer parti de kvm (binaire nommé qemu-kvm). Quant à l'utilisation de kqemu, elle nécessite l'installation du paquet sus-nommé. Pour utiliser kqemu sur un système 64bits, il faudra bien prendre la précaution d'appeler qemu-system-x86_64.
Le cas de kvm
L'utilisation de kvm nécessite un processeur Intel® ou AMD® supportant la virtualisation. Pour vérifier que c'est le cas de votre processeur, il suffit d'entrer la commande suivante dans un terminal:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Si cette commande retourne un affichage à l'écran, vous pouvez utilisez kvm, sinon, vous devez vous contentez de qemu et kqemu.
Il va falloir aussi charger les modules au démarrage. On modifie donc notre /etc/rc.conf. Les modules à charger diffèrent selon que le processeur est de marque Intel® ou Amd®.
Pour les processeurs Intel®, on charge le module:
kvm-intelPour les processeurs AMD® on charge le module:
kvm-amd
Utilisation basique
Je vais décrire une utilisation basique d'une machine virtuelle dans laquelle je souhaite installer la dernière version (à la date de la rédaction) de fedora (en).
La première chose à faire lorsque l'on souhaite utiliser une machine virtuelle est de créer un disque dur virtuel (sauf si l'on test un livecd ou si on utilise une partition physique). La création de cette image disque se fait avec la commande qemu-img:
qemu-img create -f qcow2 ~/vm/fedora-00.img 20G
Une fois le disque créer il faut lancer la machine virtuelle. Dans cet exemple il s'agit d'une machine virtuelle connecté au net disposant de 512Mo de RAM.
Lors du premier lancement il peut être intéressant de procéder à l'installation d'un OS. On lance donc la machine avec l'image ISO du disque d'installation de l'OS en question, et on exige un boot de la machine virtuelle sur le cdrom:
qemu avec kqemu (sur arch64)
qemu-system-x86_64 -kernel-kqemu -boot d -m 512 -net nic -net user -cdrom ~/isos/Fedora-9-Beta-i386-DVD.iso ~/vm/fedora-00.imgkvm
qemu-kvm -boot d -m 512 -net nic -net user -cdrom ~/isos/Fedora-9-Beta-i386-DVD.iso ~/vm/fedora-00.img
Une fois l'installation du système d'exploitation sur la machine virtuelle achevée, il n'est plus nécessaire de monter l'image du cdrom dans la machine virtuelle, ni de préciser le boot sur cd, on pourra donc se contenter de démarrer la machine virtuelle par la commande:
qemu avec kqemu (sur arch64)
qemu-system-x86_64 -kernel-kqemu -m 512 -net nic -net user ~/vm/fedora-00.imgkvm
qemu-kvm -m 512 -net nic -net user ~/vm/fedora-00.img
Pour aller plus loin
Documentation
Quelques liens concernant qemu et kvm:
- La documentation officielle de qemu: http://fabrice.bellard.free.fr/qemu/qemu-doc.html (en)
- La FAQ de qemu : http://kidsquid.com/cgi-bin/moin.cgi/FrequentlyAskedQuestions (en)
- La FAQ de kvm est aussi un très bon endroit pour trouver des renseignements : http://kvm.qumranet.com/kvmwiki/FAQ (en)
- La page de qemu sur le wiki archlinux: http://wiki.archlinux.org/index.php/QEMU (en)
- La page de qemu sur le wiki de archlinux.fr: http://wiki.archlinux.fr/howto:virtualisation:qemu?s=qemu
- L'incontournable wikipedia : la page de qemu et la page de kvm.
Interface graphique
Il existe un certain nombre de GUI pour qemu, mais si je ne devais en retenir qu'une ce serait : Qemulator dont voici quelques captures d'écran (lachement copiées du site web):
Réseau
Pour une mise en réseau plus sophistiquée, on pourra regarder du coté de ces 2 projets:
- bridge-utils: permettant de partager une interface réelle entre plusieurs interfaces virtuelles.
- virtual distributed ethernet.
À suivre ...
S'en est fini de ce (long) billet. La suite dans un article à suivre ou je présenterais plus en détails la façon dont j'utilise qemu, à savoir :
- Lancement des machines virtuelles au démarrage.
- Indépendance vis à vis d'un serveur X sur l'hôte.
- Visualisation distante.
Le contexte
Alors que ma tour fonctionne tout à fait normalement, les symptômes suivant apparaissent:
- Impossibilité d'ouvrir de nouveaux shells
- Les connexions SSH fonctionne (le message du jour s'affiche), mais pas de prompt.
- Certains programmes en fonctionnement, se mettent à ralentir ou ne plus répondre.
La question
Quelqu'un connait-il la cause possible de ce plantage qui commence par le message suivant dans les logs du système :
May 6 09:25:26 melody upsd[7219]: Data for UPS [slubups] is stale - check driver
May 6 09:25:27 melody upsmon[6548]: Communications with UPS slubups@localhost lost
May 6 09:25:29 melody upsmon[7223]: Communications with UPS slubups@localhost lost
May 6 09:25:31 melody upsd[7219]: UPS [slubups] data is no longer stale
May 6 09:25:32 melody upsmon[6548]: Communications with UPS slubups@localhost established
May 6 09:25:34 melody upsmon[7223]: Communications with UPS slubups@localhost established
May 6 09:50:22 melody kqemu: aborting: Paging exception in monitor address space. CR2=0xf13f9080
May 6 09:50:22 melody err=0003 CS:EIP=f180:00000000f0003c28 SS:SP=0000:00000000f00c8e80
May 6 09:50:53 melody kqemu: aborting: Paging exception in monitor address space. CR2=0xf13f9080
May 6 09:50:53 melody err=0003 CS:EIP=f180:00000000f0003c28 SS:SP=0000:00000000f00c8e80
May 6 10:54:14 melody upsd[7219]: Data for UPS [slubups] is stale - check driver
May 6 10:54:17 melody upsmon[6548]: Communications with UPS slubups@localhost lost
May 6 10:54:19 melody upsmon[7223]: Communications with UPS slubups@localhost lost
May 6 10:56:46 melody kontact D 0000000000000000 0 19102 1
May 6 10:56:46 melody ffff8101a3b29d78 0000000000000082 0000000000000282 0000000000000003
May 6 10:56:46 melody ffffffff805a9c80 ffff8101b83fcf60 ffff810230cd6000 ffff8101b83fd190
May 6 10:56:46 melody 000000033fcd4000 ffffffff80245814 ffff8101b83fd190 ffff8101a3b29d88
May 6 10:56:46 melody Call Trace:
May 6 10:56:46 melody [<ffffffff80245814>] lock_timer_base+0x34/0x70
May 6 10:56:46 melody [<ffffffff80245afd>] __mod_timer+0xbd/0xe0
May 6 10:56:46 melody [<ffffffff8045d078>] schedule_timeout+0x58/0xd0
May 6 10:56:46 melody [<ffffffff80245400>] process_timeout+0x0/0x10
May 6 10:56:46 melody [<ffffffff8045d073>] schedule_timeout+0x53/0xd0
May 6 10:56:46 melody [<ffffffff88076fbc>] :jbd:journal_stop+0xbc/0x200
May 6 10:56:46 melody [<ffffffff802c532c>] __writeback_single_inode+0x33c/0x470
May 6 10:56:46 melody [<ffffffff80251cf0>] autoremove_wake_function+0x0/0x30
May 6 10:56:46 melody [<ffffffff802c548b>] sync_inode+0x2b/0x50
May 6 10:56:46 melody [<ffffffff88087ee3>] :ext3:ext3_sync_file+0x93/0xa0
May 6 10:56:46 melody [<ffffffff802c8ff9>] do_fsync+0x69/0xf0
May 6 10:56:46 melody [<ffffffff802c90ae>] __do_fsync+0x2e/0x50
May 6 10:56:46 melody [<ffffffff8020c59a>] system_call_after_swapgs+0x8a/0x8f
May 6 10:56:46 melody
Et dont l'évolution complète est visible dans ce fichier : freeze-20080506-00.txt
Je suis à l'écoute de toute piste/explication de ce comportement.
C'est parti du planet fedora, mais après tout, je peux aussi donner le mien
$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head
150 screen
64 ssh.ashley
41 cd
40 su
40 man
28 ls
17 env
16 vi
15 mpc
15 irssi














![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://media.slubman.info/valid-atom.png)