From b34873f98052ac5fb4bf6731a25730075796d764 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Fri, 13 Mar 2026 00:33:28 +0100 Subject: Initial commit medias platform --- docs/VM_KONENPAN_CREATION.md | 391 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 391 insertions(+) create mode 100644 docs/VM_KONENPAN_CREATION.md (limited to 'docs/VM_KONENPAN_CREATION.md') diff --git a/docs/VM_KONENPAN_CREATION.md b/docs/VM_KONENPAN_CREATION.md new file mode 100644 index 0000000..6ba9f28 --- /dev/null +++ b/docs/VM_KONENPAN_CREATION.md @@ -0,0 +1,391 @@ +# VM_KONENPAN_CREATION + +## Objectif +Documenter la creation complete de la VM `Konenpan` (de A a Z) sur infrastructure KVM/libvirt, avec un volume LVM de `1T`. + +## Specification demandee +- Nom de la VM: `konenpan` +- Taille stockage: `1T` +- Hyperviseur: KVM/QEMU via libvirt (`virsh`, `virt-install`) +- Usage: base d'hebergement de la plateforme medias (IAM, stockage, services applicatifs) + +## Parametres cibles +- RAM: `8192` MB (8 GB, a ajuster) +- vCPU: `4` (a ajuster) +- Bridge reseau: `br0` +- Groupe de volumes LVM: `vgarauco0` +- Volume LVM: `vgarauco0-konenpan` +- OS variant: `ubuntu24.04` (Ubuntu Server 24.04.1) +- ISO: `/var/lib/libvirt/images/ubuntu-24.04.1-live-server-amd64.iso` + +## Procedure complete (A a Z) + +### 1) Verification des prerequis sur l'hote +```bash +# Verifier les commandes necessaires +command -v virsh +command -v virt-install +command -v lvcreate + +# Installer les dependances si manquantes (commande issue du projet Araucaria) +apt-get update && apt-get install -y libvirt-clients libvirt-daemon-system qemu-kvm virtinst + +# Verifier le service libvirt +systemctl status libvirtd +systemctl enable --now libvirtd +``` + +### 2) Verification de l'existant (VMs, reseau, stockage) +```bash +# VMs existantes +virsh list --all +virsh list --all --name + +# Reseaux/bridges +virsh net-list --all +brctl show +ip link show type bridge + +# Stockage LVM +vgs vgarauco0 +lvs vgarauco0 --units g -o lv_name,lv_size +virsh domblklist --all | grep -E "/dev/mapper" || true +``` + +### 3) Creation du volume LVM 1T pour Konenpan +```bash +# Creation du LV de 1 To +lvcreate -L 1T -n konenpan vgarauco0 + +# Verifications +lvs vgarauco0 | grep konenpan +ls -lh /dev/mapper/vgarauco0-konenpan +``` + +### 4) Verification de l'ISO Ubuntu +```bash +# ISO imposee pour ce runbook +ISO_UBUNTU="/var/lib/libvirt/images/ubuntu-24.04.1-live-server-amd64.iso" +echo "ISO selectionnee: $ISO_UBUNTU" + +# Verifier acces en lecture +test -r "$ISO_UBUNTU" && echo "ISO OK" || echo "ISO manquante/inaccessible" +``` + +### 5) Verifier que la VM konenpan n'existe pas deja +```bash +virsh list --all | grep konenpan || true + +# Si necessaire (attention: supprime la definition libvirt, pas le LV) +# virsh destroy konenpan 2>/dev/null +# virsh undefine konenpan +``` + +### 6) Creation de la VM (nouvelle installation depuis ISO) +```bash +virt-install \ + --name konenpan \ + --memory 8192 \ + --vcpus 4 \ + --os-variant ubuntu24.04 \ + --disk path=/dev/mapper/vgarauco0-konenpan,bus=virtio \ + --network bridge=br0,model=virtio \ + --graphics vnc,listen=0.0.0.0 \ + --cdrom /var/lib/libvirt/images/ubuntu-24.04.1-live-server-amd64.iso \ + --noautoconsole +``` + +### 6.1) Connexion VNC pour installer le systeme +```bash +# Sur l'hote hyperviseur: recuperer l'ecran VNC attribue +virsh vncdisplay konenpan +# Exemple de sortie: :0 (port TCP 5900), :1 (5901), etc. + +# Option pratique: calculer automatiquement le port VNC +VNC_DISPLAY=$(virsh vncdisplay konenpan | tr -d ':') +VNC_PORT=$((5900 + VNC_DISPLAY)) +echo "Display :$VNC_DISPLAY -> Port $VNC_PORT" +``` + +```bash +# Si vous etes connecte directement a l'hote (avec interface graphique) +vncviewer 127.0.0.1:$VNC_PORT +``` + +```bash +# Si vous etes sur un poste distant: creer un tunnel SSH +# (a lancer depuis votre poste local) +ssh -L 5900:127.0.0.1:$VNC_PORT @ + +# Puis, depuis le poste local: +vncviewer 127.0.0.1:5900 +``` + +### 7) Alternative: creation en mode import (si OS deja present sur disque) +```bash +virt-install \ + --name konenpan \ + --memory 8192 \ + --vcpus 4 \ + --os-variant ubuntu24.04 \ + --disk path=/dev/mapper/vgarauco0-konenpan,bus=virtio,cache=none \ + --network bridge=br0,model=virtio \ + --graphics vnc,listen=0.0.0.0 \ + --import \ + --noautoconsole +``` + +### 8) Verification immediate apres creation +```bash +virsh list --all | grep konenpan +virsh dominfo konenpan +virsh dumpxml konenpan +virsh domblklist konenpan +virsh domiflist konenpan +``` + +### 9) Demarrage, console et acces VNC +```bash +# Demarrer +virsh start konenpan +virsh list --all +virsh domstate konenpan + +# Console texte +virsh console konenpan +# Quitter la console: Ctrl+] + +# Afficher l'ecran VNC attribue +virsh vncdisplay konenpan + +# Option tunnel SSH depuis un poste local +# ssh -L 5900:127.0.0.1:5900 araucaria +# puis: vncviewer localhost:5900 +``` + +### 10) Partitionnement recommande pendant l'installation (ecran VNC) +Pour `konenpan` (1T), la meilleure approche est de separer le systeme et les donnees avec LVM: + +- `root (/)`: `120G` (OS + paquets) +- `/var`: `200G` (logs, cache, services) +- `/data`: `reste du disque` (applications/donnees medias) +- `swap`: pas de partition dediee (utiliser un swapfile apres installation) + +#### Procedure dans l'ecran "Storage configuration" +1. Selectionner `/dev/vda` puis valider pour initialiser le disque (table GPT). +2. Choisir `Create volume group (LVM)` et creer un VG (exemple: `vg_konenpan`) sur `/dev/vda`. +3. Creer les volumes logiques (LV): + - `lv_root` taille `120G`, format `ext4`, montage `/` + - `lv_var` taille `200G`, format `ext4`, montage `/var` + - `lv_data` taille `restant` (ou environ `670G`), format `ext4`, montage `/data` +4. Verifier qu'un point de montage `/` existe (obligatoire pour continuer). +5. Valider avec `Done`, confirmer l'ecriture des changements, puis poursuivre l'installation Ubuntu. + +#### Si le bouton "Done" est grise (cas frequent) +Cause: l'installateur n'a pas de disque/partition de boot selectionne. + +Dans certains ecrans Subiquity, `fat32` n'apparait pas dans la liste des formats. +Dans ce cas, suivre le mode de boot detecte: + +**Cas A - UEFI (recommande)** +1. Selectionner `/dev/vda` puis `Add GPT partition` de `512M` a `1G`. +2. Si `fat32` est disponible: format `fat32`, mount `/boot/efi`. +3. Si `fat32` n'est pas disponible: choisir `Leave unformatted`, mount `/boot/efi` (l'installateur traitera cette partition comme ESP). +4. Marquer `/dev/vda` comme boot device (`Use as boot device`) si l'option est proposee. + +**Cas B - BIOS (legacy)** +1. Selectionner `/dev/vda` puis `Add GPT partition` de `1M`. +2. Choisir `Leave unformatted` et affecter le role `bios_grub` (si propose par l'UI). +3. Ne pas utiliser `/boot/efi` en mode BIOS. + +Puis, dans les 2 cas: +1. Creer le LVM sur le reste du disque (`vg_konenpan` + `lv_root`, `lv_var`, `lv_data`). +2. Verifier au minimum: + - un montage `/` existe + - un boot target existe (`/boot/efi` en UEFI, ou `bios_grub` en BIOS) +3. Revenir sur `Done`: le bouton doit devenir actif. + +Remarque: si tout le disque a deja ete consomme par le PV LVM, recreer le schema en reservant d'abord la partition de boot, puis utiliser le reste pour le PV LVM. + +#### Cas reel: l'installation est lancee sans selection explicite "boot" +Si l'installateur a accepte la configuration et a demarre, c'est souvent valide. +Dans ce cas, faire une verification apres le premier redemarrage: + +```bash +# Dans la VM +test -d /sys/firmware/efi && echo "Boot UEFI" || echo "Boot BIOS" +lsblk -f +df -h +``` + +Verifier ensuite la presence de GRUB: + +```bash +# Dans la VM +sudo grub-install --version +sudo update-grub +``` + +Si la VM ne boote pas apres retrait de l'ISO: +- remettre temporairement l'ISO, +- booter en mode rescue/live, +- chroot sur le systeme installe, +- reinstaller GRUB (UEFI ou BIOS selon le mode detecte). + +#### Option plus simple (si tu veux aller plus vite) +- Utiliser "Use an entire disk" + LVM automatique (un seul grand `/`). +- Cette option est rapide, mais moins pratique a long terme pour isoler logs/donnees. + +#### Swap (recommande en swapfile, apres installation) +Oui, ici on ne cree pas de partition swap dediee. Sur Ubuntu Server, un swapfile est plus simple a gerer. + +Taille conseillee pour `konenpan` (RAM 8G): `8G` de swap. + +```bash +# Dans la VM, apres installation +sudo fallocate -l 8G /swapfile +sudo chmod 600 /swapfile +sudo mkswap /swapfile +sudo swapon /swapfile + +# Rendre persistant +echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab + +# Verifier +swapon --show +free -h +``` + +### 11) Fin d'installation OS: retirer le CD-ROM puis redemarrer +```bash +# Identifier les disques et le lecteur CD-ROM +virsh domblklist konenpan + +# Retirer le CD-ROM persistant (exemple device sda, adapter si besoin) +virsh detach-disk konenpan sda --persistent + +# Verifier puis redemarrer +virsh domblklist konenpan +virsh reboot konenpan +# ou: +# virsh shutdown konenpan && virsh start konenpan +``` + +### 12) Configuration reseau dans la VM (netplan) +```bash +# Dans la VM +ip addr show +ls /etc/netplan/ +sudoedit /etc/netplan/00-installer-config.yaml + +# Appliquer +sudo netplan try +sudo netplan apply + +# Verifier DNS +cat /etc/resolv.conf +nslookup araucaria.local +nslookup google.com +``` + +### 13) Synchronisation de l'heure vers araucaria (NTP client) +```bash +# Dans la VM +sudo apt-get update +sudo apt-get install -y chrony + +# Sauvegarder la configuration par defaut +sudo cp /etc/chrony/chrony.conf /etc/chrony/chrony.conf.bak.$(date +%F-%H%M%S) + +# Declarer araucaria comme source NTP principale +echo "server araucaria iburst prefer" | sudo tee /etc/chrony/sources.d/araucaria.sources + +# Redemarrer et activer le service +sudo systemctl enable --now chrony +sudo systemctl restart chrony + +# Verifier la synchronisation +chronyc sources -v +chronyc tracking +timedatectl status +``` + +Notes: +- Si `araucaria` n'est pas resolu en DNS, utiliser temporairement son IP dans le fichier source Chrony. +- Quand le DNS sera finalise, revenir a `server araucaria iburst prefer`. + +### 14) Configuration hostname, SSH et mises a jour dans la VM +```bash +# Dans la VM +sudo hostnamectl set-hostname konenpan +hostnamectl + +sudo apt-get update +sudo apt-get upgrade -y +sudo apt-get install -y openssh-server qemu-guest-agent + +sudo systemctl enable --now ssh +sudo systemctl enable --now qemu-guest-agent +``` + +### 15) Validation finale +```bash +# Sur l'hote +virsh dominfo konenpan +virsh domblklist konenpan +virsh domiflist konenpan + +# Dans la VM +hostnamectl +free -h +df -h +ip addr show +timedatectl status +chronyc sources -v +ping -c 3 8.8.8.8 +``` + +## Checklist de fin +- [ ] LV `vgarauco0-konenpan` cree en `1T` +- [ ] VM `konenpan` creee avec `virt-install` +- [ ] VM demarree (`virsh start konenpan`) +- [ ] Partitionnement valide (`/`, `/var`, `/data`) +- [ ] Swap actif (`swapon --show`) +- [ ] Installation OS terminee et CD-ROM detache +- [ ] Reseau/DNS operationnels +- [ ] Synchronisation horaire active vers araucaria (chrony) +- [ ] SSH operationnel +- [ ] VM enregistree dans l'inventaire infra +- [ ] Sauvegarde planifiee + +## Rollback (si echec) +```bash +# Arreter puis supprimer la definition VM +virsh destroy konenpan 2>/dev/null || true +virsh undefine konenpan + +# Supprimer le volume LVM (attention: destructif) +lvremove -y /dev/vgarauco0/konenpan + +# Verifier qu'il ne reste rien +virsh list --all | grep konenpan || true +lvs vgarauco0 | grep konenpan || true +``` + +## Troubleshooting rapide +- VM non accessible: `virsh dominfo konenpan`, verifier bridge `br0`, firewall, NIC +- Disque absent: `virsh domblklist konenpan`, `lvs vgarauco0`, `ls -lh /dev/mapper/vgarauco0-konenpan` +- VNC indisponible: `virsh vncdisplay konenpan`, verifier tunnel SSH +- DNS KO dans la VM: verifier netplan, `resolv.conf`, `nslookup` +- Heure non synchronisee: verifier `systemctl status chrony`, `chronyc sources -v`, resolution DNS de `araucaria` + +## Sources Araucaria utilisees +- `E:\Dev\System\Araucaria\01_SKVM\docs\DOCUMENTATION_SKVM.md` +- `E:\Dev\System\Araucaria\07_VMS\docs\GUIDE_COMPLET_VM_DOCKER.md` +- `E:\Dev\System\Araucaria\migration_chillka.sh` + +## Historique +- Date: 2026-03-07 +- Auteur: equipe-plateforme +- Changement: ajout procedure complete de creation VM `konenpan` de A a Z (commandes completes) +- Changement: ajout de la configuration NTP client (chrony) pour synchronisation vers `araucaria` -- cgit v1.2.3