YannStatic
  • Etiquettes
  • Liens
  • Aide

cwwk KVM - Cloner des images de machines virtuelles

  • virtuel
  •   6 janv. 2025
Afficher/cacher Sommaire

Cloner machine virtuelle Alpine Linux

  • How to clone existing KVM virtual machine images on Linux
  • How to reset a KVM clone virtual Machines with virt-sysprep on Linux
    Utiliser virt-sysprep si vous avez besoin de cloner la VM et de faire/réinitialiser quoi que ce soit à l’intérieur de l’OS invité

Lister les machines virtuelles

Exécuter la commande : sudo virsh list --all

 ID   Nom              État
---------------------------------------------
 1    vm-ntfy          en cours d’exécution
 2    vm-debian12      en cours d’exécution
 3    alpine-vm        en cours d’exécution
 4    alpine-searx     en cours d’exécution
 -    vm-alpine01      fermé
 -    vm-debian12-01   fermé
 -    vm-lldap         fermé

Arrêter la machine à cloner

Si la machine virtuelle est en cours d’exécution

sudo virsh destroy vm-alpine01

Domain ‘vm-alpine01’ destroyed

Cloner la machine virtuelle

Machine virtuelle originale: vm-alpine01
Machine virtuelle cible: vm-alpine02 Disque cible: /srv/kvm/libvirt/images/vm-alpine02.qcow2

sudo virt-clone --original vm-alpine01 \
 --name vm-alpine02 \
 --file /srv/kvm/libvirt/images/vm-alpine02.qcow2

Résultat de la commande

Allocating 'vm-alpine02.qcow2'                                            | 742 MB  00:00:00 ... 

Le clone « vm-alpine02 » a été créé.

Démarrer le clone vm-alpine02

ATTENTION: Machine virtuelle originale vm-alpine01 doit être arrêtée

sudo virsh start vm-alpine02

Même utilisateur et mot de passe pour le clone
Problème initialisation serveur ssh

Problème serveur ssh, exécuter la commande suivante pour que votre serveur génère sa clé d’hôte afin que vous puissiez vous connecter au serveur via SSH. Plus d’informations ici .

Reconfigurer les clés SSH

sudo dpkg-reconfigure openssh-server

Domain ‘vm-alpine02’ started

Connexion clone vm-alpine02

On se connecte à l’identique de la machine originale depuis un terminal linux sur le même réseau

ssh -p 55061 -i .ssh/vm-alpine01 alpi@192.168.10.61

Modifier le fichier /etc/motd

     _     _         _                _      _                          
    / \   | | _ __  (_) _ __    ___  | |    (_) _ __   _   _ __  __     
   / _ \  | || '_ \ | || '_ \  / _ \ | |    | || '_ \ | | | |\ \/ /     
  / ___ \ | || |_) || || | | ||  __/ | |___ | || | | || |_| | >  <      
 /_/   \_\|_|| .__/ |_||_| |_| \___| |_____||_||_| |_| \__,_|/_/\_\     
             |_|                  _         _                ___  ____  
 __   __ _ __ ___           __ _ | | _ __  (_) _ __    ___  / _ \|___ \ 
 \ \ / /| '_ ` _ \  _____  / _` || || '_ \ | || '_ \  / _ \| | | | __) |
  \ V / | | | | | ||_____|| (_| || || |_) || || | | ||  __/| |_| |/ __/ 
   \_/  |_| |_| |_|        \__,_||_|| .__/ |_||_| |_| \___| \___/|_____|
  _   ___  ____      _   __     ___ |_| _   ___     __    _  _          
 / | / _ \|___ \    / | / /_   ( _ )   / | / _ \   / /_  | || |         
 | || (_) | __) |   | || '_ \  / _ \   | || | | | | '_ \ | || |_        
 | | \__, |/ __/  _ | || (_) || (_) |_ | || |_| |_| (_) ||__   _|       
 |_|   /_/|_____|(_)|_| \___/  \___/(_)|_| \___/(_)\___/    |_|         

Changement de la clé publique SSH $HOME/.ssh/authorized_keys

echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL6y0ZigTHoSppYVyC/MzXBpMvTGaex35IrDyCHEe396 yann@PC1" > $HOME/.ssh/authorized_keys

Modifier le port de connexion SSH dans /etc/ssh/sshd_config

Port = 55064    

Modifier l’adresse ip dans le fichier de configuration /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.10.64/24
        gateway 192.168.10.1

redémarrer la machine pour prendre en compte l’ensemble des modifications

Connexion avec nouvelle adresse ip et nouvelle clé SSH depuis un terminal linux sur le même réseau

ssh -p 55064 -i $HOME/.ssh/vm-alpine02 alpi@192.168.10.64

Cloner vm-debian12 vers vm-debian12-01

  • How to clone existing KVM virtual machine images on Linux
  • How to reset a KVM clone virtual Machines with virt-sysprep on Linux
    Utiliser virt-sysprep si vous avez besoin de cloner la VM et de faire/réinitialiser quoi que ce soit à l’intérieur de l’OS invité
yick@cwwk:~$ sudo virsh list
 ID   Nom            État
-------------------------------------------
 1    alpine-vm      en cours d’exécution
 2    vm-ntfy        en cours d’exécution
 3    alpine-searx   en cours d’exécution
 10   vm-debian12    en cours d’exécution

# Arrêt machine à cloner
yick@cwwk:~$ sudo virsh destroy vm-debian12
Domain 'vm-debian12' destroyed

# Cloner
yick@cwwk:~$ sudo virt-clone --original vm-debian12 \
 --name vm-debian12-01 \
 --file /srv/kvm/libvirt/images/debian-12-01.qcow2

Allocating 'debian-12-01.qcow2'                             | 1.2 GB  00:03 ... 

Le clone « vm-debian12-01 » a été créé.

# virsh resume ncbz01

Initialiser les paramètres du clone

sudo virt-sysprep -d vm-debian12-01 \
 --hostname vm-debian12-01 \
 --enable user-account,ssh-hostkeys,net-hostname,net-hwaddr,machine-id \
 --keep-user-accounts userone \
 --keep-user-accounts root \
 --run-command 'sed -i "s/192.168.10.62/192.168.10.63/" /etc/netplan/01-enp1s0.yaml'


[   0.0] Examining the guest ...
[   5.2] Performing "machine-id" ...
[   5.2] Performing "net-hostname" ...
[   5.2] Performing "net-hwaddr" ...
[   5.3] Performing "ssh-hostkeys" ...
[   5.3] Performing "user-account" ...

Démarrer le clone vm-debian12-01

Même utilisateur et mot de passe pour le clone
Problème initialisation serveur ssh

Problème serveur ssh, exécuter la commande suivante pour que votre serveur génère sa clé d’hôte afin que vous puissiez vous connecter au serveur via SSH. Plus d’informations ici .

Reconfigurer les clés SSH

sudo dpkg-reconfigure openssh-server

Connexion ssh clone vm-debian12-01

Se connecter ssh sur l’adresse ip 192.168.10.63 avec la clé

ssh userone@192.168.10.63 -i .ssh/vm-debian01
PRÉCÉDENTCWWK Serveur Debian 12 - Jirafeau
SUIVANTCWWK Serveur Debian 12 - Heimdall
Recherche