2014年4月12日土曜日

VagrantでVirtualBoxを利用する場合にVMの設定をVagrantfileで色々変えてみた

このエントリーをはてなブックマークに追加 はてなブックマーク - VagrantでVirtualBoxを利用する場合にVMの設定をVagrantfileで色々変えてみた

VagrantでVirtualBoxを利用する場合にVMの設定をVagrantfileを利用して変更する場合のメモを記載 。

やってみたこと。

  • GUIモードの起動
  • VM名称変更
  • メモリ変更
  • CPU数
  • ホストOSに対してのCPU利用制限率
  • HDDの追加

なお、基本的な記述は公式のこちら を参照の事。

GUIモードにする

Vagrantfileに以下の記述を追記すればGUI用のウィンドウが利用出来る。

config.vm.provider "virtualbox" do |vb|
  vb.gui = true
end

ただし、BOXにGUI用のソフトがインストールされていない場合には別途インストールが必要。

Ubuntuの場合、VagrantをGUIで立ち上げる(Ubuntu)を参考にして実施出来る事を確認。

VMの名称を設定する

デフォルトだとVMの名称はVagrantfileのあるフォルダ名称とタイムスタンプを利用したものになるので、以下で任意に設定可能

config.vm.provider "virtualbox" do |vb|
  vb.name = "my_vm"
end

ちなみに後述するvb.customizeを利用した以下でも設定可能。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--name", "my_vm"]
end

その他色々もっと変更したい

上記以外でも色々設定したい場合、Virtualboxの操作をCUIで行えるVBoxManageコマンドをvb.customizeをというような記述で記載する。

VBoxMangeに関する詳細は公式のこちら を参照の事。

例えばVBoxManage modifyvmというコマンドを利用して名称変更する場合には、以下のような記述となる。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id,
                "--name", "my_vm"]
end

上記はコマンドラインで

$VBoxManage modifyvm ubuntu64_default_1397309544936_13521 --name my_vm

というのを実行した場合と同義となる。

なお、ubuntu64_default_1397309544936_13521というようなどのVMに対して処理を実行するかをコマンドからは指定する必要があるが、Vagrantfileに記述する場合には:idと記載すればVM名称となるようにしてくれる。

デフォルトで既に記述があるが、メモリを変えたい場合には以下のようにする。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id,
                "--memory", "1024"]
end

CPUの数を変えたい場合はこんな感じ。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id,
                "--cpus", "2"]
end

ホストマシンのCPUをどれぐらいの利用制限率とするかも以下で変更出来る。

config.vm.provider "virtualbox" do |v|
  vb.customize ["modifyvm", :id,
                "--cpuexecutioncap", "50"]
end

また、こちらを参考に、以下のようにするとHDDの追加も可能だった。

config.vm.provider :virtualbox do |vb|
      file_to_disk = "./tmp/disk.vdi"
      if not File.exist?(file_to_disk) then
        vb.customize ["createhd",
                      "--filename", file_to_disk,
                      "--size", 100 * 1024]
      end
      vb.customize ['storageattach', :id,
                    '--storagectl', 'SATAController',
                    '--port', 1,
                    '--device', 0,
                    '--type', 'hdd',
                    '--medium', file_to_disk]
end

なお、上記のSATACOntrollerという箇所はSATA Controllerとなっている場合もあり、その場合には対応する記述にしないとエラーとなるので注意。

0 件のコメント:

コメントを投稿