diff options
| author | ertopogo <erwin.t.pombett@gmail.com> | 2026-03-13 00:33:28 +0100 |
|---|---|---|
| committer | ertopogo <erwin.t.pombett@gmail.com> | 2026-03-13 00:33:28 +0100 |
| commit | b34873f98052ac5fb4bf6731a25730075796d764 (patch) | |
| tree | 0b27ef2996894287aaf382b43956d6cf45352e94 /docs/VM_KONENPAN_CREATION.md | |
Diffstat (limited to 'docs/VM_KONENPAN_CREATION.md')
| -rw-r--r-- | docs/VM_KONENPAN_CREATION.md | 391 |
1 files changed, 391 insertions, 0 deletions
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 <user>@<hote_hyperviseur>
+
+# 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`
|
