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

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

Solaris 11にsolaris10ブランドゾーンをインストール中。P2Vで用意した大域ゾーンはzoneadm installで、非大域ゾーンはzoneadm attachを使う。 #solaris10zone

2012-07-28 04:26:21
Kenji HASUNUMA "btnrouge" @btnrouge

どうやらsolaris10ブランドゾーンのインストールが終わったようだ。だが、起動を確認できるまで安心できないのがSolaris 11の恐ろしいところ#solaris10zone

2012-07-28 04:33:44
Kenji HASUNUMA "btnrouge" @btnrouge

とりあえずsolaris10ブランドゾーンの起動に成功した。インストール時にsys-unconfigを実行するように設定したから、細かい調整がまだ残っているけど。 #solaris10zone

2012-07-28 04:36:24
Kenji HASUNUMA "btnrouge" @btnrouge

色々あったけど、solaris10ブランドゾーンのインストールには成功しました。zoneadm list -vc を実行した時、BRAND欄に「solaris10」と表示されていたのにはちょっと感動。 #solaris10zone

2012-07-28 04:42:12

ここまででわかったことをまとめてみましょう

特に「どうすると失敗するのか」に注目してください

Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(1) solaris10ブランドゾーンはsol10→sol11のマイグレーションを前提とした機能のため、sol10のメディアから新規に作成することはできない。 #solaris10zone

2012-07-28 04:43:36
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(2) solaris10ブランドゾーンを作るには、まずSolaris 10の環境を構築する必要がある。これはベアメタルでもVirtualBoxでも構わない。ただし、Hyper-Vでは上手く仮想マシンを作れないので注意が必要。 #solaris10zone

2012-07-28 04:45:48
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(3) Solaris 10の環境構築はベアメタルでも仮想でも通常通り行えば良い。クリーンインストール直後ではマイグレーションに失敗することはまずないので、マニュアルにあるzonep2vchkスクリプトは実行不要。 #solaris10zone

2012-07-28 04:47:07
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(4) 大域ゾーンをSolaris 11の非大域ゾーンに移行する場合、flarcreateでフラッシュアーカイブを作成する。マニュアルではNFS共有ありを前提に、zfs send形式でアーカイブしてsol11側に直接アーカイブを作成している。 #solaris10zone

2012-07-28 04:50:44
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(5) フラッシュアーカイブはオプションでcpioなどの形式も選択可能。またNFSで直接sol11に転送する必要もなく、sol11でブランドゾーンを構築する前までにフラッシュアーカイブがsol11上に存在していればOK#solaris10zone

2012-07-28 04:52:24
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(6) sol10の大域ゾーンをsol11の非大域ゾーンとしてインストールするには、zoneadm -z <ゾーン名> install -a <フラッシュアーカイブのパス> -u とする。 #solaris10zone

2012-07-28 04:58:27
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(7) sol10の非大域ゾーンをsol11の非大域ゾーンとしてインストールするには、zoneadm -z <ゾーン名> attach -a <フラッシュアーカイブのパス> -u とする(今回はやってないけど)。 #solaris10zone

2012-07-28 04:58:34
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(8) solaris10ブランドゾーンをインストールする前に、通常のゾーン同様の準備が必要。具体的にはZFSでゾーン用の領域を確保することと、zonecfgで初期設定を行うこと。なお、zonep2vchkが出力する設定は使い物にならない#solaris10zone

2012-07-28 05:01:35
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(9) 細かいことを気にしないのであれば、zonecfgで create -t SYSsolaris10 とするだけでsolaris10ブランドゾーンが設定される。ただしNIC周りの設定が雑になるのでその点は留意すること。 #solaris10zone

2012-07-28 05:07:05
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(10) まとめ(6)で示したコマンドの -u オプションはsys-unconfigの実行を強制するもの。このオプションを設定すればホスト名やネットワーク設定を初期状態から設定できる。フラッシュアーカイブを使い回す場合には必須。 #solaris10zone

2012-07-28 05:09:22
Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(11) Solaris 11はいまだ問題山積なので、Solaris 10のフラッシュアーカイブを作成しておいて、必要に応じてsolaris10ブランドゾーンとしてSolaris 11にデプロイすると良いかと思う。 #solaris10zone

2012-07-28 05:14:11
Kenji HASUNUMA "btnrouge" @btnrouge

ということでSolaris 11の最大のウリでもあるsolaris10ブランドゾーンが一応きちんと動作することは確認できた。ということでVirtualBoxはさっさとアンインストールする。 #solaris10zone

2012-07-28 05:18:25

Oracleに対する愚痴…

Kenji HASUNUMA "btnrouge" @btnrouge

まとめ(12) solaris10ブランドにそのまま移行できるのはOracleブランドになってからリリースされたSolaris 10のみ。それ以前のリリースは別途パッチを当てる必要があるのだが、そのためには$1,000/yearのサポート契約が必要#solaris10zone

2012-07-28 05:15:31
Kenji HASUNUMA "btnrouge" @btnrouge

ちなみに、今やっている作業はSolaris 11が一般ライセンス、Solaris 10がOTN開発ライセンスのため、しくじってもオラクルのサポートは期待できない。前回Solaris 11とODSEEで痛い目に遭ったから。 #solaris10zone

2012-07-28 03:10:50
Kenji HASUNUMA "btnrouge" @btnrouge

日本オラクルのサポートは、それがOracle製品間の問題(極論するとOracle側の過失)であっても、対象の全製品にCSIがないとトラブル報告内容もロクに読まず門前払いにしてくるので要注意です(経験談) #solaris10zone

2012-07-28 03:14:07

最終的な結論

Solaris 11の「solaris10ブランドゾーン」はちゃんと動作するようです。Solaris 11自体、vSphereの準仮想化ドライバーと相性最悪でやったら最後Crossbowがメタメタになるとか、非大域ゾーンでGNOMEを立ち上げられないOpenSolaris由来のバグがいまだに直らない(現状では直せそうもない)とか、どうしようもない欠陥が多数紛れ込んでいますが、使えるものは使えるのです。

ただ、Solarisのサポートの質はSun時代に比べて格段に低下したと思うのは私だけでしょうか?