2011/03/05 CentOS5.5





VirtualBoxで仮想環境を準備する

仮想化ソフトウェアであるVirtualBoxはアプリケーション型仮想化ソフトに分類され、ちょっとOS環境が必要な場合や検証環境で使えるなど、ハイパーバイザ型の仮想化ソフトよりも小回りが利きます。
CentOSにVirtualBoxをインストールする場合について記します。

インストール前の準備(カーネルソースのインストール)
VirtualBoxのインストール

インストール前の準備(カーネルソースのインストール)
まずはインストールの前に準備を行います。
VirtualBoxはインストールにカーネルのソースコードが必要です。
カーネルのソースコードをリコンパイルするので、開発環境も必要です。



次にカーネルのソースコードが必要です。
まずはunameコマンドを使ってカーネルのバージョンを調べます。

#uname -a




次にカーネルのソースコードをダウンロードします。
VirtualBoxで必要なのは、ソースコードは「現状使用しているカーネル」のバージョンです。
「ソフトウェアの追加と削除」から選択できるものは最新バージョンのソースなので、今回欲しいものではありません。
かといってLinuxのカーネルソースのダウンロード元には、対象のバージョンはありません。これはCentOSの配布元から取得する必要があります。

CentOS Wikiにアクセスします。
[How To]-[Kernels]-[I Need the Kernel Source]と進んでいきます。


「Find the kernel source rpm in: 」という行を探します。リリースノートではありません。


カーネルのバージョンがCentOS5.5のデフォルトバージョン「2.6.18-194.el5」なら、
http://mirror.centos.org/centos/5/os/SRPMS/を選択します。

バージョンアップしたバージョンなら、http://mirror.centos.org/centos/5/updates/SRPMS/を選択します。

開いたリストから、(デフォルトバージョンなら)「kernel-2.6.18-194.el5.src.rpm」をダウンロードします。


ダウンロードしたファイルをインストールします。

#rpm -ivh kernel-2.6.18-194.el5.src.rpm

インストールされるのは、/usr/src/kernelsの下になります。


VirtualBoxインストール
インストールの準備をします。
まずVirtualBoxの本家へアクセスし、RPMをダウンロードしてきます。



インストールする前に、環境変数をセットしてカーネルの場所を指定します。

#export KERN_DIR=/usr/src/kernels/2.6.18-128.2.1.el5-x86_64/
#export KERN_INCL=/usr/src/kernels/2.6.18-128.2.1.el5-x86_64/include/

VirtualBoxをインストールします。

#rpm -ivh VirtualBox-4.0-4.0.4_70112_rhel5-1.x86_64.rpm

以下のような画像が現れれば成功です。最終行のRecompilingとモジュールロードが重要です。
カーネルモジュールのリコンパイルに失敗するのなら、カーネルソースの指定に失敗しています。


DKMSのエラーがよく出ます。
DKMSはカーネルのバージョンをあげても、そのたびにvboxdrv setupを実行してモジュールリコンパイルしなくていい、という便利機能です。
けれど検証環境では頻繁にカーネルバージョンをあげないだろうということと、DKMSの導入が結構面倒なので割愛します。
入れ方としては、リポジトリにrpmforgeを追加して、yum --enablerepo=fpmforge install dkmsとします。

インストールに成功すれば、VirtualBoxを利用するユーザはvboxusersに追加しておきます。

#usermod -a -G vboxusers
root

VirtualBoxを起動します。



あとは通常のVirutalBoxと同じ利用法になります。
ネットワークのブリッジアダプタの追加方法はKVMの項目で紹介しています。
 →KVMで仮想環境を構築する(ブリッジ接続を作成する)


もし仮想マシンの起動エラー「VMX root mode.Please disable the KVM kernel extension...」が表示される場合。

仮想マシンの起動時にこのようなエラーが出る場合は、KVMなどのモジュールがロードされており、仮想化機能が別のソフトウェアに奪われている、という意味です。

モジュールからKVMモジュールなどをアンロードします。

#rmmod kvm_intel
#rmmod kvm

これで起動できますが、この場合KVMはあきらめたほうがいいでしょう。

仮想マシンのCPUが100%になってしまう場合の対処として、仮想マシンのプロパティで「2Dビデオアクセラレーション」のチェックを外してみましょう。
これはWindowsXPの仮想マシンの場合でも有効です。





prev.gif