MaDoVi - Le wiki

Machines - Données - Virtualisation

Outils pour utilisateurs

Outils du site


archives:vm:cas_usage

Machine virtuelle - Des cas d'usage

L'objectif de ce wiki (et pas tuto…) 1) est de présenter des cas d'utilisation d'une machine virtuelle (VM) sur le NAS VHS, «en complément» de ce qui existe déjà, pour ceux que çà intéresse, juste pour partager…

On sait les «limitations» de la solution de Ve-hotech quant aux extensions, applicatives notamment; inutile de revenir la-dessus … :-\.

Les VM sont là pour y pallier. Elles présentent un intérêt − ce n'est pas le seul − dès lors qu'on souhaite disposer d'une application qui n'existe pas sur le serveur et qu'on ne peut pas installer. Il faut bien sûr que la version de la machine dont on dispose supporte la virtualisation …

Précisons quand même qu'on peut sans doute faire pas mal de choses sur l'OS de la machine puisqu'on a accès à un compte administrateur avec privilèges sur le VHS. Cependant, le risque existe − avéré − d'avoir à beaucoup reprendre à chaque mise à jour par Ve-hotech. Ou de casser des choses …

Du coup − petite remarque en passant − ce n'est peut-être pas plus mal de disposer d'un système, certes rarement à jour, mais stable … … Sauf pour Docker, quand même ! ^_^

Les manipulations proposées sont réalisées à partir d'un serveur en OS/firmware version 6.1.2 et d'une VM sous Ubuntu Server 14.04.

Une fois la VM opérationnelle, il ne s'agit plus vraiment de problématiques VHS/NAS, mais… Linux :?: … Mais bon …

Par ailleurs, toutes les manipulations côté client sont pour des postes GNU/Linux (j'ai pas autre chose): Des rubriques Windows / MacOS pourraient venir les enrichir ;-)

Allez, hop ….

0. Sommaire des articles...

… prévus … On se propose d'aborder ici les sujets suivants:

  • Ci-dessous, création & configuration de l'environnement VM

et ensuite:


1. Création de la VM

L'idée est de disposer d'un serveur sur lequel faire tourner quelques applications, pas trop gourmandes…
On se donne – exactement comme l'aide en ligne d'un Ubuntu Server pré-installé – comme caractéristiques:

  • un mode serveur: sans IHM graphique qui consomme et qu'on ne va pas utiliser
  • 2 CPU (çà semble le minimum)
  • 2 Go de mémoire vive pour avoir un peu de marge… et parce que j'ai de la RAM…8-)
  • un espace disque: 100 Go … pour commencer
  • on passera les commandes en ssh: pas d'ouverture des accès vnc ni spice
  • choix ubuntu server: pour pas être dépaysé et il est “sur étagère” …

La création d'une telle VM n'est pas compliquée depuis le portail du VHS (l'aide en ligne se laisse regarder). Une fois la création réalisée et la VM lancée, ça donne quelque chose d'analogue à la copie d'écran ci-dessous:

HS: J'appelle les machines avec des noms d'épices (çà donne du goût). «moka» ici, c'est pour … s'énerver un peu.

:!: Note: Il faut “attendre un chouia” avant d'obtenir cet écran, complété en particulier de l'adresse IP. Cette adresse IP a été affectée de façon dynamique via le serveur DHCP de votre routeur / votre box.
Cf. le § ci-dessous pour l'affectation d'une adresse fixe pour la VM.

On va se connecter au serveur en ssh et de faire quelques… “ajustements”.


2. Première connexion

Les compte et mot de passe positionnés par défaut lors de la création d'une VM sont indiqués dans l'aide en ligne du portail VHS. L'adresse est celle qui figure dans l'écran ci-dessus: 192.168.1.19 pour nous ici.

Donc utilisation d'un terminal (ou de PuTTY sous “20 dos” - plus, tellement plus…):

ssh <user>@<@IP de la machine>

Remarque: Pour la première connexion en ssh, il existe une “reconnaissance” entre les machines et un référencement mutuel entre serveur et client ssh. Cela implique de valider cette première connexion en tapant “yes” à la demande… Ainsi, cette confirmation est nécessaire à chaque “nouvelle” (au sens large) connexion à la VM: depuis une autre machine, si la VM change d'adresse ou de nom, etc…

Terminal ssh
cram28@paprika ~ $ ssh vmadmin@192.168.1.19
The authenticity of host 'ubuntu-server (192.168.1.19)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.19' (ECDSA) to the list of known hosts.
vmadmin@192.168.1.19's password: 
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)
 
 * Documentation:  https://help.ubuntu.com/
 
  System information as of Wed Mar 30 00:42:39 CEST 2016
 
  System load: 0.0               Memory usage: 2%   Processes:       86
  Usage of /:  1.1% of 97.32GB   Swap usage:   0%   Users logged in: 0
 
  Graph this data and manage this system at:
    https://landscape.canonical.com/
 
62 packages can be updated.
35 updates are security updates.
 
Last login: Fri Apr 10 16:10:49 2015
vmadmin@ubuntu-server:~$ 

3. Update / Upgrade

On note après le login qu'on a 62 packages qui pourraient être mis à jour, dont - ou en plus ? - 35 mises à jour de sécurité. Ici, nous on fait bien ce qu'on veut ! Donc on va mettre le système Ubuntu Server à jour.

  • La commande sudo apt-get update va rafraîchir la liste des packages et leur version courante à partir des référentiels (repository) de la distribution.
  • La commande sudo apt-get upgrade va vérifier ce qui doit être mis à jour, et le faire.

Là, il y a un peu de boulot (il télécharge et installe pas mal de choses)… Ces manipulations vont sans doute nécessiter un shutdown et pourront devoir être jouées à plusieurs reprises,.

Et d'une manière générale, il vaut mieux lancer une commande sudo apt-get update avant chaque installation de logiciel, afin de s'assurer qu'on prendra bien la dernière version présente sur les dépôts.


4. Les bons comptes

L'idée est de créer son propre compte qui aura des privilèges sudo (donc root). Par exemple ici, on pourra adopter les mêmes informations que le compte d'administration du VHS: C'est pas sûr que ce soit pertinent mais mémoriser un seul couple de données “user / password” est bien suffisant…
On pourra également donner un mot de passe au compte root – ce n'est pas forcément recommandé, mais certains logiciels peuvent l'exiger – et désactiver le compte vmadmin créer par défaut avec la VM.

☛ Création du nouvel utilisateur et choisir un mot de passe :

sudo adduser <login admin>

… et répondre aux questions

☛ Privilèges root pour notre nouveau compte

sudo adduser <login admin> sudo

Déconnectez-vous: logout
Maintenant, vous pouvez vous reconnecter avec votre nouveau compte <login admin>:

ssh <login admin>@<@IP>

Avec ce nouveau compte, vous pourrez lancer les opérations nécessitant le privilège root avec sudo précédant les commandes.

☛ Mot de passe pour root:

sudo passwd root

Cette commande vous demande votre mot de passe à vous, puis de façon classique la saisie du nouveau mot de passe du compte root et sa confirmation.

☛ Désactivation du compte par défaut: Vous pourriez vouloir désactiver le compte par défaut vmadmin en supprimant le compte “sudo deluser …” et son répertoire “/home/vmadmin”…)

