2015-04-19 7 views
18

में सिंक्रनाइज़ नहीं कर रहा है, मैं नीचे एक सीएमडी डंप में दिखाए गए एक योनि मशीन में एक सिंक किया गया फ़ोल्डर स्थापित कर रहा हूं और उम्मीद करता हूं कि जब भी मैं मेजबान मशीन पर इस फ़ोल्डर में फ़ाइलों को अपडेट करता हूं तो अद्यतन अंदर दिखाई देंगे अतिथि मशीन भी, हालांकि यह नहीं हो रहा है।योनि में सिंक किया गया फ़ोल्डर रीयलटाइम

mypc:~ user$ cd Projects/synctest/ 
mypc:synctest user$ ls 
Vagrantfile 
mypc:synctest user$ cat Vagrantfile 
# -*- mode: ruby -*- 
# vi: set ft=ruby : 

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 

    # always use Vagrants insecure key 
    config.ssh.insert_key = false 

    # Setup box 
    config.vm.box = "coreos-stable" 

    # Setup shared folder 
    config.vm.synced_folder ".", "/vagrant" 

    # Setup memory usage 
    config.vm.provider "virtualbox" do |v| 
    v.memory = 2048 
    end 

    # Define `dev` vm 
    config.vm.define :dev do |dev| 
    end 

    if Vagrant.has_plugin?("vagrant-cachier") 
    config.cache.scope = :box 
    end 

end 
mypc:synctest user$ echo "test1" > test.txt 
mypc:synctest user$ cat test.txt 
test1 
mypc:synctest user$ vagrant up 
Bringing machine 'dev' up with 'virtualbox' provider... 
==> dev: Importing base box 'coreos-stable'... 
==> dev: Matching MAC address for NAT networking... 
==> dev: Checking if box 'coreos-stable' is up to date... 
==> dev: Setting the name of the VM: synctest_dev_1429451824339_35638 
==> dev: Fixed port collision for 22 => 2222. Now on port 2200. 
==> dev: Clearing any previously set network interfaces... 
==> dev: Preparing network interfaces based on configuration... 
    dev: Adapter 1: nat 
==> dev: Forwarding ports... 
    dev: 22 => 2200 (adapter 1) 
==> dev: Running 'pre-boot' VM customizations... 
==> dev: Booting VM... 
==> dev: Waiting for machine to boot. This may take a few minutes... 
    dev: SSH address: 127.0.0.1:2200 
    dev: SSH username: core 
    dev: SSH auth method: private key 
    dev: Warning: Connection timeout. Retrying... 
==> dev: Machine booted and ready! 
==> dev: Rsyncing folder: /Users/user/Projects/synctest/ => /vagrant 
==> dev: Rsyncing folder: /Users/user/.vagrant.d/cache/coreos-stable/ => /tmp/vagrant-cache 
==> dev: Configuring cache buckets... 
mypc:synctest user$ vagrant ssh 
CoreOS stable (633.1.0) 
[email protected] ~ $ cd ../../vagrant/ 
[email protected] /vagrant $ ls 
Vagrantfile test.txt 
[email protected] /vagrant $ cat test.txt 
test1 
[email protected] /vagrant $ exit 
logout 
Connection to 127.0.0.1 closed. 
mypc:synctest user$ cat test.txt 
test1 
mypc:synctest user$ echo "test2" > test.txt 
mypc:synctest user$ cat test.txt 
test2 
mypc:synctest user$ vagrant ssh 
Last login: Sun Apr 19 13:57:37 2015 from 10.0.2.2 
CoreOS stable (633.1.0) 
[email protected] ~ $ cd ../../vagrant/ 
[email protected] /vagrant $ ls 
Vagrantfile test.txt 
[email protected] /vagrant $ cat test.txt 
test1 
[email protected] /vagrant $ echo "hi from guest machine" > test.txt 
[email protected] /vagrant $ cat test.txt 
hi from guest machine 
[email protected] /vagrant $ exit 
logout 
Connection to 127.0.0.1 closed. 
mypc:synctest user$ cat test.txt 
test2 
mypc:synctest user$ 

तो यह और भी वास्तविक समय सिंक करने के लिए माना जाता है:

यहाँ डंप और यह नहीं हो रहा (मैं एक नमूना फ़ाइल बनाएं और उसे पाठ बदलकर test2 को test1 से उस में में संशोधित) का सबूत है? यदि हां, तो क्यों समन्वयित नहीं हो रहा है?

संपादित करें: OS X 10.8.5, VirtualBox, coreos बॉक्स।

उत्तर

25

आपके Vagrantfile में सिंक किए गए फ़ोल्डर प्रकार डिफ़ॉल्ट vboxsf है, हालांकि, योनि अप स्टडआउट में, यह rsync प्रकार दिखा रहा है, मुझे लगता है कि आपको इसे कॉन्फ़िगरेशन फ़ाइल में ठीक करने की आवश्यकता है।

मान लें कि आप rsync प्रकार का उपयोग कर रहे हैं, तो आप अपने Vagrantfile

Vagrant.configure("2") do |config| 
    config.vm.synced_folder ".", "/vagrant", type: "rsync", 
    rsync__exclude: ".git/" 
end 

नोट में निम्न होना चाहिए: डिफ़ॉल्ट रूप से, rsync__auto सही पर सेट है, जिसका अर्थ है rsync-auto देख सकते हैं और स्वचालित रूप से फ़ोल्डर समन्वयित होगा ।

रन vagrant rsync-auto और निर्देशिका होस्ट और अतिथि के बीच समन्वयित होनी चाहिए।

अधिक जानकारी के लिए vagrant docs का संदर्भ लें।

+0

उत्तर के लिए धन्यवाद। ऐसा लगता है कि मुसीबत "कोरोस" बॉक्स के साथ है। डिफ़ॉल्ट सेटअप वास्तव में इसके साथ काम नहीं कर रहा है। मैं [कोरोस-वानर भंडार] (https://github.com/coreos/coreos-vagrant/blob/master/Vagrantfile) से योनि से समन्वयित फ़ोल्डरों के सेटअप की नकल करना समाप्त कर दिया क्योंकि rsync-auto मेरे लिए काम नहीं करता है (मैं काम करने के लिए स्पष्ट रूप से 'वानर rsync-auto' शुरू करना था)। वैसे, अन्य बक्से (विशेष रूप से 'उबंटू/ट्रस्टी 64') के साथ डिफ़ॉल्ट सिंक सेटअप ठीक काम कर रहा है। –

+0

सहायता की खुशी है। कुछ बस मेरे दिमाग में आया, कोरोस/फाइल सिस्टम (बीआरटीएफएस उपवॉल) केवल पढ़ने के लिए माना जाता है? यह कारण हो सकता है ... –

+0

दुर्भाग्यवश मुझे आधिकारिक फेडोरा 22 वाग्रेंट बॉक्स के साथ एक ही समस्या है। सुझाए गए कॉन्फ़िगरेशन को जोड़ने और 'vagrant rsync-auto' चलाने से ऐसा कुछ प्रतीत नहीं होता है। – DuffJ

संबंधित मुद्दे