我正在尝试配置一个主 - 主MySQL对,只有在它们都启动时才能正确配置它们.
Vagrant.configure("2") do |config|
web.vm.box = "centos/7"
config.vm.define "primary" do |primary|
.......
end
config.vm.define "secondary" do |secondary|
.......
end
end
Run Code Online (Sandbox Code Playgroud)
我已经多次运行,Vagrant只在第一个启动后启动第二个vm.
有没有办法迫使Vagrant同时启动两个VM?
vagrant up支持使用以下键启动并行VM --parallel:
-[no-] parallel如果提供程序支持,则启用或禁用并行性
默认vagrant提供程序VirtualBox不支持它,但是您可以使用启动虚拟机,同时xargs支持使用键并行执行命令-P <max-procs>(示例正是为您的Vagrantfile提供的):
grep config.vm.define Vagrantfile | awk -F'"' '{print $2}' | xargs -P2 -I {} vagrant up {}
Run Code Online (Sandbox Code Playgroud)
Vagrantfile 可以在变量中包含这些框,因此静态 grepping Vagrantfile 不会在所有情况下都成功。
以下是另一种捕获由创建的名称的方法 vagrant status
vagrant status | \
awk '
BEGIN{ tog=0; }
/^$/{ tog=!tog; }
/./ { if(tog){print $1} }
' | \
xargs -P2 -I {} vagrant up {}
Run Code Online (Sandbox Code Playgroud)
vagrant status获取由 管理的机器的报告Vagrantfile,打印为 2 个空行之间的每行机器。 awk 命令捕获 2 个空行之间的所有机器行并打印每个机器行的第一个单词(它们是机器名称)。 xargs命令将流更改为可以使用该-P选项并行使用的参数。| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |