トップページ » Solaris10 Zone機能, 仮想化技術関連 » Solaris 8 コンテナを T2000 に作成してみました(S8MA)
カテゴリー
My Yahoo!に追加
Sun社提供情報
Solarisパッケージダウンロード
Sunマシンは買うには
blogs.sun.com
お勧めサイト
プライベートリンク

Solaris 8 コンテナを T2000 に作成してみました(S8MA)

今さらといえば今さらですが、Solaris 10 上で既存の Solaris 8 環境を動かすべく検証してみました。

Solaris 8 on Solaris 10 ゾーンのメリット

それなりのメリットがなければこんな面倒な環境を構築しませんよね。
  • 最新のハードウェアで既存の Solaris 8 を動かすことが可能
    ・アプリケーションの都合で Solaris 10 にすぐには移行できない・・・
    ・Solaris 8 が稼動しているシステムが EOL/EOSL・・・
  • ZFSとの連携
    ・ZFSファイルシステム上にSolaris 8コンテナをインストール 可能
    ・snapshotやcloneなどのZFS機能にも対応
  • Solarisコンテナとの連携
    ・cloneやattach/detachなどのゾーン機能に対応
    ・cpu,memory,rctl,poolなどのリソース管理機能に対応
  • DTraceとの連携
    ・Solaris 8 内のプロセスを Solaris 10 グローバルゾーンから DTrace で解析可能

使用機材とOSのバージョン

Solaris 8 2/02: Ultra10
Solaris 10 8/07: Sun Fire T2000 (127111-01以上のパッチが必須)

準備

Solaris 8 Containers 1.0 ソフトウェアのダウンロード
・Solaris 8 マシン上で移植用のフラッシュアーカイブの作成
# flarcreate -n s8_0202 -c /var/tmp/Solaris8.flar
※必要に応じて、-x オプションでアーカイブに不要なディレクトリを排除します。

上記の準備が終わったら、両ファイルとも Solaris 10 システムの適当な場所(/var/tmpなど)に置きます。

ソフトウェアのインストールと Solaris 8 ゾーンの作成

必要なファイルがそろっていることを確認します。
# pwd
/var/tmp
# ls
Solaris8.flar
s8containers-1_0-06-solaris10-sparc.tar.gz
s8containers-1_0-06-solaris10-sparc.tar.gzファイルを解凍・展開し、パッケージをインストールします。
# gunzip s8containers-1_0-06-solaris10-sparc.tar.gz
# tar xvf s8containers-1_0-06-solaris10-sparc.tar
x s8containers-1_0-06, 0 bytes, 0 テープブロック
x s8containers-1_0-06/Product, 0 bytes, 0 テープブロック
x s8containers-1_0-06/Product/SUNWs8brandr, 0 bytes, 0 テープブロック
...(以下省略)

# cd s8containers-1_0-06
# ls
Legal    Product
# cd Product
# ls
SUNWs8brandr  SUNWs8brandu  SUNWs8p2v

# pkgadd -d . SUNWs8brandr
(出力省略)
# pkgadd -d . SUNWs8brandu
(出力省略)
# pkgadd -d . SUNWs8p2v
(出力省略)
Solaris 8 ゾーンを作成します。IPアドレスはグローバルゾーンと重複しないように適当に割り当てています。
# zonecfg -z s8-zone
s8-zone: そのような構成済みゾーンはありません
'create' を使用して、新しいゾーンの構成を開始してください。
zonecfg:s8-zone> create -t SUNWsolaris8
zonecfg:s8-zone> set zonepath=/zones/s8-zone
zonecfg:s8-zone> set autoboot=true
zonecfg:s8-zone> add net
zonecfg:s8-zone:net> set address=172.17.40.202/16
zonecfg:s8-zone:net> set physical=e1000g0
zonecfg:s8-zone:net> end
zonecfg:s8-zone> exit
#
# zoneadm list -cv
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   - s8-zone          configured /zones/s8-zone                 solaris8 shared
#
あらかじめ準備しておいた Solaris 8 環境のフラッシュアーカイブ /var/tmp/Solaris8.flar を使用して、先ほど構成したゾーンにインストールをかけます。
# zoneadm -z s8-zone install -u -a /var/tmp/Solaris8.flar
      Log File: /var/tmp/s8-zone.install.850.log
        Source: /var/tmp/Solaris8.flar
    Installing: This may take several minutes...
