Debian logo [inetdoc.LINUX]

8. Optimisation d'une machine virtuelle

Cette section est commune aux deux solutions de virtualisation QEMU et KVM. Il s'agit d'un catalogue de quelques trucs et astuces permettant d'optimiser l'usage d'une instance virtuelle de système d'exploitation.

8.1. Optimisation d'instance Debian GNU/Linux

Pour optimiser une machine virtuelle Debian GNU/Linux on commence par travailler sur le gestionnaire de paquets.

  • Le paquet deborphan recherche les paquets orphelins installé sur le système. Les paquets trouvés ne sont pas nécessaires au fonctionnement des services installés ; on peut donc les supprimer sans problème pour gagner de la place disque.

    Le résultat de la commande suivante montre que le «ménage» a été fait.

    # apt-get remove --purge $(deborphan)
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    
  • Le paquet localepurge efface tous les fichiers de «localisation» (langues étrangères) inutiles sur le disque système. C'est un script appelé automatiquement à chaque requête APT ou dselect.

    La fin du fichier de configuration /etc/locale.nopurge donne les paramètres des fichiers de localisation à conserver.

    # tail /etc/locale.nopurge
    #####################################################
    # Following locales won't be deleted from this system
    # after package installations done with apt-get(8):
    
    en
    fr
    fr_FR.UTF-8
    
  • Pour terminer, il ne faut pas oublier de purger le répertoire de stockage des paquets téléchargés (/var/cache/apt/archives/) avec la commande apt-get clean pour libérer de l'espace disque dans la partition /var.

Une fois la problématique de l'occupation disque traitée, on passe aux condition («de confort») d'utilisation de la console distante de la machine virtuelle.

  • Le paquet gpm permet d'utiliser la souris en mode console pour effectuer les opérations du type copier/coller.

  • Les paquets console-data et console-setup permettent de gérer les codes de touches clavier, les jeux de caractères et les polices en mode console. Que l'on utilise le mode natif ou le gestionnaire de terminal de type VNC de QEMU, il est important de disposer d'un jeu de caractères et d'un affichage cohérent.

    La reconfiguration du paquet console-data avec la commande # dpkg-reconfigure -plow console-data permet de sélectionner les options suivantes :

    Politique de gestion des codages clavier :Choisir un codage clavier pour votre architecture

    Disposition générale du clavier :azerty

    Disposition du clavier :French

    Variante du clavier :Same as X11 (latin 9)

    La reconfiguration du paquet console-setup avec la commande # dpkg-reconfigure -plow console-setup permet de sélectionner les options suivantes :

    Modèle du clavier :Generic 105-key (Intl) PC

    Origine du clavier :France

    Disposition du clavier :France - (Legacy) Alternative

    Touche de remplacement d'AltGr :Touche Alt de droite

    Touche « compose » :Pas de touche « compose »

    Codage de la console :UTF-8

    Jeu de caractères devant être pris en charge par la police de la console :# latin1 et latin5 : langues de l'Europe de l'ouest et turc

    Police de caractères pour la console :Fixed

    Taille de la police :18

    Consoles virtuelles utilisées :/dev/tty[1-6]

Toujours dans la catégorie «confort», la gestion de l'interface graphique suppose une petite manipulation manuelle pour définir la résolution de l'écran. Sur un système réel, les échanges entre les bibliothèques X.Org, la carte graphique et l'écran permettent de déterminer de façon sûre les résolutions supportées. Dans le cas d'un instance virtuelle de système d'exploitation, ces échanges ne peuvent pas être complets. Avec les solutions KVM/QEMU, la carte graphique est émulée.

$ lspci |grep VGA
00:02.0 VGA compatible controller: Cirrus Logic GD 5446

Le seul dispositif non virtualisé de la configuration, c'est l'écran. Il nous reste donc à définir ses caractéristiques dans le fichier de configuration principal X.Org : /etc/X11/xorg.conf.

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "fr"
        Option          "XkbVariant"    "latin9"
        Option          "XkbOptions"    "lv3:ralt_switch"
EndSection

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        DefaultDepth    16 1

        Subsection "Display" 2
          Depth         16
          Modes         "1600x1200" "1280x1024" "1024x768" "800x600"
        EndSubSection
EndSection

1

En ajoutant cette instruction, on limite la profondeur de couleur à 16 bits. Vu le modèle de carte émulé, il n'est pas nécessaire de chercher à «pousser» les performances graphiques trop loin.

2

C'est cette sous-section "Display" qu'il est nécessaire d'ajouter manuellement au fichier de configuration. Elle sert à définir le jeu des résolutions graphiques à tester lors de l'initialisation de l'interface graphique X.Org