bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


vagrant_ubuntu_libvirt

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
vagrant_ubuntu_libvirt [2026/02/16 17:12]
enric_mieza_sanchez [NFS en Debian/Ubuntu]
vagrant_ubuntu_libvirt [2026/09/09 13:40] (actual)
enric_mieza_sanchez [Crea VMs amb Vagrant]
Línia 1: Línia 1:
 ====== Vagrant amb Libvirt en Ubuntu ====== ====== Vagrant amb Libvirt en Ubuntu ======
  
-Libvirt i KVM son unes biblioteques de virtualització molt eficients per treballar, en especial quan ho fem de forma automatitzada, com en el cas de Vagrant. KVM és emprada per distribucions tan potents com Proxmox.+El sistema de virtualització format per QEMU, KVM i libvirt és molt eficient per treballar, en especial quan ho fem de forma automatitzada, com en el cas de Vagrant. KVM és emprada per distribucions tan potents com Proxmox i, en general, és la opció més adoptada pels grans proveïdors ja que és codi lliure molt provat i robust, i que permet estalviar costos de llicències.
  
-[[Vagrant]] és una eina d'automatització d'infraestructura, també conegut com a IaC.+En aquest sistema tenim: 
 +  * QEMU: motor de virtualització 
 +  * KVM o Kernel Virtual Machine : acceleració de la virtualització 
 +  * libvirt: emulació dels perifèrics
  
-En Ubuntu, el més habitual sol ser treballar Vagrant amb VirtualBox, però la configuració amb Libvirt té molts avantatges, en particular la velocitat.+[[Vagrant]] és una eina d'automatització d'infraestructura, també conegut com a IaC o Infrastructure as Code. 
 + 
 +En Ubuntu, el més habitual sol ser treballar Vagrant amb VirtualBox, però la configuració amb el proveïdor ''libvirt'' té molts avantatges, en particular la velocitat.
  
 \\ \\
Línia 44: Línia 49:
   end   end
 </file> </file>
 +
 +<WRAP important>
 +=== Tancament de la Vagrant Cloud o HCP Vagrant Registry ===
 +
 +Com a conseqüència de la compra de l'empresa HashiCorp per part d'IBM el febrer de 2025, **la Vagrant Cloud (o HCP Vagrant Registry) es tancarà el Gener de 2027**. De fet, des de l'1 d'Octubre de 2026 ja no es podran pujar més imatges a aquest repositori públic.
 +
 +A partir d'aquestes dates **caldrà que cada usuari hostatgi les seves imatges en servidors propis**. Molts proveïdors de Vagrant boxes com generic, Roboxes.org, etc. han deixat de publicar i actualitzar imatges i ens podem trobar amb errors si les utilitzem.
 +
 +Sembla ser que el proveïdor ''bento'' sí que les seguirà proveint, caldrà veure amb quin mecanisme les publica.
 +</WRAP>
 +
 +\\
  
 ===== Cerca imatges a Vagrant Cloud ===== ===== Cerca imatges a Vagrant Cloud =====
Línia 58: Línia 75:
 \\ \\
  
-===== Compartir carpetes amb viriofsd =====+===== Configura xarxa bridge ===== 
 + 
 +Si vols fer servir una xarxa en mode //bridge// (en Vagrant una ''"public_network"'') caldrà que disposis d'un Linux Bridge a la teva instal·lació Ubuntu o Debian. 
 + 
 +Per configurar-ho amb ''netplan'' caldrà no posar la IP de la màquina host a la definició de la interfície física real (en l'exemple, ''enp0s2'') sinó que cal posar la IP a la definició del //bridge// (en l'exemple ''br0''): 
 + 
 +<file yaml 50-cloud-init.yaml> 
 +network: 
 +  version: 2 
 +  ethernets: 
 +    enp2s0: 
 +      dhcp4: false 
 +      dhcp6: false 
 +</file> 
 + 
 +A la definició del //bridge// assignem la IP, per exemple de forma estàtica (també es podria fer amb mode dhcp): 
 + 
 +<file yaml 60-bridge.yaml> 
 +network: 
 +  version: 2 
 +  bridges: 
 +    br0: 
 +      interfaces: [enp2s0] 
 +      dhcp4: false 
 +      dhcp6: false 
 +      parameters: 
 +        stp: false 
 +      addresses: 
 +        - 192.168.1.4/24 
 +      routes: 
 +        - to: default 
 +          via: 192.168.1.1 
 +      nameservers: 
 +        addresses: [8.8.8.8, 1.1.1.1] 
 +</file> 
 + 
 +\\ 
 + 
 +===== Compartir carpetes amb virtiofsd =====
  
 Per defecte, les carpetes compartides (per exemple ''/vagrant'' per defecte) es fan mitjançant NFS si emprem ''libvirt''. Una alternativa interessant és utilitzar ''virtiofs''. Per defecte, les carpetes compartides (per exemple ''/vagrant'' per defecte) es fan mitjançant NFS si emprem ''libvirt''. Una alternativa interessant és utilitzar ''virtiofs''.
Línia 67: Línia 122:
   sudo apt install virtiofsd   sudo apt install virtiofsd
  
-Al ''Vagrantfile caldrà explicitar la carpeta compartida, encara que per defecte es faci:+Al ''Vagrantfile'' caldrà explicitar la carpeta compartida, encara que per defecte es faci:
 <code ruby>config.vm.synced_folder ".", "/vagrant", type: "virtiofs"</code> <code ruby>config.vm.synced_folder ".", "/vagrant", type: "virtiofs"</code>
      
Línia 99: Línia 154:
  
 Si vols fer //nested virtualization// amb libvirt et recomano la [[https://nts.strzibny.name/inception-running-vagrant-inside-vagrant-with-kvm/|lectura d'aquest post sobre virtualizació aniuada amb Vagrant]]. Si vols fer //nested virtualization// amb libvirt et recomano la [[https://nts.strzibny.name/inception-running-vagrant-inside-vagrant-with-kvm/|lectura d'aquest post sobre virtualizació aniuada amb Vagrant]].
 +
 +\\
 +
 +===== Escriptoris =====
 +
 +Les imatges oficials Vagrant solen ser versions //server// o //headless//, és a dir, sense escriptori. Si el vols afegir, sempre el pots instal·lar amb:
 +  $ sudo apt-get update
 +  $ sudo apt-get install -y gnome
 +  
 +També podeu instal·lar altres escriptoris com ''lxde'', ''xfce'' o ''kde'' enlloc de ''gnome''.
 +
 +Perquè funcioni adequadament amb l'aplicació ''virt-manager'', en particular per gestionar bé l'idioma del teclat, convé afegir els //settings// perquè faci servir el visor SPICE enlloc del VNC:
 +<file ruby Vagrantfile>
 +  config.vm.provider "libvirt" do |libvirt|
 +    libvirt.memory = "4096"
 +    libvirt.cpus = 2
 +    libvirt.graphics_type = "spice"
 +    libvirt.video_type = "qxl"
 +    libvirt.channel :type => 'spicevmc', :target_name => 'com.redhat.spice.0', :target_type => 'virtio'
 +  end
 +</file>
  
  
vagrant_ubuntu_libvirt.1771261970.txt.gz · Darrera modificació: 2026/02/16 17:12 per enric_mieza_sanchez