User Tools

Site Tools


informatica:linux:vagrant

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:vagrant [2020/03/23 17:10] – [Instalación] javiinformatica:linux:vagrant [2020/05/22 10:20] (current) – [Desinstalar por completo KVM + libvirt + vagrant] javi
Line 48: Line 48:
 https://www.vagrantup.com/downloads.html https://www.vagrantup.com/downloads.html
  
-2.2. Descargar+2.2. Instalar paquetes 
 + 
 +  sudo apt-get install wget 
 + 
 +2.3. Descargar
  
 <code> <code>
Line 56: Line 60:
 </code> </code>
  
-2.3. Comprobar+2.4. Comprobar
  
   vagrant --version   vagrant --version
Line 71: Line 75:
 3.1. Instalar paquete 3.1. Instalar paquete
  
-  sudo apt-get install libvirt-dev+  sudo apt-get install libvirt-dev build-essential
  
 3.2. Instalar plugin desde vagrant 3.2. Instalar plugin desde vagrant
Line 105: Line 109:
   sudo apt-get install nfs-common nfs-kernel-server   sudo apt-get install nfs-common nfs-kernel-server
  
 +===== Crear máquina virtual =====
  
-**TODO**+1. Crear vagrant file 
 + 
 +En este caso lo haremos manualmente, pero se podría crear con: 
 + 
 +  vagrant init debian/testing64 
 + 
 +Crear el archivo: 
 + 
 +  vim Vagrantfile 
 + 
 +Con el siguiente contenido: 
 + 
 +<code> 
 +Vagrant.configure("2") do |config| 
 +  config.vm.define :test_vm do |test_vm| 
 +    test_vm.vm.box = "debian/testing64" 
 +  end 
 +end 
 +</code> 
 + 
 +2. Crear la máquina virtual 
 + 
 +  vagrant up --provider=libvirt 
 + 
 +3. Comprobar 
 + 
 +3.1. Buscar la máquina virtual con virsh 
 + 
 +  sudo virsh list 
 + 
 +Salida esperada similar a: 
 + 
 +<code> 
 + Id   Name                   State 
 +-------------------------------------- 
 +    jenkins-node_test_vm   running 
 +</code> 
 + 
 +3.2. Conectarse 
 + 
 +  vagrant ssh 
 +   
 +Debemos estar dentro de la máquina 
 + 
 +4. Limpieza 
 + 
 +4.1. Salir de la máquina virtual 
 + 
 +  exit 
 +   
 +4.2. Eliminar la máquina virtual 
 + 
 +  vagrant destroy 
 +   
 +Pulsar 'y' y tecla 'enter' 
 +   
 +===== Desinstalar por completo KVM + libvirt + vagrant ===== 
 + 
 +  sudo service libvirtd stop 
 + 
 +  ps ax | grep libv 
 + 
 +  sudo killall /usr/sbin/dnsmasq 
 + 
 +  sudo apt-get purge libvirtkvm qemu* 
 + 
 +  sudo rm -fr /etc/libvirt/ 
 +  rm -fr ~/.vagrant* 
 +  sudo rm -fr /var/lib/libvirt/ 
 +  sudo rm -fr /etc/apparmor.d/libvirt/ 
 +  sudo rm -fr /var/run/libvirt/ 
 +  rm -fr ~/.config/libvirt 
 + 
 +  sudo rm -fr ~/.vagrant* 
 +  sudo rm -fr /tmp/.vagrant* 
 +  sudo rm -fr ~/.cache/libvirt 
 + 
 +Uninstalling Vagrant 
 +https://www.vagrantup.com/docs/installation/uninstallation.html 
 + 
 +  sudo rm -rf /opt/vagrant 
 +  sudo rm -f /usr/bin/vagrant 
 + 
 +  sudo ip link set virbr1 down 
 +  sudo brctl delbr virbr1 
 + 
 +===== Cambiar rango IPs de libvirt ===== 
 + 
 +  /etc/libvirt/qemu/networks/vagrant-libvirt.xml 
 + 
 +        before 
 + 
 +<code> 
 +<network ipv6='yes'> 
 +  <name>vagrant-libvirt</name> 
 +  <uuid>f9dd4e87-b07e-4722-a8a4-bd2b7bcd8aa5</uuid> 
 +  <forward mode='nat'/> 
 +  <bridge name='virbr1' stp='on' delay='0'/> 
 +  <mac address='52:54:00:41:40:ca'/> 
 +  <ip address='192.168.121.1' netmask='255.255.255.0'> 
 +    <dhcp> 
 +      <range start='192.168.121.1' end='192.168.121.254'/> 
 +    </dhcp> 
 +  </ip> 
 +</network> 
 +</code> 
 + 
 +  sudo virsh net-edit vagrant-libvirt 
 + 
 +<code> 
 +<network ipv6='yes'> 
 +  <name>vagrant-libvirt</name> 
 +  <uuid>f9dd4e87-b07e-4722-a8a4-bd2b7bcd8aa5</uuid> 
 +  <forward mode='nat'/> 
 +  <bridge name='virbr1' stp='on' delay='0'/> 
 +  <mac address='52:54:00:41:40:ca'/> 
 +  <ip address='10.151.0.1' netmask='255.255.255.0'> 
 +    <dhcp> 
 +      <range start='10.151.0.1' end='10.151.0.254'/> 
 +    </dhcp> 
 +  </ip> 
 +</network> 
 +</code> 
 + 
 +  sudo service libvirtd stop 
 + 
 +  sudo ifconfig virbr1 down 
 +  sudo ip link set virbr1 down 
 +  sudo brctl delbr virbr1 
 + 
 +  sudo service libvirtd start 
 + 
 +Bridge was NOT created... 
 + 
 +Solution: start the network 
 + 
 +  sudo virsh net-start vagrant-libvirt 
 + 
 +If still issues, try to stop/start the libvirt network: 
 + 
 +  sudo virsh net-destroy vagrant-libvirt 
 +  sudo virsh net-start vagrant-libvirt 
 + 
 +Then check editing it: 
 + 
 +  sudo virsh net-edit vagrant-libvirt
  
 ===== Errores ===== ===== Errores =====