sudo deluser vmadmin
sudo rm -Rf /home/vmadmin/

☛ Garder le compte par défaut vmadmin, mais changer son mot de passe:

sudo passwd vmadmin

5. Adresse IP

Un tuto sur ce sujet a déjà été présenté .

D'une manière générale (VM ou pas d'ailleurs), il parait plus logique de fixer une adresse à partir du routeur − qui dispose de la vue globale du réseau − plutôt que de donner cette adresse fixe sur la machine elle-même. En effet, ce faisant, on prend le risque que l'adresse existe déjà ou au contraire qu'elle n'existe plus après un changement de votre routeur/box par exemple (pas le même sous-réseau)…

Il semble donc préférable de mettre en œuvre la première solution proposée dans le tuto, celle qui laisse le soin au routeur d'attribuer une adresse IP à la VM sur la basse de l'adresse MAC. Dans ce cas l'adresse n'est pas vraiment fixe: elle est encore attribuée dynamiquement par le serveur DHCP de la box/routeur, ce sera simplement toujours la même.

L'adresse MAC de la VM, dont vous aurez besoin pour configurer votre box/routeur, est disponible dans le portail mais… on ne peut pas faire de copier/coller ! Par conséquent, la commande ifconfig sera utile pour la récupérer ;-).


6. Hostname

On note via le prompt de la console que, par défaut, le processus de génération de la VM a positionné un nom de machine à ubuntu-server. Nous, on veut appeler cette VM moka

Pour appliquer ce nom, il suffit d'éditer le fichier /etc/hostname (sudo nano /etc/hostname) et de remplacer 'ubuntu-server' par 'moka'.

Profitez-en pour mettre en cohérence également le fichier /etc/hosts (sudo nano /etc/hosts):

127.0.0.1       localhost
127.0.1.1       moka         
...

Ce nouveau nom «viendra» au prochain shutdown … que vous avez intérêt à faire maintenant…


7. «Cosmétique» ...

On va faire un peu de … “cosmétique”: çà sert à rien, mais çà fait joli ;-)

