Solaris 11でsolaris10ブランドゾーンを試してみた(個人的実況中継)

色々問題のあるSolaris 11ですが、勉強会などで良く取り上げられるsolaris10ブランドゾーンが本当に動くかどうか試してみました。これができないと自宅からSolaris 10が消滅するという危機でもあり…
1

事の経緯

「そもそもSolaris 11にODSEEをインストールできない時点で何かおかしい!日本オラクルにクレーム付けたけどあっさりスルーされた」

ということでODSEEでLDAP環境を構築するのに急遽Solaris 10が必要になったのだが、「メンテが楽そう」という単純な理由で仮想ホストをHyper-V 2.0(Windows Server 2008 R2)に移行したのが裏目に出た。Hyper-V上でSolaris 10インストールを何度試みても失敗するので(成功談は多いけど、あれ、情報が古いかまぐれだよね…)、ダメ元でSolaris 11のゾーンへマイグレーションする方法を試してみた。

Solaris 11にはsolaris10ブランドゾーンという、Solaris 10をそのまま内包できるという素晴らしい?機能があるのだが、Solaris 10からのマイグレーションのことだけを考えて開発されたので、新規インストールという形でsolaris10ブランドゾーンを作成することができない。

ということで、過去にSolaris 10の動作実績があるVirtualBoxを使って、VirtualBox上のSolaris 10をマイグレーションするという方法を採ることにした。これならさすがに上手くできるだろう…

まずは「まともに動く」Solaris 10を

VirtualBoxをWin7にインストールして、その上にSolaris 10の環境を構築。

Kenji HASUNUMA "btnrouge" @btnrouge

とりあえずVirtualBoxインストールして、そこにSolaris 10の仮想マシンを構築中。 #solaris10zone

2012-07-27 20:18:03
Kenji HASUNUMA "btnrouge" @btnrouge

Solaris 10は元々1GBの物理メモリーがあれば十分だったが、最近の9/10とか8/11(要するにOracleブランド)だと1.5GB以上の物理メモリーがないとインストーラーがPanicを起こすので要注意。 #solaris10zone

2012-07-27 20:30:40
Kenji HASUNUMA "btnrouge" @btnrouge

とりあえずVirtualBoxにSolaris 10 8/11がインストールできた模様。とは言え初回起動時のコンフィギュレーションがやたら遅い。 #solaris10zone

2012-07-27 20:32:08
Kenji HASUNUMA "btnrouge" @btnrouge

一応、VirtualBoxにSolaris 10 8/11がインストールできた。自宅内LANにもちゃんと繋がっている(はず)。 #solaris10zone

2012-07-28 00:42:42
Kenji HASUNUMA "btnrouge" @btnrouge

Solaris 11にホスト名で接続できない。nslookupは通るのに。 #solaris10zone

2012-07-28 00:51:49
Kenji HASUNUMA "btnrouge" @btnrouge

とりあえず先ほどの端末(Win7)からSolaris 11に繋がらない問題は、Win7のリゾルバーをちょこっと修正してNIC再起動したら直った。 #solaris10zone

2012-07-28 02:58:16

まずはマニュアルを読む

誤字・脱字が多くて困るんだな、これが…

Kenji HASUNUMA "btnrouge" @btnrouge

Solaris 11側にbrand-solaris10というパッケージが必要だが、既にインストールされていた。どうやらslim_installのセット内に含まれているようだ。 #solaris10zone

2012-07-28 00:53:36
Kenji HASUNUMA "btnrouge" @btnrouge

Solaris 11の/usr/sbin/zonep2vchkをSolaris 10にコピーする。ちなみにzonep2vchkの実態はシェルスクリプト。 #solaris10zone

2012-07-28 01:04:14
Kenji HASUNUMA "btnrouge" @btnrouge

zonep2vchkによる事前チェックは http://t.co/myDPEklp に手順が載っている。クリーンインストール直後は多分失敗しないはずなので、zonep2vchk -c の結果をリダイレクトしてzonecfg用の応答ファイルを作成する。 #solaris10zone

2012-07-28 01:11:23
Kenji HASUNUMA "btnrouge" @btnrouge

先ほどzonep2vchkで出力したzonecfgの応答ファイルを眺めているが、特筆すべき設定は何一つない。つまり、クリーンインストール直後のP2V作業ではzonep2vchkは不要だったということ。 #solaris10zone

2012-07-28 02:37:41

zonep2vchkは使わなくても良いと言うことですね…

Kenji HASUNUMA "btnrouge" @btnrouge

flarcreateでSolaris 10のイメージをアーカイブする。 #solaris10zone

2012-07-28 01:15:15
Kenji HASUNUMA "btnrouge" @btnrouge

flarcreate -n s10-system -L cpio /var/tmp/s10-system.flar としてローカルにcpio形式でアーカイブ。本来はzfs send形式でSolaris 11側にNFS経由で直接ぶち込むのが正統。 #solaris10zone

2012-07-28 01:17:58
Kenji HASUNUMA "btnrouge" @btnrouge

flarcreateでcpioを選択したのは、作成したアーカイブを今後使い回したいから。通常用途(マイグレーション)ではデフォルトのzfs sendの方が効率が良いと思います。根拠はないけど。 #solaris10zone

2012-07-28 01:20:22
Kenji HASUNUMA "btnrouge" @btnrouge

flarcreateでSolaris 10のインストールイメージをアーカイブ中。結構時間がかかっているが、無理もないか。 #solaris10zone

2012-07-28 01:25:23
Kenji HASUNUMA "btnrouge" @btnrouge

Solaris 10のイメージがアーカイブできた。とりあえず端末(Win7)にダウンロードして共有に保存して、後で使い回しが効くようにしておく。 #solaris10zone

2012-07-28 02:32:09
Kenji HASUNUMA "btnrouge" @btnrouge

flarcreate、flarcreate、ああ、フラッシュアーカイブの作成ということか。貧民はフラッシュアーカイブ使使ったアップデートができないからな。 #solaris10zone

2012-07-28 02:46:45

5年もSolarisユーザーやってて今頃気付くなよ!

Kenji HASUNUMA "btnrouge" @btnrouge

4GBのフラッシュアーカイブをダウンロードするのはきついので、一旦ZIPで圧縮してから端末(Win7)に再転送。圧縮後は1GBだからだいぶ軽くなるはず。 #solaris10zone

2012-07-28 02:55:46
Kenji HASUNUMA "btnrouge" @btnrouge

…嘘です。ZIP圧縮しても4GB→1.5GBでした。 #solaris10zone

2012-07-28 02:56:28
Kenji HASUNUMA "btnrouge" @btnrouge

フラッシュアーカイブをZIP圧縮したものをWin7でチェックしたら、元のサイズが8GB(!!)に倍増していた。ちょっと恐いので元のフラッシュアーカイブを再ダウンロードする。 #solaris10zone

2012-07-28 03:01:19
Kenji HASUNUMA "btnrouge" @btnrouge

solaris10ブランドゾーンを作る前に、Solaris 11側で非大域ゾーン構築の準備(半分くらいZFSの領域確保)をやっておく。 #solaris10zone

2012-07-28 03:07:47