Guia completa per instal·lar i utilitzar Vagrant a Hyper-V a Windows 11

Darrera actualització: 08/04/2025

  • Vagrant és compatible amb Hyper-V des de Windows 8.1 o superior i facilita entorns reproduïbles
  • Instal·lar i configurar Vagrant a Hyper-V requereix ajustaments específics en xarxa i aprovisionament
  • Hyper-V no permet certes funcions com IPs estàtiques fàcilment, però hi ha solucions complementàries
  • Es recomana utilitzar imatges 'boxes' compatibles amb Hyper-V per evitar errors d'arrencada
instal·lar Vagrant a Hyper-V-1

 

D'entrada, muntar entorns virtuals de forma ràpida i ordenada a Windows sembla una missió complexa. Per sort, comptem amb eines com Vagrant a Hyper-V per fer-ho possible. I encara que el seu ús està més associat a VirtualBox, també és plenament compatible amb aquesta tecnologia de virtualització que ja ve integrada a moltes versions de Windows.

Tot i això, instal·lar i configurar Vagant a Hyper-V no és tan fàcil com sembla. Hi ha passos clau i peculiaritats del proveïdor de virtualització de Microsoft que has de conèixer. En aquest article t'apropem tot allò necessari perquè posis en marxa entorns virtuals seguint aquesta fórmula i sense contratemps.

¿ Què és Vagrant i per què utilitzar Hyper-V?

Vagant és una eina de codi obert que permet construir entorns virtuals reproduïbles i portables a través de simples fitxers de configuració. Està pensada per a desenvolupadors, administradors de sistemes o qualsevol persona que necessiti entorns consistents entre equips, amb suport per a múltiples sistemes operatius.

D'altra banda, Hyper-V és l'hipervisor nadiu de Microsoft, inclòs en versions Professional, Enterprise i Education de Windows 8.1 en endavant. Ofereix un alt rendiment i estabilitat, especialment útil quan altres hipervisors com ara VirtualBox generen conflictes en entorns Windows moderns.

Un dels motius més comuns per optar per Hyper-V en lloc de VirtualBox és que alguns productes, com escriptori docker o WSL2 (subsistema de Linux per a Windows), necessiten que Hyper-V estigui activat. Això genera incompatibilitats amb VirtualBox, cosa que converteix Hyper-V en l'única solució vàlida si no volem estar activant i desactivant serveis.

Contingut exclusiu - Clic Aquí  Com Canviar Un Codi de Google Play

Avantatges d'usar Vagrant amb Hyper-V

Instal·lació de Vagrant i habilitació d'Hyper-V

Abans de començar a utilitzar Vagrant a Hyper-V, assegura't que el teu equip té Hyper-V activat.Cuidado, perquè no sol estar habilitat per defecte.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Després d'executar aquesta ordre, cal reiniciar l'ordinador perquè els canvis tinguin efecte.

En paral·lel, has de descarregar i instal·lar Vagrant des de la web oficial. L'instal·lador inclou tot el necessari perquè pugueu utilitzar l'ordre vagrant directament des de qualsevol terminal.

Un cop instal·lat, pots verificar que tot estigui correcte executant a la terminal:

vagrant --version

Aquesta ordre hauria de tornar-te la versió instal·lada, per exemple Vagrant 2.4.0.

Primer pas: preparar un entorn base

Vagrant es basa en “boxes”, que són imatges base de sistemes operatius preinstal·lats. Aquestes es descarreguen automàticament des de l'index públic conegut com a Vagrant Cloud. Per començar, cal crear una carpeta on treballaràs amb el teu projecte. Per exemple:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

aquesta comanda generarà un fitxer anomenat Vagrantfile que és on resideix tota la configuració de la màquina virtual. Dins seu hauràs d'ajustar alguns paràmetres clau per utilitzar Hyper-V.

Vagrant a Hyper-V

Configuració del proveïdor Hyper-V

Per defecte, Vagrant intentarà fer servir VirtualBox com a proveïdor. Per utilitzar Hyper-V, pots indicar-ho cada vegada llançant:

vagrant up --provider=hyperv

O bé, establir Hyper-V com a proveïdor per defecte configurant una variable dentorn:

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

Aquest pas es pot fer des de PowerShell o directament a les variables d'entorn del sistema.