On va personnaliser le message de bienvenue lors de la connexion 'ssh'. Pour le faire, on va indiquer au serveur ssh de notre VM moka un message à afficher, dès l'arrivée d'une connexion.

On veut quelque chose qui ressemble à cela:

 ____  _ 
|  _ \(_)                                     
| |_) |_  ___ _ ____   _____ _ __  _   _  ___ 
|  _ <| |/ _ \ '_ \ \ / / _ \ '_ \| | | |/ _ \
| |_) | |  __/ | | \ V /  __/ | | | |_| |  __/
|____/|_|\___|_| |_|\_/ \___|_| |_|\__,_|\___|
                       __  __       _         
                      |  \/  |     | |        
  ___ _   _ _ __      | \  / | ___ | | ____ _ 
 / __| | | | '__|     | |\/| |/ _ \| |/ / _` |
 \__ \ |_| | |        | |  | | (_) |   < (_| |
 |___/\__,_|_|        |_|  |_|\___/|_|\_\__,_|
                                              
Veuillez vous identifier ... ou passer votre chemin.

On crée un fichier hello.msg qui contient exactement ce texte:

sudo nano /etc/ssh/hello.msg

Vous collez dans ce fichier le texte que vous souhaitez et sauvez avec <CTRL+X><Y>.

:!: Suggestion: Faire ce texte avec un éditeur depuis votre poste de travail. Les outils ASCII Generator et ce superbe et puissant éditeur peuvent vous y aider, en particulier pour le mode colonne de l'éditeur…

Il faut également dire au serveur ssh de prendre en compte cette «bannière»:

sudo nano /etc/ssh/sshd_config

Il faut ajouter la ligne Banner, c'est 2/3 ligne avant la fin …

......
#MaxStartups 10:30:60
#Banner /etc/issue.net
#=====>
Banner /etc/ssh/hello.msg
#<=====
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
......

Enfin, il faut recharger cette configuration:

sudo service ssh reload   

Et voilà, au prochain login, vous aurez votre message. On peut aussi personnaliser les informations qui s'affichent après le login, mais on peut aussi les trouver intéressantes… Pour «ceusse» qui çà inspirent: Perso landscape canonical

Bon, on l'avait dit que çà servait à rien …m(


8. Prise en compte

A l'issue de tous ces “ajustements”, il faut procéder à un arrêt / relance de la VM pour prise en compte:

  • soit via le bouton marche/arrêt de la VM depuis le portail VHS
  • soit via la commande sudo shutdown -r now depuis la console ssh

FIXME Il semblerait que cette commande shutdown soit plus «propre» que reboot dans la succession des étapes réalisées dans un arrêt/relance… Ch'ais pas :?:

On a désormais une machine avec un nom et une adresse fixés par nos soins, qui dispose d'un compte avec privilèges et d'un OS à jour, accessible depuis n'importe quel client ssh du réseau et une jolie mire de login 8-).

Terminal moka
cram28@paprika ~ $ ssh admin@moka
 ____  _ 
|  _ \(_)                                     
| |_) |_  ___ _ ____   _____ _ __  _   _  ___ 
|  _ <| |/ _ \ '_ \ \ / / _ \ '_ \| | | |/ _ \
| |_) | |  __/ | | \ V /  __/ | | | |_| |  __/
|____/|_|\___|_| |_|\_/ \___|_| |_|\__,_|\___|
                       __  __       _         
                      |  \/  |     | |        
  ___ _   _ _ __      | \  / | ___ | | ____ _ 
 / __| | | | '__|     | |\/| |/ _ \| |/ / _` |
 \__ \ |_| | |        | |  | | (_) |   < (_| |
 |___/\__,_|_|        |_|  |_|\___/|_|\_\__,_|
 
Veuillez vous identifier ... ou passer votre chemin.
admin@moka's password: 
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.16.0-30-generic x86_64)
 
 * Documentation:  https://help.ubuntu.com/
 
  System information as of Tue May 31 23:12:51 CEST 2016
 
  System load: 0.0               Memory usage: 3%   Processes:       97
  Usage of /:  1.3% of 97.32GB   Swap usage:   0%   Users logged in: 0
 
  => There is 1 zombie process.
 
  Graph this data and manage this system at:
    https://landscape.canonical.com/
 
Last login: Tue May 31 23:08:49 2016 from paprika
admin@moka:~$ 

On peut passer à la suite

1)
Ce n'est sans doute pas un “tuto” au sens classique (voilà une série de commandes, tu exécutes dans l'ordre et çà marche…), çà se veut plutôt une sorte de “wiki”, un brin didactique avec un soupçon de tentatives d'explications de ce que je crois comprendre… De ce point de vue, c'est pas sûr que ce soit réussi…
archives/vm/cas_usage.txt · Dernière modification: 04/10/2019 21:09 de Cram28