GA

ラベル VirtualBox の投稿を表示しています。 すべての投稿を表示
ラベル VirtualBox の投稿を表示しています。 すべての投稿を表示

2012/10/18

VirtualBoxで共有DISKファイルを作る

クラスタソフトの動作確認をする時に必要になったのでメモ。


まずはvdiファイルを新規作成しておく。

$ VBoxManage createhd --filename <ファイル名> --size <DISKのサイズ MB単位> --variant Fixed

共有DISKにセットアップするにはファイルサイズは固定でないといけないので、
--variant Fixedで予めファイル領域を全て確保しておく。



$ VBoxManage showhdinfo shared.vdi
UUID:                 49a0995c-bcaf-4315-8656-82633abde094
Accessible:           yes
Logical size:         10240 MBytes
Current size on disk: 10240 MBytes
Type:                 normal (base)
Storage format:       VDI
Format variant:       fixed default
Location:             D:\VirtualBox\vdis\shared.vdi


こんな風に作ってみた。
Windows上でCygwinからVBoxManage.exeを呼んでます。


$ VBoxManage modifyhd <ファイル名> --type shareable

modifyhdの--typeオプションでshareableを指定すると共有DISK型になる。
一瞬で終わる。



$ VBoxManage showhdinfo shared.vdi
UUID:                 49a0995c-bcaf-4315-8656-82633abde094
Accessible:           yes
Logical size:         10240 MBytes
Current size on disk: 10240 MBytes
Type:                 shareable
Storage format:       VDI
Format variant:       fixed default
Location:             D:\VirtualBox\vdis\shared.vdi



はいOK。
これで複数のVMのストレージポートに同時に繋げられるvdiファイルの完成。

GFS2なりOCFS2なりでmkfsしてやれば完成かな。

2012/09/05

VirtualBox仮想マシンの設定を一括で(?)変える

普段はもともとテンプレートになるVMが作ってあって、そこからcloneしている。

途中でテンプレートに追加したい様な設定を思い付いても、
既に作っちゃったVMに対しては手動で追加する必要があるわけで。
流石に10を超えると手でやるのは面倒くさくなったのでコピペ用メモ。


ホストはWindows7 + cygwinだけれど、
cygwinを管理者として実行したらVBoxManageが動かなかったので注意。


$ VBoxManage list vms | awk -F[\{\}] '{print $2}' | while read vmname ; do
> VBoxManage sharedfolder remove $vmname --name src
> VBoxManage sharedfolder add $vmname --name src --hostpath c:\\cygwin\\usr\\local\\src
> done

これは共有フォルダの一括追加パターン。
removeしてからaddしてるけど、もともと共有フォルダsrcが設定されていないVMの分は
VBOX_E_OBJECT_NOT_FOUNDでエラーになるけど無視する。


VBoxManageに渡すコマンドの部分を変えれば一応いろんな一括変更に使える。はず。

2012/08/15

vdiファイルのサイズを後から変更する

VBoxManageのmodifyhdコマンドでいける。
vdiファイルをつかんでいるVMを止めてから、

cmd> VBoxManage.exe <vdi filename> --resize <変更後のサイズ[MB]>

VBoxManage極めたいんだけど時間が取れないなぁ。。


http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi



【2012/08/19】
vdiファイルを拡張しても、その上に作られたパーティションは自動で大きくなったりはしないので、
fdiskだったりlvextendだったりresizefsだったりは必要。

2012/08/09

CentOS6.2 minimalでVirtualBox共有フォルダを使う

昔とことんハマったのでメモ。

VBoxGuestAdditionsのCDを入れて起動。
(VirtualBoxのインストールフォルダにVBoxGuestAdditions.isoがあったと思う)


rootでログインして、適当なところにマウントする。

# mount -t iso9660 -r /dev/cdrom /mnt


ゲストOSの現在のkernel sourceを求められるので、yumでkernel-develを突っ込んでおく。
ちゃんと使ってるkernelのバージョンと合わせないとGuestAdditionが突っ込めないので
uname -rで今のバージョンと合わせる。

# yum install kernel-devel-`uname -r`
..
No package kernel-devel-2.6.32-220.el6.x86_64 available.

あれ、無い。6月くらいまではあったと思うんだけど。
`kernel-devel-2.6.32-220.el6.x86_64'でぐぐると出てきたのでそれをインストール。
(バージョン番号はよしなに変える)


その他GuestAdditionのコンパイルに必要なmake,gcc,perlのパッケージを入れる。

# yum install make gcc perl


インストールはシェルスクリプト一発でやってくれる。

# /mnt/VBoxLinuxAdditions.run
..
Starting the VirtualBox Guest Additions                    [  OK  ]
..

このメッセージが出てればOK。
X Windowを入れていない環境だと
Installing the Window System drivers                       [失敗]
(Could not find the X.Org or XFree86 Window System.)
が出る。気にしない。


リブートすれば下準備は完了。
GUIなりVBoxManageから共有フォルダを設定してやる。
`フォルダ名'はマウントする時に使うので、判りやすいアルファベットで。

# mount -t vboxsf <フォルダ名> <マウントポイント>

俺はいつもホストOSのデスクトップを/root/deskにマウントしているので、
/etc/fstabにも
Desktop                 /root/desk              vboxsf  defaults        0 0
って書いてある。

vboxfsじゃなくて、vboxsf。ここが一番ハマった。。

2012/05/18

VirtualBoxのI/O速度

VirtualBoxゲストOSのI/O速度に関係するもの。

vdiファイルをdynamicにするかfixedにするか(fixedの方が当然速い)
コントローラの設定で、ホストOSキャッシュを有効にするか(デフォルトで無効。有効にしたら5倍以上違った)


【2012/06/04】
前に書いた時に5倍ってしてあるけど…微妙だったな。
手元のVirtualBox環境で試した実測値。

$ dd if=/dev/zero of=./zero bs=10M count=1000
3回計った平均値。

4CPU,4096MB,ホストOSキャッシュON ⇒ 70MB/s
4CPU,4096MB,ホストOSキャッシュOFF ⇒ 155MB/s

【2012/06/12】
あれ? OSキャッシュONの方が低くなってる…書き間違い?;

2012/05/15

VBoxServiceの罠

作業環境はVirtualBoxをずっと愛用している訳だけれども、最近ようやく知った罠。

VBoxServiceが提供している機能は今知っている限り2つ。
(あ、X11は使ってない)

1) 共有フォルダの自動マウント
2) 時刻を一定周期(?)でホストOSのものと合わせる

2)のおかげで閏秒のテストするのにすごく疲れた。。
気付くの遅すぎた(´・ω・`)

2012/05/07

VirtualBoxで予めvdiファイルを作っておく

Virtualboxで動かしている仮想マシンに、FIXEDのHDDをつなげたいとき。
(オンデマンドで自動拡張じゃなくて、その大きさのファイルを先に作る)

vdiファイルを作ってる間にわざわざ仮想マシン止めて待ちたくないのでコマンドラインから。


$ VBoxManage createhd --filename test.vdi --size 10240 --variant Fixed
⇒sizeはMB単位。

VBoxManageで作ったファイルはGUIで引っ付けても良いし、CUIならこう。
$ VBoxManage storageattach cent01 --storagectl SCSI --port 3 --type
hdd --medium test.vd
⇒コントローラ名に日本語が入っていると幸せになれない。
⇒ポート番号調べる必要がある。

ホットプラグに対応したコントローラならオンラインでも付けられる。
というか、オフラインでやるならGUIの方が判りやすい。