M-r-virtualbox-hote

<Retour

Les machines virtuelles sont installées sous l'utilisateur "virtual", avec un mot de passe compliqué. Les administrateurs peuvent accéder au compte par su, sans avoir à donner de mot de passe.

Démarrage

Il faut prévoir le démarrage des serveurs virtuels au boot de l'hôte

 VBoxHeadless -startvm s-r

S'il faut les démarrer à la main, utiliser

 nohup VBoxHeadless -startvm s-r &

depuis une session ssh. Pour le démarrage automatique, créer "/etc/init.d/after.local" et le placer en fin de boot dans les services.

Il faut prévoir l'arrèt d'urgence

 VBoxManage controlvm s-r acpipowerbutton

en cas de coupure de courant signalée par l'onduleur.

Arrêt volontaire

Passer administrateur sur le mulet-reborn (sudo -c), puis utilisateur virtual (su virtual).

On liste les machines allumées avec

 VBoxManage list runningvms

Pour l'instant la seule machine est Savage-Reborn ("s-r").

Pour arréter la machine temporairement, c'est à dire avec l'intention de la relancer très vite ou de la sauvegarder, faire:

 VBoxManage controlvm s-r savestate

L'état de la machine est "figé"

 VBoxManage controlvm s-r startvm

relance la machine. L'arrêt et le redémarrage sont très rapide (c'est une mise en veille d'une machine peu chargée).

Gestion variée

Changer le type de réseau

 VBoxManage modifyvm s-r --nic1 hostonly

où "1" est le numéro de carte réseau. Il faut relancer le module VirtualBox pour valider

et lui donner un nom:

 VBoxManage modifyvm s-r --hostonlyadapter1 vboxnet0

 systemctl restart vboxdrv.service

Utilisation de VNC

Il peut être nécessaire d'utiliser l'interface graphique de VirtualBox pour certaines opérations. En particulier c'est la seule façon d'accéder à la machine virtuelle si le réseau local ne fonctionne pas. On peut, bien sûr se déplacer en local, mais ce n'est pas toujours facile ni possible.

Sur l'Hôte

La première chose qui vient à l'esprit c'est d'utiliser YaST, qui possède un module "administration à distance". Cependant le principal usage de YaST étant d'ouvrir le pare feu... et ne marchant pas, il devient nécessaire de le faire à la main.

Il faut bien sûr d'abord installer VNC, en l'occurence "tightvnc". Il nous fournit vncserver et vncviewer, il faut donc l'installer à la fois sur le serveur (l'Hôte) et le client (chez soi).

Il faut ensuite savoir que VNC utilise un serveur X. La syntaxe est "vncserver :x" ou x est le numéro du "display" (affichage). Pour peu qu'une version de X soit active sur l'Hôte, il est préférable de s'habituer à utiliser des numéros comme ":2".

VNC va alors échanger les données par le port 590x, soit ici 5902. Il faut donc ouvrir ce port dans le parefeu, grace à YaST, module parefeu, mode avancé (tcp 5902). Une fois finie l'uitilisation de VNC, il est nécessaire d'arréter le serveur avec "vncserver -kill :2", pour ne pas laisser une faille dans la sécurité. On peut aller jusqu'à supprimer l'ouverture du parefeu si la config est bien stable.

A la première utilisation de vncserver pour un utilisateur donné (pour moi c'est l'utilisateur virtual), il vous sera demandé un mot de passe. Ne l'oubliez pas :-).

Sur le client

Je ne sais pas où est VNC dans les menus. J'ai simplement créé sur le bureau (donc dans la fenêtre bureau de kde4) une application "vncviewer".

Quand on clique dessus, une toute petite fenêtre s'affiche ou vous rentrez l'IP de l'hôte, suivie du néro de display. Ici "asso.culte.org:2" (notez les deux points ":").

Si la connection se fait, vnc vous demande le mot de passe et vous connecte sur une session twm.

Une session twm c'est un écran gris et un xterm. Pour nous c'est suffisant, vu que tout ce que nous voulons c'est lancer VirtualBox dans cette interface.

Nous avons alors accès à l'interface graphique de VirtualBox.

Notez qu'un défaut de config de VNC fait que dans l'invité (guest), donc la machine virtuelle, le termional root est en QWERTY alors que quand on y accède par ssh on est bien en AZERTY. Sans doute une config de vnc que j'ai manquée.

Sauvegarde

Une sauvegarde est une machine qui peut remplacer la machine en place. Donc ne pas utilise la fonction de clonage qui sert à recopier une machine pour l'utiliser en parallèle avec l'ancienne (et d'ailleurs il y a problème, ne pas utilise l'UUID du disque sous linux, le clone n'a pas la même).

Donc simplement:

  • arréter la machine à sauvegarder (voir ci-dessus)

tar cvfj /home/virtual/virtual-s-r-sav-20120102.tgz /home/virtual/.VirtualBox

"j" utilise "xz" comme compression - mais c'est bien trop long sur notre machine, j'ai donc supprimé le "j".

Pour restaurer, il suffit de décompresser l'archive à la place de la machine en service.

Copier le tgz sur un autre disque est plus sûr (beaucoup).

Structure des disques

Avoir un disque séparé pour les éléments variables est une bonne idée, ca simplifie les sauvegardes.