Line 204: Line 354:
  
   sudo apt-get install nfs-common nfs-kernel-server   sudo apt-get install nfs-common nfs-kernel-server
 +
 +==== Volume for domain is already created. Please run 'vagrant destroy' first. ====
 +
 +Causa:
 +
 +Existe un volumen de libvirt con el mismo nombre "default", probablemente porque no se ejecutó el "vagrant destroy" para hacer limpia con la VM
 +
 +Solución:
 +
 +Primero intentar:
 +
 +  vagrant destroy
 +  
 +Y re-intentar:
 +
 +  vagrant up
 +
 +
 +Si eso no funciona:
 +
 +1. (Desde el docker host) Obtener el detalle de los volúmenes libvirt
 +
 +  sudo virsh vol-list default
 +
 +Salida esperada similar a:
 +
 +<code>
 + Name                                                        Path
 +------------------------------------------------------------------------------------------------------------------------------------------------
 + container__default.img                                      /var/lib/libvirt/images/container__default.img
 + debian-VAGRANTSLASH-buster64_vagrant_box_image_10.3.0.img   /var/lib/libvirt/images/debian-VAGRANTSLASH-buster64_vagrant_box_image_10.3.0.img
 + docker_default.img                                          /var/lib/libvirt/images/docker_default.img
 +</code>
 +
 +2. Suprimir el volumen.
 +
 +**TODO**: dar más pistas de cómo determinar exactamente el volumen a eliminar
 +
 +  sudo virsh vol-delete container__default.img default
 +
 +Salida esperada similar a:
 +
 +  Vol container__default.img deleted
 +
 +3. Volver a probar:
 +
 +  vagrant up
 +  
  
informatica/linux/vagrant.txt · Last modified: 2020/05/22 10:20 by javi