質問

私は(再)ヴァグラントボックスを包装して奇妙な問題に直面しています、そして、誰かがどの方向に見るべき方向に私に言うことができることを願っています。これは物語

です

  • 私はヴァグラントをインストールし、何人かの人形のマニフェストとそれをうまく作成しました。
  • その後、NFSがゲストOSにインストールされていないために失敗したNFSに切り替える必要がありました(Ubuntu 11.04-AMD64)
  • 私はゲストOS(sudo apt-get install nfs-common
  • にNFS-Commonをインストールしました
  • vagrant halt
  • vagrant up
  • とNFSマウントは、いくつかの停止/ upコマンドの後であっても、うまく機能します、私は幸せです!

次の論理ステップは、VMが破壊されるたびにNFS-COMMONを再インストールする必要がないようにボックスをパッケージ化します。

  • 上記と同じディレクトリにあります.vagrant package
  • vagrant box add ubuntuvm2 package.box
  • rm package.box
  • VagrantFileでLine config.vm.boxをubuntuvm2
  • に変更します。
  • vagrant destroy
  • vagrant up
  • と突然NFSマウントがすべて失敗した場合、VMにSSH処理が失敗すると、NFS-Commonが確かにインストールされているがNFSマウントが失敗した場合は https://img.skitch.com/20120302-kwix296t44y31rxkd52pwm72f4.jpg

誰もが解決策を探すのを始める方向にアイデアを持っていますか?

OS-X Lion

でVirtualBox 4.1.8とVagrant 1.0.0を使用しています。

役に立ちましたか?

解決

私は同じ問題を抱えていましたが、私はそれを考え出しました。少なくともそれは今私のために働きます。 :)

tl; DR:

  • 構文エラーの場合は/ etc / exportsをチェックし、エントリを使用して/ etc / exportsを確認してください。
  • ボックス上のネットワークインタフェースを確認することは正しく初期化されます(/ etc / network / interfacesをチェックしてifconfig -aを実行)。
  • 少なくともDebunとUbuntuは/etc/udev/rules.d/70-persistent-net.rulesの永続ネットワークデバイスに関する情報を格納します。 eth1がeth2として初期化されていることがわかった場合は、新しいボックスインスタンスを作成するときにネットワークカードのMACアドレスが再生成されるためです。 rm /etc/udev/rules.d/70-persistent-net.rulesとあなたのボックスの再パッケージ。
  • あなたがあなたのボックス更新/ etc / network /インタフェースを再埋め込むことができない場合は、eth2 inthaのeth1
  • を使用する

長い形:

  • vagrantは1.0.1
  • です。
  • OS Xは10.7.3
  • です
  • ボックスはカスタムDebian whezy 64です。

ボックスを再ロードまたは再作成するときは、典型的なメッセージでNFSマウントで死亡します。

[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.
.

NFS Manager /エクスポートに構文エラーが含まれています。

このエントリを使用して/ etc / exportsを削除し、テストNFSクライアントとサーバーをテストします。

/Users/tm/git -alldirs localhost 33.33.33.10
.

vagrantを実行するときは、NFSマウントが再度動作しています。

APT-GET-GET-UPGETの後の再梱包ボックスの場合、NFSフォルダが再度マウントされないことに気づいた。

/ etc / exportsファイルにエラーはありませんでした。 vagrantがホストローカルインタフェースを初期化していないことを検出しました。

/ etc /ネットワーク/インタフェースにはこれが含まれていました:

#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はこれを返しました:

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)
.

インタフェースは正しく定義されていませんでした。 / etc / network / intefacesを更新した後、Stanzaはeth2 NFSマウントを使用しています。

他のヒント

ここでの既存の答えに加えて:可能なファイアウォールを忘れないでください。ホストマシンでファイアウォールを実行すると。エラーメッセージがそれを示していないようであっても、エラーは非常に一般的です。

NoobProofおよび/またはIcefloorを使用している場合は、ファイアウォールを無効にするか、適切な例外を実行します。

Ubuntu 12ホスト/ Ubuntu 12ゲスト次は談話で私のために働いた

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
.

注私はまた、Vagrantによって決定されたvagrantとゲストIPによって決定されたホストIPをファイアウォールの例外に決定しなければなりません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top