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

2015年10月25日日曜日

Oracle OpenStack を VirtualBox に構築。その1

Oracle OpenStack for Oracle Linux + Oracle VM Server(OVMS)の環境を、
VirtualBox に作ってみようと思います。

(参考)
Oracle OpenStack for Oracle Linux Release 1.0
Installation and User’s Guide
http://www.oracle.com/technetwork/server-storage/openstack/linux/documentation/oracle-openstack-user-guide-2296176.pdf

今回は、環境説明です。

ソフトウェア構成。

ハイパーバイザは、OVMS です。
  • Oracle VM VirtualBox 5.0.4
  • Oracle Linux 6.7 64bit
  • Oracle VM Server for x86 3.3.3
  • Oracle OpenStack for Oracle Linux Release 1 (Icehouse)

2013年1月20日日曜日

VirtualBoxで共有ディスク(失敗例)

前回のエントリで、VirtualBoxの仮想ディスク(仮想ハードドライブ)の共有をしてみました。
今回は、
仮想ハードドライブの共有設定をしなかった場合にどうなるか試してみました。


メディアマネージャで仮想ハードドライブの共有を有効にしなかった場合

→そもそも、下記のエラーがでてVirtualBoxでVMが起動できませんでした。
仮想マシン"ovs002"のセッションを開けませんでした。
No error info.
終了コード : VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
コンポーネント: ProgressProxy
インターフェース: IProgress {c20238e4-3221-4d3f-8891-81ce92d9f913}



メディアマネージャで「共有可能」の設定をする場合は、
仮想ハードドライブが1台以下のVMからしか接続されていない状態にします。
2台以上が接続した状態で設定を変更しようとすると、下記のようなエラーが出ます。
メディアタイプを通常 から 共有可能 にする際にエラーが発生しました。
Cannot change the type of medium 'C:\Users\go\VirtualBox VMs\OVS-on-vBox\ovs001\disk2-newovs.vdi' because it is attached to 2 virtual machines.
終了コード : VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
コンポーネント: Medium
インターフェース: IMedium {29989373-b111-4654-8493-2e1176cba890}



仮想ハードドライブを「固定サイズ」で作成しなかった場合

→そもそも、下記のエラーがでて
VirtualBoxのメディアマネージャで「共有可能」が設定できませんでした。
メディアタイプを通常 から 共有可能 にする際にエラーが発生しました。
Cannot change type for medium 'C:\Users\go\VirtualBox VMs\OVS-on-vBox\ovs002\test-disk1.vdi' to 'Shareable' since it is a dynamic medium storage unit.
終了コード : VBOX_E_INVALID_OBJECT_STATE (0x80BB0007)
コンポーネント: Medium
インターフェース: IMedium {29989373-b111-4654-8493-2e1176cba890}



この場合は、
  • 「可変サイズ」で作成してしまったディスクを「固定サイズ」でコピーする
    • 対象の仮想ハードドライブを右クリック→コピーを選択して、
      「固定サイズ」のものをもう一つ作成する。
    • (コピーした仮想ハードドライブはメディアマネージャに登録されないので)
      VMにコピーした仮想ハードドライブを割り当てて、メディアマネージャに登録する。
  • 新規で、固定サイズの仮想ハードドライブを作成してVMに割り当てる。
のどちらかで共有可能の設定をできるようにします。


以上、VirtualBox でのディスク共有の失敗例でした。

2013年1月16日水曜日

VirtualBoxで共有ディスク

ちょっとLive Migrationができる環境を作りたいと思い
VirtualBox上にインストールした Oracle VM Server 2台に、
共有ディスクを割り当ててみました。
一部、画面をはしょって、空気だけお伝えします。

ポイントは、
  • 仮想ディスク(仮想ハードドライブ)のファイルは容量固定で作成する。
  • 仮想ハードドライブは、メディアマネージャで共有設定をする。
です。


手順1. 1台目のVMへのディスク割り当て(新規作成)

まず、1台目のVMでは、仮想ディスクを新規作成します。
仮想ディスクは、VirutalBoxでは仮想ハードドライブと呼びます。

最初に、VMに仮想的なストレージコントローラを追加します。
そのうえで、コントローラに仮想ハードドライブを追加します。


仮想ディスクのファイル形式は、「VDI」を選択しました。
他にも、VMwareで一般的なVMDK形式や、MicrosoftのVHD形式、
KVMでよく使われるQCOWなど、いろいろ選べます。



