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となっている場合もあり、その場合には対応する記述にしないとエラーとなるので注意。