Postprocessing: This may take several minutes...

        Result: Installation completed successfully.
      Log File: /zones/s8-zone/root/var/log/s8-zone.install.850.log
# zoneadm -z s8-zone boot
# zlogin -C s8-zone
[ゾーン 's8-zone' コンソールに接続しました]
(Solaris 8 ゾーンの初期設定は省略。通常のゾーンとほぼ同じ質問に答えるだけです。)
上記の設定をした後に、Solaris 8 ゾーンを再起動してログインします。 するとログに以下のようなメッセージがひたすら出ていることが確認できます。
# zlogin s8-zone
[ゾーン 's8-zone' pts/3 に接続されました]
Last login: Wed Apr 30 14:38:37 on pts/2
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
#
# tail /var/adm/messages
Apr 30 14:39:57 s8-zone kkcv: AF_UNIX bind(path: /dev/kkcv): Permission denied
Apr 30 14:40:02 s8-zone cssd: [ID 602758 daemon.notice] starting ccv.sh (pid#20710)
Apr 30 14:40:02 s8-zone cssd: [ID 179970 daemon.error] The process "kkcv.sh" has been exited with retcode#24320
Apr 30 14:40:02 s8-zone ccv: AF_UNIX bind(path: /dev/ccv): Permission denied
Apr 30 14:40:07 s8-zone cssd: [ID 602758 daemon.notice] starting kkcv.sh (pid#20711)
Apr 30 14:40:07 s8-zone cssd: [ID 179970 daemon.error] The process "ccv.sh" has been exited with retcode#24320
Apr 30 14:40:07 s8-zone kkcv: AF_UNIX bind(path: /dev/kkcv): Permission denied
Apr 30 14:40:12 s8-zone cssd: [ID 602758 daemon.notice] starting ccv.sh (pid#20712)
Apr 30 14:40:12 s8-zone cssd: [ID 179970 daemon.error] The process "kkcv.sh" has been exited with retcode#24320
Apr 30 14:40:12 s8-zone ccv: AF_UNIX bind(path: /dev/ccv): Permission denied
上記エラーは日本語Solaris 8 環境をインストールイメージとして使用した場合に起こります。日本語インプットメソッド kkcv/ccv を利用しない時には、cssd(1M) を以下のように停止することにより、対応することが可能です。
(Solaris 8 ゾーン内で行う)
# mv /etc/rc2.d/S90loc.ja.cssd /etc/rc2.d/_S90loc.ja.cssd
# init 6
今回はSolaris 8 ゾーン内でたいしたアプリを動かしていないので、上記設定でとりあえず問題なく Solaris 8 の稼動を確認できました。
# cat /etc/release
                       Solaris 8 2/02 s28s_u7wos_08a SPARC
           Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
                           Assembled 18 December 2001
# uname -a
SunOS s8-zone 5.8 Generic_Virtual sun4v sparc SUNW,Sun-Fire-T200
以下のように Solaris 10 のグローバルゾーンから Solaris 8 ゾーンのプロセスも通常とゾーンと同じように確認できます。inetd などは当たり前ですが、Solaris 8 のプロセスになっていますね。
# ps -efZ | grep inetd
  global    root   239     1   0 13:55:30 ?           0:02 /usr/lib/inet/inetd start
  global    root 21971 21921   0 16:21:40 pts/2       0:00 grep inetd
 s8-zone    root 21653     1   0 14:44:57 ?           0:00 /usr/sbin/inetd -s
# ps -efZ | grep syslogd
  global    root   368     1   0 13:55:35 ?           0:00 /usr/sbin/syslogd
 s8-zone    root 21684     1   0 14:44:57 ?           0:00 /usr/sbin/syslogd
  global    root 21973 21921   0 16:21:53 pts/2       0:00 grep syslogd

Solaris10 Zone機能, 仮想化技術関連のその他のリンク

Solaris系技術トレーニング一覧

Solaris10システム管理基本コース
Solaris10ネットワーク・インターネットサーバー管理コース
セキュリティ・パフォーマンス管理・トラブルシューティング等
Sun Cluster、ボリューム管理ソフトウェア
仮想化技術全般
シンクライアント、SunRay、デスクトップソフトウェア
アイデンティティマネージメントサービス
アプリケーションサーバーとWebポータル
サーバー(ハードウェア)メンテナンス
Sun Java CAPS
MySQL