2016年9月29日

ブロードバンドタワー國武です。

Vagrant での小ネタです。

Vagrant で複数台サーバを立ち上げる方法については、Google先生がいろいろ教えてくれますが、複数種類のOS(UbuntuとCentOS7, CentOS6 を混在で)を起動する方法について記述しているものは、あまり見当たらないようです。

わかっていれば簡単な話です。ここでは Ubuntu 14.04, CentOS6, CentOS7, FreeBSD 11 を同時に立ち上げる Vagrantfile のサンプルを提示します。

# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.define "router" do |router|
    router.vm.box = "ubuntu14.04"
    router.vm.network :private_network, ip: "192.0.2.254"
  end

  config.vm.define "web1" do |web|
    web.vm.box = "centos6"
    web.vm.network :private_network, ip: "192.0.2.10"
  end

  config.vm.define "web2" do |web|
    web.vm.box = "centos6"
    web.vm.network :private_network, ip: "192.0.2.20"
  end

  config.vm.define "bsd" do |bsd|
    bsd.vm.box = "freebsd11"
    bsd.vm.network :private_network, ip: "192.0.2.30"
  end
end

なお、それぞれの box は事前に導入しておく必要があります。上記内容で Vagrantfile を作れば

$ vagrant status
Current machine states:

router                    not created (virtualbox)
web1                      not created (virtualbox)
web2                      not created (virtualbox)
bsd                       not created (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

と、それぞれ認識されるので、あとは vagrant up すれば OK です。

本ブログの情報につきましては、自社の検証に基づいた結果からの情報提供であり、
品質保証を目的としたものではございません。

投稿者: Koichi KUNITAKE

XenServerやLinux周りを触ってます。IPv6はボチボチ……