Outils pour utilisateurs

Outils du site


admin:procedures:creation_machine_virtuelle

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
admin:procedures:creation_machine_virtuelle [2024/12/23 02:18] – correction du niveau des titres pilouadmin:procedures:creation_machine_virtuelle [2026/03/03 15:51] (Version actuelle) – Correction typographique fhenry2
Ligne 2: Ligne 2:
  
 ===== Configuration virt-manager ===== ===== Configuration virt-manager =====
-Dans un premier temps, se connecter avec virt-manager à l'aide de commande : 
  
 +Dans un premier temps, se connecter avec ''virt-manager'' à l'aide de la commande :
 <code bash> <code bash>
 virt-manager --connect 'qemu+ssh://root@korat.chapril.org/system?keyfile=~/.ssh/chapril.pub' virt-manager --connect 'qemu+ssh://root@korat.chapril.org/system?keyfile=~/.ssh/chapril.pub'
 </code> </code>
  
-Il est également possible d'indiquer les détails de la connexion via ''Fichier''''Ajout d'une connexion'' +Il est également possible d'indiquer les détails de la connexion via //Fichier////Ajout d'une connexion// 
-{{:admin:procedures:2018-05-05-122210_385x343_scrot.png?400|}}+{{:admin:procedures:2018-05-05-122210_385x343_scrot.png?400|Fenêtre d’ajout de connexion}}
  
 <note tip> <note tip>
-Il est possible de modifier les URIs précédemment saisies à l'aide de la commande ''dconf-editor''+Il est possible de modifier les URI précédemment saisies à l'aide de la commande ''dconf-editor''
-<code>+<code bash>
 dconf-editor /org/virt-manager/virt-manager/connections/uris dconf-editor /org/virt-manager/virt-manager/connections/uris
 </code> </code>
 </note> </note>
 +
 ===== Clonage du modèle ===== ===== Clonage du modèle =====
  
-Cloner la machine « template-debianXX » via un clic droit.+Cloner la machine ''template-debianXX'' via un clic droit.
  
 {{ :admin:procedures:capture_d_ecran_de_2017-07-12_15_53_45.png?direct&300 |Interface virt-manager}} {{ :admin:procedures:capture_d_ecran_de_2017-07-12_15_53_45.png?direct&300 |Interface virt-manager}}
  
 Une fenêtre s'ouvre : Une fenêtre s'ouvre :
-  - Changez le nom de la machine. +  - Changer le nom de la machine ; 
-  - Dans la section ''Storage'', vérifier que la case est cochée (colonne ''Cloner'', seconde ligne) est cochée afin que le disque de la VM source soit cloné/copié:+  - Dans la section ''Storage'', vérifier que la case est cochée (colonne ''Cloner'', seconde ligne) afin que le disque de la VM source soit cloné ou copié.
  
 {{ :admin:procedures:cloner_disque-screenshot_2024-12-08.png?direct&300 | Cloner le disque }} {{ :admin:procedures:cloner_disque-screenshot_2024-12-08.png?direct&300 | Cloner le disque }}
  
-Toujours dans la section ''Storage'', après avoir sélectionné la ligne ''Cloner ce disque'', cliquer sur le bouton ''Détails'' afin de modifier le chemin du disque de la nouvelle VM. Remplacer ''/dev/vg_vms/vm-source-clone'' par ''/dev/vg_vms/vm-<nom du service>'' (par exemple: ''/dev/vg_vms/vm-bd'').+Toujours dans la section ''Storage'', après avoir sélectionné la ligne ''Cloner ce disque'', cliquer sur le bouton ''Détails'' afin de modifier le chemin du disque de la nouvelle VM. 
 +Si le service se nomme ''SERVICE'' alors remplacer ''/dev/vg_vms/vm-source-clone'' par ''/dev/vg_vms/vm-SERVICE''.
  
 {{ :admin:procedures:renommer_disque_vm_screenshot_2024-12-08.png?direct&300 | Renommer le disque de la VM }} {{ :admin:procedures:renommer_disque_vm_screenshot_2024-12-08.png?direct&300 | Renommer le disque de la VM }}
Ligne 38: Ligne 40:
  
 <note important> <note important>
-Les deux adresses MAC de la nouvelle VM sont automatiquement modifiées lors de l'opération de clonage. Cependant, lorsque deux VMs lancées présentent des adresses MAC identiques, la configuration réseau de l'hyperviseur devient incorrecte/cassée/dysfonctionnelle : vérifier que les deux adresses MAC de la nouvelle VM sont bien différentes de celles de la machine source. Lorsque le paquet Debian ''virtinst'' est installé, il est possible de générer une adresse MAC à l'aide de la commande :+Les deux adresses MAC de la nouvelle VM sont automatiquement modifiées lors de l'opération de clonage. 
 +Cependant, lorsque deux VM lancées présentent des adresses MAC identiques, la configuration réseau de l'hyperviseur devient incorrectecassée ou dysfonctionnelle
 +Vérifier alors que les deux adresses MAC de la nouvelle VM sont bien différentes de celles de la machine source. 
 +Lorsque le paquet Debian ''virtinst'' est installé, il est possible de générer une adresse MAC à l'aide d’une commande :
 <code bash> <code bash>
 PYTHONPATH=/usr/share/virt-manager python3 -c 'import virtinst; print(virtinst.devices.interface._random_mac(virtinst.VirtinstConnection("qemu:///system")))' PYTHONPATH=/usr/share/virt-manager python3 -c 'import virtinst; print(virtinst.devices.interface._random_mac(virtinst.VirtinstConnection("qemu:///system")))'
Ligne 44: Ligne 49:
 </note> </note>
  
-Il faut ensuite utiliser la commande ''virt-sysprep'' (paquet Debian ''guestfs-tools'') sur l'hyperviseur pour supprimer les fichiers de configuration liés à la VM source (clef SSH de la machine, machine ID, nom de la VMfichiers de logs) : +Il faut ensuite utiliser la commande ''virt-sysprep'' (paquet Debian ''guestfs-tools'') sur l'hyperviseur pour supprimer les fichiers de configuration liés à la VM source ((Ces fichiers sont la clef SSH de la machine, le //machine ID//le nom de la VM et les fichiers de //logs//.)). 
-<code> + 
-=(^-^)=root@korat:~# virt-sysprep -d bd --hostname bd \ +Si le service est ''bd'' 
-                     --operations defaults,-lvm-uuids \ +<code bash
-                     --run-command 'dpkg-reconfigure openssh-server'+virt-sysprep -d bd --hostname bd \ 
 +                   --operations defaults,-lvm-uuids \ 
 +                   --run-command 'dpkg-reconfigure openssh-server'
 </code> </code>
  
-Sur l'hyperviseur, il faut enfin commiter les fichiers de configuration de la nouvelle VM : +Sur l'hyperviseur, il faut enfin réviser les fichiers de configuration de la nouvelle VM
- +Pour un service nommé ''SERVICE'' 
-  - ''/etc/libvirt/qemu/<nom service>.xml''+  - ''/etc/libvirt/qemu/SERVICE.xml''
   - ''/etc/lvm/backup/vg_vms''   - ''/etc/lvm/backup/vg_vms''
  
 La machine peut alors être démarrée. La machine peut alors être démarrée.
  
-Ce modèle possède de base les clés des adminsys, une conf réseau ipv4 fonctionnelle, les dépôts chapril, quelques dépendances et fichiers de conf sympathiques (''sexy-chapril'' et ''depends-chapril'') et un postfix satellite configuré.+Ce modèle possède de base 
 +  * Les clefs des adminsys 
 +  * Une configuration réseau IPv4 fonctionnelle 
 +  * Les dépôts Chapril ; 
 +  * Quelques dépendances et fichiers de configuration sympathiques tels que ''sexy-chapril'' et ''depends-chapril'' 
 +  * Un //postfix satellite// configuré
 + 
 +Vous pouvez le démarrer depuis ''virt-manager''.
  
-Vous pouvez le démarrer depuis le virt-manager. 
 ===== Configuration réseau ===== ===== Configuration réseau =====
  
-Pour plus de commodité, renommer les interfaces TAP de la VM en exécutant la commande ''virsh edit bling'' sur l'hyperviseur hébergeant la VM:+Pour plus de commodité, renommer les interfaces TAP de la VM en exécutant la commande ''virsh edit bling'' sur l'hyperviseur hébergeant la VM :
 <code> <code>
 # Chercher le bloc <interface type='network'> # Chercher le bloc <interface type='network'>
Ligne 76: Ligne 89:
 ==== IPv4 ==== ==== IPv4 ====
  
-Un fois le modèle cloné et démarré, il faut trouver une adresse IP libre pour l'hote :+Un fois le modèle cloné et démarré, il faut trouver une adresse IP libre pour l'hôte : 
 +<code bash> 
 +virsh net-dhcp-leases default 
 +</code>
 <code> <code>
-# virsh net-dhcp-leases default 
  Expiry Time          MAC address        Protocol  IP address                Hostname        Client ID or DUID  Expiry Time          MAC address        Protocol  IP address                Hostname        Client ID or DUID
 ------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------
Ligne 88: Ligne 103:
  
 Récupérer son adresse MAC : Récupérer son adresse MAC :
-<code>+<code bash>
 grep -i mac /etc/libvirt/qemu/bling.xml grep -i mac /etc/libvirt/qemu/bling.xml
 </code> </code>
  
-Pour le moment cette machine s'appelle toujours « modele ». Son IP est donc 192.168.1.42.+Pour le moment cette machine s'appelle toujours ''modele''. 
 +Son adresse IP est donc ''192.168.1.42''.
  
-**Sur les deux** hotes, nous allons attribuer définitivement le bail IP à cette nouvelle machine. Cette manipulation est donc à faire sur les deux hôtes (maine et coon) : +**Sur les deux** hôtes, nous allons attribuer définitivement le bail IP à cette nouvelle machine. 
-  # virsh net-update default add ip-dhcp-host  "<host mac='52:54:00:ef:42:42'  name='bling' ip='192.168.1.42' />" --live --config+Cette manipulation est donc à faire sur les deux hôtes (Maine et Coon) : 
 +<code bash> 
 +virsh net-update default add ip-dhcp-host "<host mac='52:54:00:ef:42:42' name='bling' ip='192.168.1.42' />" --live --config 
 +</code>
  
-Par ailleurs, pour le moment la définition DNS est manuelle. Il faut donc créer l'entrée nécessaire sur la machine dns: +Par ailleurs, pour le moment la définition DNS est manuelle. 
-<code conf /etc/bind/zones/masters/vm.include>+Il faut donc créer l'entrée nécessaire sur la machine ''dns'' 
 +<code /etc/bind/zones/masters/vm.include>
 bling.cluster         192.168.1.42 bling.cluster         192.168.1.42
 </code> </code>
  
-<note important>Penser à augmenter le serial dans le fichier chapril.org-int</note>+<note important> 
 +Penser à augmenter le //serial// dans le fichier ''chapril.org-int'' 
 +</note>
  
-On reload ensuite la zone interne : +On recharge ensuite la zone interne : 
-  # rndc reload chapril.org in internal+<code bash> 
 +rndc reload chapril.org in internal 
 +</code>
  
 ==== IPv6 ==== ==== IPv6 ====
Ligne 111: Ligne 135:
 === Sur les deux hyperviseurs === === Sur les deux hyperviseurs ===
  
-  * dans ''/etc/firehol/firehol.conf'', ajouter l'interface ''vm-bling-ipv6'' au contenu de la variable ''vmIp6Ifaces'' puis redémarrer le service ''firehol'' +Dans ''/etc/firehol/firehol.conf'', ajouter l'interface ''vm-bling-ipv6'' au contenu de la variable ''vmIp6Ifaces'' puis redémarrer le service ''firehol''. 
-  mettre à jour ''/etc/libvirt/hooks/qemu'' avec un bloc : + 
-<code>+Si le service est ''bd'' mettre à jour ''/etc/libvirt/hooks/qemu'' avec un bloc : 
 +<code bash>
 "bd") "bd")
         case "$action" in         case "$action" in
Ligne 137: Ligne 162:
  
 === Sur la VM === === Sur la VM ===
 +
 Sur la VM, modifier le fichier ''/etc/network/interfaces'': Sur la VM, modifier le fichier ''/etc/network/interfaces'':
 <code> <code>
Ligne 154: Ligne 180:
     post-up ip -6 address add 2a01:4f8:222:6a1::42/128 dev ens8     post-up ip -6 address add 2a01:4f8:222:6a1::42/128 dev ens8
 </code> </code>
 +
 ===== Derniers détails ===== ===== Derniers détails =====
  
 ==== Nom de la machine ==== ==== Nom de la machine ====
  
-On peut se ''ssh''-er sur la machine +On peut se connecter à la machine ''bling'' via le SSH 
-  ssh bling+<code bash> 
 +ssh bling 
 +</code>
  
-On défini son nom : +On définit son nom : 
-  hostnamectl set-hostname bling.cluster.chapril.org+<code bash> 
 +hostnamectl set-hostname bling.cluster.chapril.org 
 +</code>
  
-On ajoute à /etc/hosts: +On ajoute une ligne à ''/etc/hosts'' 
-<code conf /etc/hosts>+<code /etc/hosts>
 127.0.1.1 bling.cluster.chapril.org bling 127.0.1.1 bling.cluster.chapril.org bling
 </code> </code>
  
 ==== Configuration Postfix ==== ==== Configuration Postfix ====
-Si Postfix n'est pas installé alors faire un upgrade puis l'installer : [[admin:procedures:installation_postfix_satellite]] 
  
 +Si Postfix n'est pas installé alors mettre à niveau puis [[admin:procedures:installation_postfix_satellite|installer le satellite Postfix]].
  
-Vérifier à corriger les champs utilisant la valeur //modele// +Vérifier à corriger les champs utilisant la valeur ''modele'' 
-<code conf /etc/postfix/main.cf>+<code /etc/postfix/main.cf>
 […] […]
 myhostname = bling.cluster.chapril.org myhostname = bling.cluster.chapril.org
Ligne 180: Ligne 211:
 […] […]
 </code> </code>
 +
 ==== Mot de passe root ==== ==== Mot de passe root ====
  
-On pense à changer le mot de passe root et à le noter dans le [[admin:procedures:configuration_password_store|pass]]. Si vous manquez d'inspiration, la commande ''pwgen 20'' est vote amie. +On pense à changer le mot de passe de l’utilisteur ''root'' et à le noter dans le //[[admin:procedures:configuration_password_store|pass]]//. 
-  passwd+Si vous manquez d'inspiration, la commande ''pwgen 20'' est votre amie. 
 +<code bash> 
 +passwd 
 +</code>
  
-<note important>Ne pas oublier d'ajouter le mot de passe dans le //pass// des admins.</note>+<note important> 
 +Ne pas oublier d'ajouter le mot de passe dans le //pass// des admins. 
 +</note>
  
 ==== Accès non admin ==== ==== Accès non admin ====
  
-Si vous souhaitez donner l'accès root à quelqu'un qui n'est pas admin du cluster, il faut ajouter la clef dans ''/etc/ssh/authorized_keys.local''.+Si vous souhaitez donner l'accès ''root'' à quelqu'un qui n'est pas admin du //cluster//, il faut ajouter la clef dans ''/etc/ssh/authorized_keys.local''.
  
 Pensez aussi à lui donner un accès ''april'' sur le bastion. Pensez aussi à lui donner un accès ''april'' sur le bastion.
- 
  
 ==== IPv6 ==== ==== IPv6 ====
  
-Une fois l'installation de la VM terminé, on peut suivre la procédure pour lui ajouter un accès IPv6 en entrée/sortie [[admin:procedures:ajouter-ipv6|Ajouter IPv6 à une VM]].+Une fois l'installation de la VM terminée, on peut suivre la procédure pour lui ajouter un accès IPv6 en entrée/sortie comme décrit dans la page //[[admin:procedures:ajouter-ipv6|Ajouter IPv6 à une VM]]//.
  
 ===== Principes d'un travail terminé ===== ===== Principes d'un travail terminé =====
  
 Enfin, pour que votre travail soit **[[admin:travail_termine|considéré terminé]]** il faut : Enfin, pour que votre travail soit **[[admin:travail_termine|considéré terminé]]** il faut :
-  * [[admin:machines_virtuelles:|ajouter la machine à la doc]] ; +  * [[admin:machines_virtuelles:|Ajouter la machine à la documentation]] ; 
-  * configurer [[admin:procedures:ajouter-ipv6|ipv6]] ; +  * Configurer [[admin:procedures:ajouter-ipv6|l’IPv6]] ; 
-  * le [[admin:procedures:configuration-firewall-guest|firewall]] ; +  * Le [[admin:procedures:configuration-firewall-guest|pare-feu]] ; 
-  * l'envoi d'[[admin:procedures:installation_postfix_satellite|emails]] ; +  * L'envoi de [[admin:procedures:installation_postfix_satellite|courriels]] ; 
-  * le [[admin:monitoring:add-host|monitoring]] ; +  * L’[[admin:monitoring:add-host|hypervision]] ; 
-  * et les [[admin:procedures:sauvegarder_machines|backups]] ; +  * Les [[admin:procedures:sauvegarder_machines|sauvegardes]] ; 
-  * ajouter la machine dans le script d'administration pour faciliter la maintenance du parc (''_scripts/machines'' dans [[sysadm:git_admin_sys|le dépot ''packages-src'']]).+  * Ajouter la machine dans le script d'administration pour faciliter la maintenance du parc ((Les fichiers ''_scripts/machines'' dans [[sysadm:git_admin_sys|le dépôt ''packages-src'']].)).
admin/procedures/creation_machine_virtuelle.txt · Dernière modification : 2026/03/03 15:51 de fhenry2