Vagrant:" shared"之间的区别是什么?并且"同步"目录?

时间:2014-03-27 12:50:22

标签: share sync vagrant

Vagrant使用“share”和“sync”这两个词看似可以互换。有区别吗?如果是这样,有什么区别?

IMO,“同步”意味着数据在两个地方重复,而Vagrant确实可以确保对另一个数据进行更改。这与“共享”略有不同。这是Vagrant做的,还是两者兼而有之?

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

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

1 个答案:

答案 0 :(得分:1)

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

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

Vagrant v2(vagrant 1.1.x,1.2.x +)文档使用更通用的名称同步文件夹,现在包含许多选项:默认vboxsf,{{1} },samba / CIFS,NFS。

默认情况下,vagrant将项目目录(rsync所在的位置)与guest虚拟机中的Vagrantfile同步。可以在/vagrant中明确禁用它并执行Vagnrantfile

来禁用此功能

e.g。 vagrant reload

要查看详情,请参阅以下答案:https://stackoverflow.com/a/18529697/1801697

我们来谈谈同步

对于config.vm.synced_folder ".", "/vagrant", disabled: truevboxsf,主机和来宾文件夹(我指的是已同步的文件夹)始终处于同步状态(任何一方所做的更改都会同步到另一方)。

  

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

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

BTW:Vagrant共享不同,它通过云网关共享SSH访问或其他服务。