Oracle VM上でOpenSolarisをPVMとしてJeOSから作成する方法
注)2010年1月現在、OpenSolarisはOracle VMのゲストOSとしてサポートされていません。
Oracle VM 2.2上でOpenSolaris 2009.06をPVM(準仮想マシン)としてインストールする方法を紹介します。まだプロトタイプという位置づけではあるものの、実はOpenSolaris 2009.06にもいわゆるVMテンプレートが存在します。今回はそのテンプレートを使ってOpenSolarisのPVMを作成します。まずはVMテンプレートをダウンロードします。
OpenSolaris 2009.06 JeOS Prototype VM Images
このページからXen用のPVMイメージをダウンロードします。直リンはこちら。(直リンって久しぶりだな。。)
Xen: Oracle VM, OpenSolaris xVM, etc. KVM: (In XEN HVM mode)
そしてこのイメージは7zipという少し耳慣れないツールで圧縮されています。以下のページからご自身のプラットフォームに応じたモジュールをゲットしてインストールしてください。
http://www.7-zip.org/download.html
僕はp7zip for POSIX/Linuxをダウンロードしてビルドしました。そして使い方で一点ハマリポイントがありました。深く考えずに/usr/local/bin/7za e osol-0906-jeos-proto-xvm-zen-para.7z などとしていたのですが、eだと現在のディレクトリ直下にすべてが解凍されてしまい、サブディレクト内に何にもねぇ!ってことになってしまいます。p7zip for POSIX/Linuxを使われる方はくれぐれも/usr/local/bin/7za x osol-0906-jeos-proto-xvm-zen-para.7z で解凍してください。他のプラットフォームはわかりません。また、Oracle VM Serverにはgcc等の開発キットは含まれていないのでmakeはできません。7zipは他のプラットフォームにインストールしてVMイメージは解凍してからVM Serverに格納するのが吉でしょう。
解凍してできたディレクトリをVM Serverの/OVS/running_pool/直下に保存します。
[root@vmserver]# pwd /OVS/running_pool [root@vmserver]# ls OSOL0906JeOSProto
次に設定ファイル生成スクリプトを編集します。というかこのスクリプトを編集して設定ファイルそのものにしたらいいんじゃないかという気もします。どっちでもいい話ですが、結果的に以下のファイルを作成します。(ファイル名はvm.cfgでなくても良いのですが、Oracle VMの慣例にならってvm.cfgとしておきます。
[root@vmserver]# cd OSOL0906JeOSProto/ [root@vmserver]# vi vm.cfg name = "OSOL0906JeOSProto" vcpus = 1 memory = "768" disk = [ 'file:/OVS/running_pool/OSOL0906JeOSProto/System.raw/vdisk.raw,xvda,w', 'file:/OVS/running_pool/OSOL0906JeOSProto/instance.raw/vdisk.raw,xvdb,w' ] vif = ['type=netfront,bridge=xenbr0,mac=00:16:3e:00:00:01'] on_shutdown = "destroy" on_reboot = "destroy" on_crash = "preserve"
あとはxmコマンドで以下のように起動すればOpenSolarisがPVMとして起動します。
[root@vmserver]# xm create vm.cfg -c
ただしこのOpenSolaris、Just Enoughと名乗るだけあってほんとに軽量版です。汎用的に利用するにはいろいろとパッケージを追加する必要があるでしょう。しかし手元の環境ではsshがうまく起動せず、疲れてきたので作業終了しました(オイオイ)。
どなたかこのJeOSでsshを普通に起動する方法をご存知でしたら教えてください。
1/26追記:/lib/svc/method/sshd -cしておくと起動できました。@satokazさん、有難うございます!
ここまで書いておきながらなんですが、僕は普通にvirshを使ってPVMをインストールしようと思います。その手順はまた後ほど。