新規の仮想ディスク(仮想ハードドライブ)を「固定サイズ」 で作成します。


ファイル名には、自動的に拡張子が付けられます。
VDI形式なら、「.vdi」がファイル名の末尾に追加されます。

ディスク容量は、VMのディスクイメージを載せられる程度必要です。
(今回は4GBだけです)


1台目のVMは、このような設定になります。



手順2. VirtualBoxメディアマネージャでのディスク共有設定

ここまでで作成した仮想ハードドライブを、共有可能に設定します。
これはVM毎の設定画面ではなく、メディアマネージャにて実施します。

[ファイル] → [仮想メディアマネージャー] を開きます。


作成した仮想ハードドライブを右クリックして「変更」します。


メディア属性を変更する画面で、「共有可能」にします。



手順3. 2台目のVMへのディスク割り当て(既存ディスクの割り当て)

1台目のVMと同様に、2台目のVMに
仮想ストレージアダプタと、共有設定した仮想ハードドライブを割り当てます。

新規作成はせずに、「既存のディスクを選択」します。


ここまでで作成した仮想ハードドライブのファイルを選択します。
仮想ハードドライブのファイル(.vdi ファイル)は、
1台目のVM が格納されるフォルダに作成されています。


この方法で割り当てることで、
複数のVMで、仮想ハードドライブを共有ディスクにすることができます。


以上、VirualBoxで共有ディスクを割り当ててみる話でした。

2013年1月1日火曜日

OVS on VirtualBoxのネットワークは無差別モードにする

Oracle VM Server(OVS) on VirtualBoxのネットワーク構成についてです。

VirtualBox上のOVSで、さらにVM(ネストVM)を起動すると
そのままではOVS外部のネットワークとは接続ができません。

通常のVMであれば、VM自身に設定されたMACアドレスの通信だけを許可しています。
OVSでは、OVS自身だけでなくネストVMのもつMACアドレスの通信も
許可する必要があるので、プロミスキャス(MACを無差別)で通信するように設定を変更します。

たとえば、下図のような構成だった場合、
OVSをインストールしたVMでは、通常のVMの通信(Dom0のeth0の通信)だけでなく
ネストVMのNIC(VM1のeth0、VM2のeth0)の通信も発生します。


ネストVMを外部ネットワークと接続するためには、
OVSをインストールしたVMの仮想NICの設定で、プロミスキャスモードを有効化します。


VirutualBoxマネージャで、OVSをインストールしたVMのネットワーク設定を変更します。
下のスクリーンショットでは、プロミスキャスモードを「すべて許可」にして有効化しています。

プロミスキャスモードの設定はVMを起動したまま可能ですが、
設定後にOVSを再起動したほうがよいようです。
※VM起動したままの有効化ではうまく動作せず、ネストVMが外部と通信できませんでした。




この、プロミスキャスモードの設定は、
VM上で仮想化ソフトを動かす場合(ネステッドハイパーバイザ構成のときなど)は
OVSに限らず(KVMでも、ESXiでも)必要になり、外側の仮想化ソフトで設定をします。

以上、OVS on VirtualBoxのネットワークについてでした。

2012年12月29日土曜日

OVS on VirtualBox してみました(CPU仮想化支援機能なしでは無理)

Oracle VM Server on VirtualBoxをやってみました。
実際に構築してみると、

VirtualBoxをインストールするホストOSのPCは、
CPUの仮想化支援機能が必須でした。


仮想化支援機能が使用できなくてもOVSのインストールは正常終了しますが、
Xenを有効にした状態としてOVSを起動できませんでした。


駄目だった様子

まず、インストール直後にVMを起動すると
ホストOSが64bitなのでOVSデフォルトだと64bitカーネルで起動します。
 



デフォルトは、3行目の64bitカーネルです。



そこでGRUBで32bitカーネルを選択して起動したところ、
今度は起動途中でブラックアウトしてしまいました。

 
タイミングとしては「(Xen) Scrubbing Free RAM ...」というメッセージの直後だったので
GRUBの起動オプションに no-bootscrub をつけても改善しませんでした。



この画面の直後にブラックアウトします。



ためしに OVS 2.2.2、2.2.1、2.2.0 をインストールしてみましたが、
いずれのバージョンもも同様の現象でダメでした。

結局のところ、
Intel-VT が使用できる他のPCで試したら、OVSは問題なく起動できました。
ちなみに、使用しているCPUは Intel Core i3-2367M 1.40GHz です。


