Domanda

Sto affrontando un grosso problema con (ri) imballando una scatola vagabondata e spero che forse qualcuno possa dirmi in quale direzione guardare. Questa è la storia

    .
  • Ho installato vagabondo e ho creato con successo alcuni manifesti di burattini e tutto funziona bene, vagabondi ... provisioning, ...
  • Poi avevo bisogno di passare a NFS che non è riuscito perché NFS non è stato installato sul mio OS Guest (Ubuntu 11.04-AMD64)
  • Ho installato NFS-Comune sul sistema operativo guest (sudo apt-get install nfs-common)
  • vagrant halt
  • vagrant up
  • E il supporto NFS funziona in modo impeccabile, anche dopo diversi comandi di arresto / up, sono felice!

Il prossimo passo logico sarebbe imballare la casella in modo da non aver bisogno di reinstallare NFS-Comune ogni volta che la VM viene distrutta.

    .
  • Nella stessa directory di cui sopra: vagrant package
  • vagrant box add ubuntuvm2 package.box
  • rm package.box
  • Cambia la linea config.vm.box in VagrantFile su Ubuntuvm2
  • vagrant destroy
  • vagrant up
  • E tutto sommato il supporto NFS fallisce, quando la sshie nella VM I può confermare che NFS-Common è in effetti installato, ma la montatura NFS non riesce semplicemente: https://img.skitch.com/20120302-kwix296t44y31rxkd52pwm72f4.jpg

Qualcuno ha un'idea in quale direzione iniziare a cercare una soluzione?

Sto usando VirtualBox 4.1.8 e Vagrant 1.0.0 su OS-X Lion

È stato utile?

Soluzione

Ho avuto lo stesso problema, ma l'ho capito. Almeno funziona per me ora. :)

TL; DR:

    .
  • Verifica / etc / exports per errori di sintassi e ricreare / etc / esporta con una voce che si assicura funziona.
  • Verifica le interfacce di rete sulla casella vengono inizializzate correttamente (controllo / etc / rete / interfacce ed eseguire ifconfig -a).
  • Almeno Debian e Ubuntu Store Informazioni sul dispositivo di rete persistenti in /etc/udev/rules.d/70-persistent-net.Rules. Se vedi che ETH1 è inizializzato come ETH2 è dovuto al fatto che l'indirizzo MAC della scheda di rete è rigenerato quando si crea una nuova istanza della scatola. rm /etc/udev/rules.d/70-persistent-net.rules e rimborsa la tua scatola.
  • Se non è possibile riconquista il tuo aggiornamento della casella / etc / rete / interfacce per utilizzare l'instad eth2 di eth1

Forma lunga:

    .
  • vagabant è 1.0.1
  • OS X è 10.7.3
  • Box è personalizzato Debian Wheezy 64.

Quando si ricaricano o ricreando la scatola sarebbe morta su NFS montare con il messaggio tipico.

[default] Mounting NFS shared folders...
Mounting NFS shared folders failed. This is most often caused by the NFS
client software not being installed on the guest machine. Please verify
that the NFS client software is properly installed, and consult any resources
specific to the linux distro you're using for more information on how to
do this.
.

Ispezione del file / etc / exports con NFS Manager Mi dice il mio / ecc / Le esportazioni contengono errori di sintassi.

I PULITO / etc / EXPORTS e Test NFS client e server con questa voce:

/Users/tm/git -alldirs localhost 33.33.33.10
.

Quando si esegue il montaggio VAGRENT UP NFS funziona di nuovo.

Quando il riquadro di riconfezionamento dopo Apt-Get Dist-Upgrade ho notato che le cartelle NFS non si montano di nuovo.

Questa volta non c'erano errori nel file / etc / exports. Ho scoperto Vangant non ha inizializzato l'interfaccia locale host.

/ etc / rete / interfacce conteneva questo:

#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
    address 33.33.33.10
    netmask 255.255.255.0
#VAGRANT-END
.

ifconfig -a restituito questo:

eth0      Link encap:Ethernet  HWaddr 08:00:27:3a:47:72  
      inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
      inet6 addr: fe80::a00:27ff:fe3a:4772/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:971 errors:0 dropped:0 overruns:0 frame:0
      TX packets:614 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:83951 (81.9 KiB)  TX bytes:74872 (73.1 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:89:f5:e3  
      BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
.

L'interfaccia non è stata definita correttamente. Dopo aver aggiornato la stanza / etc / network / inteseces per utilizzare il montaggio ETH2 NFS funziona di nuovo.

Altri suggerimenti

Ecco un bug aperto su questo e una soluzione:

https://github.com/mitchellh/vagrant/issues/997 .

    .
  1. Modifica /etc/udev/rules.d/70-persistent-net.rules ed elimina linee per interfacce diverse da eth0
  2. vagrant package
  3. vagrant box add mypack package.box
  4. vagrant destroy
  5. in Vagrantfile Set config.vm.box to mypack
  6. vagrant up
  7. Ho testato questo su Mac OS X 10.7.5 e Centos 6.2 64 bit

    Aggiornamento: Il bug è ora chiuso e spostati ma sembra che la gente abbia ancora il problema.

Oltre alle risposte esistenti qui: non dimenticare i possibili firewalls.Se esegui un firewall sulla tua macchina host.L'errore è molto generico, anche se il messaggio di errore non sembra indicarlo.

Se si utilizza Norpolore e / o IceFloor, disabilita il firewall o effettuare le eccezioni corrette.

su Ubuntu 12 host / ubuntu 12 ospite Il seguente funzionava per me con il discorso

nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", type: "nfs", nfs_udp: "true", nfs_version: "4", :nfs => nfs_setting
.

Nota;Ho anche dovuto aggiungere IP host determinato da Vagrant e Guest IP determinato da vagabondi alle eccezioni del firewall

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top