我正在尝试更快地配置基本相同的流浪汉VM(仅在网络上有所不同)的多个副本。我遇到的问题是,流浪汉似乎在每台机器上按顺序执行配置步骤。
我想在这里节省时间的原因是因为我使用vagrant作为测试工具的一部分,所以我需要尽量减少运行测试所需的时间。
例如,请考虑以下Vagrantfile:
N_HOSTS = 3
$script = <<SCRIPT
sudo apt-get -y update
SCRIPT
Vagrant.configure("2") do |config|
(1..N_HOSTS).each do |i|
config.vm.define "host#{i}" do |sc|
sc.vm.box = "ubuntu/xenial64"
sc.vm.network "private_network", ip: "192.168.10.#{10 + i}"
sc.vm.hostname = "host#{i}"
end
end
config.vm.provision "shell", inline: $script
end
这相对简单。所有这一切都是apt-get update
,但vagrant up
在空闲的桌面上占用2分15秒。
答案 0 :(得分:1)
您可以使用sudo ufw allow 8983
并行启动VM,它支持使用密钥xargs
执行并行命令(对于您的Vagrantfile):
-P <max-procs>
因此,如果你想同时启动三个虚拟机,那就是:
seq 1 N | xargs -PN -I {} vagrant up host{}