※ただしOVSではHVMサポートされていない状態でした。
Hypervisor running in 64 bit mode with NO Hardware Virtualization support.



以上、
OVS on VirtualBox ではCPU仮想化支援機能が必須 という話でした。

2012年12月20日木曜日

失敗談: CPUの仮想化支援機能が使用できなかった。

今回は、軽い失敗談です。


私は ThinkPad X121e を使用しているのですが、
PCで仮想化支援機能を有効化できませんでした。
BIOSには Virtualization といったメニューはあるのですが、
残念ながら CPUの Intel Pentium 967 が仮想化対応していませんでした。
(安いモデルなもので・・・)

仮想化支援機能が使えな使えないケースは下記のような場合です。

ケース1
たとえば、CPUが Intel-VT に対応していたとしても
マザーボードが対応していなくて
いわゆるBIOS設定画面 で有効化できない
→結局 仮想化支援機能は使用できない。


ケース2
BIOSに仮想化関連の「Virtualization~」という
メニューがあり 有効化(Enableなど)はできるが
CPU自身に仮想化支援機能がなかった
→これも、仮想化支援機能は使用できない。



実際に困ること

仮想化支援機能がないとできないことはいろいろあると思いますが、
ちょっとお試し環境を作るためには、
64bitのVMを作成/起動できない というのが大問題です。

※これとは別に、
この機能がないため「普通にそのPCにインストールするとしても
ハイパーバイザ製品がほとんど使用できなくなる」
という問題もあります。(Intel-VT/AMD-Vがインストール要件のものが多いため)


たとえば、
  • Oracle VM 3.x
  • Windows Server 2008 R2
  • VMware ESXi 5.x
これらは 64bit 版しか提供されておらず、32bit はありません。

VirtualBoxなども含め、
仮想化ソフトウェア上で 64bit OSを使用するためには、
CPUの仮想化支援機能(Intel-VT、AMD-V)が必要になるようです。
有効化できない場合は、そもそも64bitVMが起動できません。
上記のように、最近は64bit版しかないソフトウェアが多く、
これは結構残念な状態になってしまいます。

仮想化まわりの検証用PCを選ぶときは、
  • CPUが仮想化対応しているか
  • BIOSに仮想化支援機能を有効化するメニューがあるか
を、両方確認しておきましょう。


ただの業務用PCとして普通にWeb閲覧/MS-Officeを使用するくらいであれば
気にならない部分ですが、仮想化製品を使用するとなると
仮想化支援機能はほぼ必須といえます。


以上、PCを用意するときは仮想化支援機能の有無に気を付けましょう。
という失敗談でした。

2012年12月16日日曜日

OVS on VirtualBox しようと思います。

突然ですが、Oracle VM Server の検証環境構築はじめます。

自宅に検証用のOVS環境があるのですが
DNSやゲートウェイになるVMを乗せはじめると、
停止するといろいろ面倒で困るようになってきました。


そこで、OVSを増築しようと思ったわけです。

ついでなので、自宅にまだない
Oracle VM Server on VirtualBox
環境を構築してみようと思います。


構想

ORACLEの仮想化ソフトウェアには下記2種があります。
  • ハイパーバイザ型の Oracle VM Server for x86/SPARC(OVS)
  • ホスト型の Oracle VM VirtualBox
それぞれ、OVSはサーバ仮想化、
VirtualBoxは検証やデスクトップ仮想化などと
想定されている用途が違います。


これから、
この2つを組み合わせて検証環境を作ってみたいと思います。
OVSで、いわゆるネステッドハイパーバイザ
と呼ばれる使い方をしてみます。

ホスト型仮想ソフトで作成したVM上に、
ハイパーバイザ型仮想化ソフトをインストールします。



OVS on VirtualBox の使い道

わざわざVirtualBoxでOVSを動かす必要があるのか? という
気もしますが


いくつか利用シーンを考えてみると
  • 何とかして検証環境を確保する必要がある
    (Oracle VM 2.x → 3.x の移行検証だったり
    コスト削減等の理由で必要数の環境を残しておけないなど)
  • 勉強会で、たくさんOVS環境が必要
    (10人それぞれに、など)
  • ちょっと移動中にOVSを触りたくなる
    (通勤/通学/出張/帰省)
意外と使い道がありそうです。


以上
OVS on VirtualBox をはじめる宣言でした。