【问题标题】:Vagrant: what is the difference between "shared" and "synced" directories?Vagrant:“共享”和“同步”目录有什么区别?
【发布时间】:2014-03-28 08:31:35
【问题描述】:

Vagrant 似乎可以互换使用“共享”和“同步”这两个词。有区别吗?如果有,有什么区别?

IMO,“同步”意味着数据在两个地方重复,Vagrant 做了一些魔术来确保对一个地方的更改也会对另一个地方进行。这与“共享”的语义略有不同。 Vagrant 是在做什么,还是两者都可以?

编辑: 例如,我想要一个运行 MySQL 服务器的 VM,但将数据库文件存储在主机上。这种设置是否适合共享/同步目录?例如,我是否有原子性/事务性的保证?共享语义可以保证这一点,但同步语义可能不会。

(更糟糕的是,还有Vagrant Share,与同步或分享无关。)

【问题讨论】:

    标签: share sync vagrant


    【解决方案1】:

    共享文件夹(v1 术语)VS 同步文件夹(在 v2 中重命名)

    简而言之:共享文件夹更特定于 VirtualBox (vboxsf),并且随着文件数量的增长而出现已知的性能问题。

    Vagrant v2 (vagrant 1.1.x, 1.2.x +) 文档使用更通用的名称,称为 Synced Folder,现在包括许多选项:默认 vboxsfrsync、samba/ CIFS、NFS。

    默认情况下,vagrant 将项目目录(Vagrantfile 所在的位置)与来宾中的/vagrant 同步。这可以通过在Vagnrantfile 中显式禁用并执行vagrant reload 来禁用。

    例如config.vm.synced_folder ".", "/vagrant", disabled: true

    要查看长篇故事,请参阅此答案:https://stackoverflow.com/a/18529697/1801697

    我们来谈谈同步

    对于vboxsfnfs,主机和来宾文件夹(我的意思是同步文件夹)始终保持同步(任何一方所做的更改都会同步到另一方)。

    注意:SMB/CIFS 应该相同,但我从未使用过。

    在 vagrant 1.5 中,添加了 rsync 类型,这使得手动同步成为可能,默认情况下它在第一次 vagrant up 时从主机同步到客户机。我个人更喜欢rsync,如果需要在主机之间进行实时同步并且不需要

    顺便说一句:Vagrant 共享有所不同,它通过云网关共享 SSH 访问或其他服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 2013-10-31
      • 2023-04-07
      • 2012-08-03
      • 2011-05-22
      相关资源
      最近更新 更多