Contingut exclusiu - Clic Aquí  Com s'instal·len actualitzacions a l'aplicació remota del Microsoft Office?

Dins del Vagrantfile, es recomana especificar el proveïdor amb configuracions específiques. Un exemple bàsic seria:

Vagrant.configure("2") do |config|
  config.vm.box = "generic/alpine36"
  config.vm.provider "hyperv" do |h|
    h.vmname = "mi_vm_hyperv"
    h.memory = 2048
    h.cpus = 2
  end
end

Aquests paràmetres permeten assignar memòria RAM, quantitat de nuclis i el nom que tindrà la màquina a Hyper-V.

Xarxes i connectivitat a Hyper-V

Un dels punts febles de Hyper-V a Vagrant és que no configura automàticament la xarxa. Per això hauràs de seleccionar manualment un vSwitch amb connectivitat externa ja creada a Hyper-V.

Per associar una xarxa privada o seleccionar un vSwitch concret, pots fer servir:

config.vm.network "private_network", bridge: "NombreDelvSwitch"

Tingues en compte que Hyper-V no permet configurar directament IPs estàtiques des de Vagrant, per la qual cosa s'han d'establir mitjançant scripts o modificant els paràmetres del sistema operatiu convidat.

 

hiper-v

Accés a la màquina: SSH i altres eines

Encara que sembli que a Windows no es pot fer servir SSH, Vagrant inclou un client SSH integrat, de manera que pots accedir-hi sense necessitat d'instal·lar programes addicionals.

Accedeix amb:

vagrant ssh

També pots fer servir PuTTY, però en aquest cas necessitaràs convertir la clau privada que genera Vagrant en format PPK (amb PuTTYgen), ja que no és compatible directament. La clau està ubicada a:

.vagrant/machines/default/hyperv/private_key

Això et permetrà connectar-te manualment des de qualsevol client SSH que prefereixis.

Aprovisionament amb scripts

Un dels majors beneficis de Vagrant és el seu suport per a aprovisionament automàtic, gràcies a scripts. Pots llançar scripts de shell per a instal·lacions repetibles:

config.vm.provision "shell", path: "bootstrap.sh"

Dins de l'arxiu bootstrap.sh pots incloure instruccions com:

apk update
apk add git

Això s'executarà la primera vegada que es creï la VM. Si vols tornar a aplicar l'script posteriorment, pots fer-ho:

vagrant reload --provision

Aprovisionament de VM amb scripts

Treballant amb múltiples màquines

Vagrant permet gestionar més d'una màquina des d'un fitxer. Això és útil per a laboratoris o clústers de servidors. Una configuració típica per a un laboratori pot incloure diverses definicions:

Vagrant.configure("2") do |config|
  config.vm.define "master" do |master|
    master.vm.box = "bento/ubuntu-20.04"
    master.vm.hostname = "master"
    master.vm.network :private_network, ip: "10.0.0.10"
  end

  (1..2).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = "bento/ubuntu-20.04"
      node.vm.hostname = "node#{i}"
      node.vm.network :private_network, ip: "10.0.0.#{i + 10}"
    end
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y avahi-daemon libnss-mdns
  SHELL
end

Això permet que les màquines es reconeguin mitjançant noms com node1.local o master.local gràcies a lús de mDNS.

Contingut exclusiu - Clic Aquí  Com jugar Ruzzle en altres idiomes

Consells sobre rendiment i compatibilitat

El rendiment de Vagrant a Hyper-V és generalment bo, però depèn de:

  • La potència del teu equip amfitrió (RAM, CPU, tipus de disc).
  • La imatge base usada (millor fer servir boxes optimitzades).
  • La quantitat de màquines funcionant alhora.
  • Ús de disc diferencial i aprovisionament lleuger.

Una pràctica habitual per scriptar múltiples entorns és crear-ne una box personalitzada que ja inclogui totes les teves categories: eines, serveis, rutes, etc. Això evita haver de tornar a instal·lar el mateix a cada instància.

Usar Vagrant a Hyper-V a Windows és totalment viable, encara que amb algunes limitacions que es poden solucionar amb petits ajustaments. Hyper-V aporta robustesa i compatibilitat amb tecnologies modernes de Microsoft, mentre que Vagrant facilita l'automatització i portabilitat de l'entorn de desenvolupament.