GNU/Linux >> Linux の 問題 >  >> Linux

Ansible プロビジョナーを使用して Vagrant マシンを再起動すると、同期されたフォルダーが失われる

プロビジョニング中にマシンが再起動されていることを Vagrant が知る方法はありません。

可能であれば、ここでの再起動を完全に回避することをお勧めします。たとえば、ベース ボックスを構築するときに、カーネルの更新が既に行われている必要があります。

もう 1 つの簡単な (しかしあまり便利ではない) 方法は、ログ出力またはドキュメント、または vagrant up && vagrant reload を呼び出すラッパー スクリプトで処理することです。 .

最後に、プロビジョニング後に必要なすべてのマウントなどのアクションを Vagrant ミドルウェア スタックに挿入するプラグインを作成できますが、マシンが起動したことをプラグインに知らせる方法を考える必要があります。もう 1 つの課題は、これがプロバイダー固有のものになりやすいことです。


ファイルシステムを /etc/fstab に追加して、起動時にマウントできるはずです。

これが私の例です:

vagrant /vagrant    vboxsf  defaults    0   0
home_vagrant_src    /home/vagrant/src   vboxsf  defaults    0   0
home_vagrant_presenter-src  /home/vagrant/presenter-src vboxsf  defaults    0   0

vagrant ディレクトリには .vagrant 隠しディレクトリがあり、そこに「synced_folders」ファイルへのパスが見つかるはずです (私の場合:/vagrant/.vagrant/machines/default/virtualbox/synced_folders ).

このファイルは、ラベルとそのマウント ポイントを理解するのに役立ちます:

{"virtualbox":{"/home/vagrant/src":{"guestpath":"/home/vagrant/src","hostpath":"/home/rkomorn/src","disabled":false,"__vagrantfile":true},"/home/vagrant/presenter-src":{"guestpath":"/home/vagrant/presenter-src","hostpath":"/home/presenter/src","disabled":false,"__vagrantfile":true},"/vagrant":{"guestpath":"/vagrant","hostpath":"/home/rkomorn/vagrant","disabled":false,"__vagrantfile":true}}}

読むのは簡単ではありませんが、Python の用語を使用すると、ラベルは / を _ に変換した内部辞書のキーのように見えます (例:/home/vagrant/presenter-src キーは home_vagrant_presenter-src ラベルになりました)。

vagrant が共有フォルダーに /etc/fstab を使用しない理由は実際のところわかりませんが、それには十分な理由があると思います。


Linux
  1. 最後にWindowsを使用したのはいつですか。

  2. Windows –デュアルブートマシンを使用しているときにWindowsがGrubを上書きしないようにするにはどうすればよいですか?

  3. Vlcを使用しているときに、スクリーンセーバーが起動し続けるのはなぜですか?

  1. Linux – Zramを使用する場合のVm.swappinessの適切な値は?

  2. mail コマンドを使用してメールを送信するときの from ユーザーを指定します。

  3. Linux を使用してドライブ内のフォルダー数をカウントするにはどうすればよいですか?

  1. コピー先よりも新しいファイルのみをコピーする

  2. スリープ後 (または接続が失われた場合) に sshfs によってマウントされたフォルダーにアクセスできない

  3. lvm を使用する場合、fdisk パーティションの種類は重要ですか?