<Insert Picture Here>
日本オラクル株式会社
システム事業統括 ソリューション統括本部
2012年10月10日
第91回 夜な夜な! なにわオラクル塾
【Oracle×Sun 第8弾】 Solaris 11 でのゾーン新機能
Copyright© 2012, Oracle. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright© 2012, Oracle. All rights reserved. 3
•はじめに
• Oracle Solaris ゾーン機能
• Oracle Solaris 11 でのゾーン新機能
• Oracle Solaris 10 ゾーン
• Oracle Solaris Legacy Containers
Copyright© 2012, Oracle. All rights reserved. 4
ゾーン機能の概要 – Solaris 11 の主要機能
• ZFSファイルシステムと同様に、Solaris 10 から実装されて、さらに機能拡張
• 仮想化によるサーバ統合
• レガシー環境(Solaris 8, 9, 10)の移行に
Copyright© 2012, Oracle. All rights reserved. 5
Oracle サーバの仮想化
Server
OS
App
Hypervisor
M-Series
T-Series
X-Series
M-Series
T-Series
X-Series
M-Series
T-Series
X-Series
Solaris Zones Resource Manager Oracle VM Server Dynamic Domains
x86 のみ x86 のみ
分離・独立性・H/W志向 柔軟性・S/W志向
複数のOSカーネル 単一のOSカーネル
Copyright© 2012, Oracle. All rights reserved. 6
レガシー環境の移行
• Solaris 11 へアプリケーションを移行
• 最も実行効率が良い
• 基本的に Solaris 2.6 以来バイナリ互換性を保証
• 互換性のある ABI,API を使用しているか等確認が必要
• Solaris 10 ゾーン、Solaris Legacy Containers に移行
• Solaris 11 で Solaris 10 を標準サポート、追加コスト不要
• Solaris 10 で Solaris 8, 9 をサポート、有償ライセンス
• Oracle VM のゲスト OSとして Solaris 10 を移行
• 異なる OS を同時に起動可能(x86版は、Linux, Windows もOK)
• ライブマイグレーションのサポート
• オラクル社のサーバでサポートともに使う場合はインスタンス数制限無し
• ハイパーバイザーによるオーバーヘッド
Copyright© 2012, Oracle. All rights reserved. 7
• はじめに
• Oracle Solaris ゾーン機能
• Oracle Solaris 11 でのゾーン新機能
• Oracle Solaris 10 ゾーン
• Oracle Solaris Legacy Containers
Copyright© 2012, Oracle. All rights reserved. 8
Oracle Solaris ゾーン概要
• カーネルを共有した仮想OS
• マルチプラットフォーム • SPARC でも x86 でも使用可能
• 柔軟なリソース管理
• セキュリティーの分離 • ユーザ空間、プロセス空間
• ファイルシステム、ネットワーク
• 管理負荷の低減 • パッケージ、パッチを統一管理
• S/W ライセンスの削減 • ハードウェアパーティショニング
対応の構成が可能
• Solaris 8, 9, 10 の移行に活用
• 標準機能であり追加費用不要 • Solaris 8, 9 レガシーゾーンは有償
Server
OS
App
M-Series (SPARC)
T-Series (SPARC)
X-Series (x86)
Solaris Zones
non global zone non global zone non global zone
zsched init
zsched init
zsched init
zoneadmd zoneadmd zoneadmd
sched init
global zone Kernel
poold
rcapd
Copyright© 2012, Oracle. All rights reserved. 9
Oracle Solaris ゾーン
• 単一システム上に複数の隔離されたランタイム環境 (Solaris インスタンス ) を提供する機能
• ゾーンは大きく 2 種類に区分
大域ゾーン (global zone)
• オペレーティングシステムの実体
• 初期インストールで作成される
• ゾーン機能を使用しない場合も存在
非大域ゾーン (non-global zone)
• 大域ゾーン上で動作する アプリケーション実行環境
• 大域ゾーンとカーネルを共有
• 非大域ゾーン間は完全に隔離
• 最大 8192 個 (大域ゾーン含む) 作成可能
zone01 zone02 zone03
net0
:1
zcons
/usr
ゾーン管理 (zonecfg, zoneadm, zlogin, etc)
zoneadmd zoneadmd zoneadmd
net0
:2
/data
/usr
net1
/data
/usr
C C C C
Vir
tual
Pla
tform
/data
zcons
zcons
Copyright© 2012, Oracle. All rights reserved. 10
Oracle Solaris 10 のゾーン
• Solaris 10 でサポートされる非大域ゾーン
• native (追加ライセンスは必要なし)
• Solaris 10 環境を提供
• solaris8, solaris9 (SPARCのみ、ライセンスが必要)
• Solaris 8, Solaris 9 環境を提供
• すでに動作している Solaris 8/9 実環境からの P2V
• lx (x86のみ)
• Linux 環境を提供
• プロセッサアーキテクチャの壁は越えられないが、 同一アーキテクチャであればハードウェアの壁は突破可能
• ゾーンを利用することで、最新のハードウェアへの移行が スムーズに (P2V, V2V 技術を利用したマイグレーション)
s8c s9c
Solaris 8 Solaris 9
Copyright© 2012, Oracle. All rights reserved. 11
Oracle Solaris 11 のゾーン
• Solaris 11 でサポートされる非大域ゾーン
• solaris (SPARC/x86, 追加ライセンスは必要なし)
• Solaris 11 環境を提供
• solaris10 (SPARC/x86, 追加ライセンスは必要なし)
• Solaris 10 環境を提供
• すでに動作している Solaris 10 実環境からの P2V
• プロセッサアーキテクチャの壁は越えられないが、 同一アーキテクチャであればハードウェアの壁は突破可能
• ゾーンを利用することで、最新のハードウェアへの移行が スムーズに (P2V, V2V 技術を利用したマイグレーション)
s10z
Solaris 10 Solaris 10
s10z
Copyright© 2012, Oracle. All rights reserved. 12
ファイルシステム
• 完全ルートゾーン(S10,S11)
• 全てのファイルが大域ゾーンと独立
• 個別にパッケージの導入が可能
• ファイル容量を消費
• 疎ルートゾーン(S10のみ)
• 必要な /etc, /var 等だけを ローカルに有する
• /usr, /lib, /sbin, /platform はグローバルゾーンのファイルを 読み取り専用でループバックマウント
• /usr 配下のパッケージ等はローカルゾーンだけにインストールできない
• ファイル容量はほとんど消費しない
• Solaris 11 では廃止
• global# cp /etc/passwd /zones/zone01/root/etc のように大域ゾーンから非大域ゾーンに容易にアクセスが可能
Copyright© 2012, Oracle. All rights reserved. 13
ネットワーク(Solaris 10)
• 共有IP (shared IP) ゾーン • Solaris 10 ゾーンのデフォルト
• 大域ゾーンとネットワークインタフェースを共有
• ネットワークインタフェースが1個でも複数のゾーンを作成
• IPスタックを共有しているため各種の制限あり
• 同じルーティングテーブルを有する
• 排他的IP (exclusive IP) ゾーン • Solaris 10 では 8/07 以降の機能
• 非大域ゾーンにネットワーク インタフェースを占有的に割り当て
• GLDv3対応のNICが必要
• DHCPv4, IPv6 による動的構成
• 独立したサブネット、ルーティングテーブル
• 共有IPも排他的IPも IPMP, Link Aggregation による冗長構成可能
IPスタックを大域ゾーンと共有
独立したIPスタック
Copyright© 2012, Oracle. All rights reserved. 14
ネットワーク(Solaris 11)
• 排他的IP (exclusive IP) ゾーン • Solaris 11 ゾーンのデフォルト
• 物理NICが一つでも、ネットワーク仮想化で排他的IP機能を使用可能
• Etherstubとの組み合わせで、内部に独立したプライベートネットワークを構築
• VNIC は物理NICまたは Etherstub 上に作成
Copyright© 2012, Oracle. All rights reserved. 15
ゾーンのセキュリティ
• 非大域ゾーンからは他のゾーンは見えず、物理ホストのように ssh, telnet 等でネットワーク的にリモートアクセスする必要がある
• 大域ゾーンからは非大域ゾーンのコンソール、ファイルシステム、プロセスにアクセス可能
• ユーザアカウント情報(ネームサービス)やrootのパスワードは各ゾーンごとに独立
非大域ゾーン間、大域ゾーンへの侵入は不可
大域ゾーンは、非大域ゾーンへのコンソール機能を提供
非大域ゾーンの障害や再起動は他に影響を与えない
Copyright© 2012, Oracle. All rights reserved. 16
ゾーンの特権
• 非大域ゾーンのセキュリティは特権 (privileges) によって管理
• Oracle Solaris 10 11/06 より特権の変更が可能
• 非大域ゾーンで以下の特権は使用禁止
• dtrace_kernel
• proc_zone
• sys_config
• sys_devices
• sys_dl_config
• sys_linkdir
• sys_net_config
• sys_res_config
• sys_smb
• sys_suser_compat
• Solaris 10の非大域ゾーンではNFS サーバになれないが Solaris 11の非大域ゾーンでは NFS サーバが可能に(sys_share 特権)
Copyright© 2012, Oracle. All rights reserved. 17
ゾーンのリソース制御
• リソースプール • リソースプール(プロセッサセットとスケジューリングクラス)を
単一または複数のゾーンに割り当てる
• ゾーンは、他のプールに割り当てたCPUを利用することはできない
• CPU数は範囲指定が可能であり、負荷に応じて自動的に、 または手動で CPU数を変動させることが可能
• 複数のゾーンでリソースプールを共有する場合、Fair Share Scheduler で CPU利用率配分を設定することが可能
• capped-cpu • ゾーンで使用できるCPU利用率の最大値を設定
• 他のゾーンが忙しくなくても設定された利用率を超えて使用することはできない
• dedicated-cpu • ローカルゾーンにCPU資源を占有的に割り当てる
• 他のゾーンに割り当てたCPUを利用することはできない
• CPU数は範囲指定が可能であり、負荷に応じて自動的にCPU数を変動させることが可能
• メモリリソースの制限 • ゾーン毎に使用できるメモリ(物理メモリ、スワップメモリ、ロックメモリ)の最大値を設定
Copyright© 2012, Oracle. All rights reserved. 18
ゾーンの構築
• zonecfg, zoneadmコマンドで構築 zloginコマンドでログインしOS初期設定
• 簡単な手順(最小構成) • zonecfgを記述することでリソース制御等
詳細な設定が可能に
sol11# zonecfg -z s11z
zonecfg:s11z> create
zonecfg:s11z> set zonepath=/zones/s11z
zonecfg:s11z> commit
zonecfg:s11z> exit
sol11# zoneadm –z s11z install
sol11# zoneadm –z s11z boot
sol11# zlogin –C s11z
①
②
③
④
①
②
③
④
Copyright© 2012, Oracle. All rights reserved. 19
• はじめに
• Oracle Solaris ゾーン機能
• Oracle Solaris 11 でのゾーン新機能
• Oracle Solaris 10 ゾーン
• Oracle Solaris Legacy Containers
Copyright© 2012, Oracle. All rights reserved. 20
Solaris 11 ゾーン新機能 1
• Solaris 10 ゾーンをサポート
• Solaris 11 上の非大域ゾーンとして Solaris 10 環境が動作
• 仮想ネットワークインターフェースをサポート
• ネットワーク仮想化機能 (Crossbow) との連携
• 専用のネットワークスタックを持つことが可能な 排他的IP ゾーンが デフォルトに!独立したNICが不要
• 非大域ゾーンにて NFS サーバ機能をサポート
• 大域ゾーンには依存せず、独自にNFSサービスを構成可能
• sys_share特権を禁止することで、NFSサーバを使用させないことも可能
• 不変ゾーン
• 読み取り専用のゾーンのサポート
• 非大域ゾーンにディスクを割り当て、 パーティションの作成や管理が可能
Copyright© 2012, Oracle. All rights reserved. 21
Solaris 11 ゾーン新機能 2
• ゾーンの委任管理
• ゾーンの管理を RBAC を使用して別のユーザに委任が可能
• zoneadm shutdown コマンド
• ゾーンにログインせずにシャットダウン可能に
• zonestat コマンド
• システムリソースの監視が容易に
• libzonestatライブラリ
• ゾーンのリソース使用率をアプリケーションから取得可能に
Copyright© 2012, Oracle. All rights reserved. 22
不変ゾーン
• strict • 読み取り専用ファイルシステム
• fixed-configuration • システム構成コンポーネントが含まれているディレクトリを除く、/var/* ディレ
クトリへの更新を許可
• flexible-configuration • /etc/* ディレクトリ内のファイルの変更、ルートのホームディレクトリの変更、
および /var/* ディレクトリへの更新を許可
• この構成は、Oracle Solaris 10 のネイティブな疎ルートゾーンに近い機能を提供
• none • 標準の読み取り書き込み可能な非大域ゾーン
Copyright© 2012, Oracle. All rights reserved. 23
Solaris 10 と Solaris 11 の比較
Oracle Solaris 10 Oracle Solaris 11
非大域ゾーン Solaris 10 (SPARC & x86) Solaris 8, 9 (SPARC only, 追加ライセンス) Linux (x86 only)
Solaris 11 (SPARC & x86) Solaris 10 (SPARC & x86, 標準機能) * Solaris 8, 9 を動かすには Oracle VM と組み合わせ
ファイルシステム 疎ルートゾーン & 完全ルートゾーン 完全ルートゾーンのみ (疎ルートゾーンは廃止) 不変ゾーンをサポート
ネットワーク 共有 IPゾーンがデフォルト 排他的 IPゾーンには専用NICが必要
排他的 IPゾーンがデフォルト 排他的 IPゾーンには専用NICは不要
非大域ゾーンでのファイル共有
NFS サーバはサポートされない NFSサーバはサポートされる SMBサーバはサポートされない
リソース監視 zonestat コマンド libzonestatライブラリ
管理権限 別のユーザに委譲可能
デバイス管理 非大域ゾーンの管理者が formatコマンドでパーティション操作可能
Copyright© 2012, Oracle. All rights reserved. 24
• はじめに
• Oracle Solaris ゾーン機能
• Oracle Solaris 11 でのゾーン新機能
• Oracle Solaris 10 ゾーン
• Oracle Solaris Legacy Containers
Copyright© 2012, Oracle. All rights reserved. 25
Oracle Solaris 10 ゾーン概要
• Solaris 11 ゾーンの中で Solaris 10 環境を実現する機能 • P2V (物理環境の Solaris 10) と V2V (仮想環境のSolaris 10コンテナ) の両方を
サポート
• Solaris Legacy Container (Solaris 10 で Solaris 8, Solaris 9 を仮想化)とは異なり SPARC と x86の両方で稼働し無償で使用可能
• Solaris 10 の新規インストールはできない
• 移行元 Oracle Solaris 10 の要件 • Oracle Solaris 10 9/10 以降
• 9/10 より前のバージョンの場合は カーネルパッチ 142909-17 (SPARC) または 142910-17 (x86/x64) を適用すると対応可能
Copyright© 2012, Oracle. All rights reserved. 26
Oracle Solaris 10 ゾーン作成手順概要 (P2V)
1. 移行元の Solaris 10 でOSのイメージを取得
2. system/zones/brand/brand-solaris10 パッケージを移行先の Solaris 11にインストール
3. 通常と同じようにゾーンを作成
1. zonecfg で –t SYSsolaris10 を指定
2. zoneadm install で移行元のOSイメージを指定
3. zoneadm boot で起動する
4. zlogin –C でコンソールログインして初期設定
Copyright© 2012, Oracle. All rights reserved. 27
移行元 Solaris 10 イメージの取得
• イメージ作成前に必要なパッチのインストール
• 119254-75、119534-24、および 140914-02 以降 (SPARC)
• 119255-75、119535-24、および 140915-02 以降 (x86/x64)
• hostid を同じにする場合は調べておく
sol10# hostid
12ce29fb
Copyright© 2012, Oracle. All rights reserved. 28
移行元 Solaris 10 の確認
• Solaris 11 から /usr/sbin/zonep2vchk スクリプトをコピーして実行
sol10# ./zonep2vchk –T S11 --Executing Version: 1.0.5-11-16135 - Source System: sol10 Solaris Version: Oracle Solaris 10 8/11 s10x_u10wos_17b X86 Solaris Kernel: 5.10 Generic_147441-23 Platform: i86pc i86pc - Target System: Solaris_Version: Solaris 11 Zone Brand: solaris10 (Solaris 10 Container) IP type: exclusive --Executing basic checks - The following SMF services will not work in a zone: svc:/network/iscsi/initiator:default svc:/system/iscsitgt:default Basic checks compete, 2 issue(s) detected --Total issue(s) detected: 2
iSCSI 関連のサービスが非大域ゾーンでは動作しないと報告
Copyright© 2012, Oracle. All rights reserved. 29
移行元 Solaris 10 イメージの取得
• 移行方法 • 稼働しているシステム上で アーカイブを取得する
• サポートする形式: flar, cpio, pax –x xustar, ufsdump, directory
• デフォルトでは、ZFS Data stream とみなされるので、flarcreate –L cpio を使用する
• flash archive の取得例
sol10# flarcreate -S -n solaris10 –L cpio –x /export/data sol10-image.flar 要求されたアーカイブ形式は cpio です
全体フラッシュ
整合性をチェックしています...
整合性チェック完了。
precreation スクリプトを実行してます...
precreation スクリプトの実行を完了しました。
アーカイブを作成中...
アーカイブの作成が完了しました。
postcreation スクリプトを実行してます...
postcreation スクリプトの実行を完了しました。
post-exit スクリプトを実行してます...
post-exit スクリプトの実行を完了しました。
-S : ディスク容量確認をスキップして高速化
-n : アーカイブの名前(任意の文字列)
-L : アーカイブ形式
-x : 除外するディレクトリ
Copyright© 2012, Oracle. All rights reserved. 30
Solaris 10 非大域ゾーンの作成
• 必要なパッケージの確認
• 仮想NICの準備
• ゾーン用のファイルシステムの準備
sol11# pkg install system/zones/brand/brand-solaris10
sol11# zfs create -o mountpoint=/zones rpool/zones
sol11# chmod 700 /zones
sol11# dladm create-vnic –l net0 vnic1
Copyright© 2012, Oracle. All rights reserved. 31
Solaris 10 非大域ゾーンの作成
• ゾーンの構成
sol11# zonecfg -z s10-zone
s10-zone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:s10-zone> create -t SYSsolaris10
zonecfg:s10-zone> set zonepath=/zones/s10-zone
zonecfg:s10-zone> remove anet
zonecfg:s10-zone> add net
zonecfg:s10-zone:net> set physical=vnic1
zonecfg:s10-zone:net> end
zonecfg:s10-zone> set hostid=1qa2b3c4v
zonecfg:s10-zone> set autoboot=true
zonecfg:s10-zone> verify
zonecfg:s10-zone> commit
zonecfg:s10-zone> exit
create 時に –t SYSsolaris10 を指定することで、Solaris 10 ゾ
ーンとして構成される
vnic を自動作成する anet ではなく、手動作成した vnic を使用
Copyright© 2012, Oracle. All rights reserved. 32
Solaris 10 非大域ゾーンの作成
• Solaris 10 の非大域ゾーンをインストール
• Solaris 10 の非大域ゾーンを起動、構成
sol11# zoneadm -z s10-zone install -u -a /export/sol10-image.flar
A ZFS file system has been created for this zone.
Progress being logged to /var/log/zones/zoneadm.20121007T135935Z.s10-zone.install
Installing: This may take several minutes...
sol11# zoneadm -z s10-zone boot
sol11# zlogin -C s10-zone
・・・OSの初期設定を行う・・・
Copyright© 2012, Oracle. All rights reserved. 33
Solaris 10 の V2V に関して
• ゾーンを入れ子にはできないので非大域ゾーンを有したSolaris 10 の大域ゾーンを移行するには、最初に全ての非大域ゾーンを移行する必要があります
• Oracle Solaris 10非大域ゾーンの移行は、zoneadm attache を使用します
• Oracle Solaris 10 システムの疎ルートゾーンは、システムによって solaris10 ブランドゾーン移行用の完全ルートモデルに変換されます
• 疎ルートゾーンは、V2V プロセスが実行される前に、ソースシステムで準備完了状態である必要があります
Copyright© 2012, Oracle. All rights reserved. 34
• はじめに
• Oracle Solaris ゾーン機能
• Oracle Solaris 11 でのゾーン新機能
• Oracle Solaris 10 ゾーン
• Oracle Solaris Legacy Containers
Copyright© 2012, Oracle. All rights reserved. 35
Solaris Legacy Containers 概要
• 2 つの技術を提供する製品
• Solaris 8 Containers
• Solaris 8 物理環境をゾーンへ
• Solaris 9 Containers
• Solaris 9 物理環境をゾーンへ
• すでに動作している Solaris 8/9 実環境からの P2V にて実現
• SPARC のみで利用可能な機能
• アプリケーション実行環境となるため、カーネルの チューニングやデバイスを扱えないなど一般的な ゾーンの制限を受ける
s8c s9c
Solaris 8 Solaris 9
Copyright© 2012, Oracle. All rights reserved. 36
Solaris Legacy Containers 概要
• ライセンス製品
• CPU ソケット単位で課金されるライセンス製品
• 無期限のパーペチュアルライセンスを採用
• Software Delivery Cloud からのダウンロード
• 30日間の試用が可能
• 移行する OS 環境について
• 既存環境の移行技術となるため、新規インストールは不可
Copyright© 2012, Oracle. All rights reserved. 37
Solaris Legacy Containers 入手方法
• https://edelivery.oracle.com/
Copyright© 2012, Oracle. All rights reserved. 38
Solaris Legacy Containers
• Solaris 10 8/07 (SPARC) 以降で対応
• 2つのバージョンが含まれる
• Oracle Solaris Legacy Containers 1.0.1
• For Oracle Solaris 10 10/08以降
• Kernel 137137-07以降
• Oracle Solaris Legacy Containers 1.0
• For Oracle Solaris 10 08/07 かつ 127111-01以降
• For Oracle Solaris 10 05/08
• Kernel 127111, 127127, 137111
• 最新の Oracle Solaris Legacy Containers 1.0.1 を選択
• 現行製品の SPARC T4 シリーズは、Solaris 10 8/11 が必須となる為
• Solaris 10 8/11 には、Solaris Legacy Containers 機能が含まれる
• ライセンスキーとなるパッケージを追加することで機能を解放
Copyright© 2012, Oracle. All rights reserved. 39
Solaris Legacy Containers 構成パッケージ
• Solaris 10 8/11 に含まれる Legacy Containers パッケージ
• SUNWs8brandr Solaris 8 Containers: solaris8 brand support (Root)
• SUNWs8brandu Solaris 8 Containers: solaris8 brand support (Usr)
• SUNWs9brandr Solaris 9 Containers: solaris9 brand support (Root)
• SUNWs9brandu Solaris 9 Containers: solaris9 brand support (Usr)
• 使用権を兼ねたパッケージ (V24150-01.zip に含まれるもの)
• SUNWs8brandk Solaris 8 Containers: solaris8 brand support RTU
• SUNWs9brandk Solaris 9 Containers: solaris9 brand support RTU
• このパケージがライセンスキーとなる
Copyright© 2012, Oracle. All rights reserved. 40
Solaris Legacy Containers 作成手順
1. 移行元の Solaris 8, 9 でOSのイメージを取得 テスト用に最小イメージを edeliveryで配布
2. Solaris Legacy Containersのパケージおよびパッチを移行先の Solaris 10にインストール
3. 通常と同じようにゾーンを作成
1. zonecfg で –t SUNWsolaris8 or SUNWsolaris9 を指定
2. zoneadm install で移行元のOSイメージを指定
3. zoneadm boot で起動する
4. zlogin –C でコンソールログインして初期設定
Copyright© 2012, Oracle. All rights reserved. 41
移行元 Solaris 8, 9 イメージの取得
• 移行方法 • 稼働しているシステム上で アーカイブを取得する
• サポートする形式: flar, cpio, pax –x xustar, ufsdump, directory
• flash archive の取得例
• cpio の取得例
sol9# flarcreate -S -n solaris9 /export/solaris9-image.flar
Determining which filesystems will be included in the archive...
Creating the archive...
cpio: File size of "etc/mnttab" has
increased by 435
2068650 blocks
1 error(s)
Archive creation complete.
sol9# find . -print | cpio -odumv -O /export/solaris9.cpio
-S : ディスク容量確認をスキップして高速化
-n : アーカイブの名前(任意の文字列)
-L : アーカイブ形式
Copyright© 2012, Oracle. All rights reserved. 42
移行元 Solaris 8, 9 テストイメージ
• Solaris Legacy Containers テスト用のイメージを提供
• Example Solaris 9 System Image
• Solaris 9 9/05 HW のイメージ
• Example Solaris 8 System Image
• Solaris 8 2/04 のイメージ
• 注意点
• 本番運用への転用は不可
• 既存環境をソースとした マイグレーション技術であり、 ソースの存在が前提
• テスト用イメージは最小構成
Copyright© 2012, Oracle. All rights reserved. 43
Solaris Legacy Containers インストール
• Solaris Legacy Containers 1.0.1 のインストール
• Solaris 9 Containers patch の適用
• Patch-ID# 148161-02
• Solaris 8 Containers, Solaris 9 Containers のパッチが含まれる
• 依存しているパッチ: 137137-09 141444-09 142909-17 144500-19 (これらパッチは、Solaris 10 8/11 では適用済み)
sol10# unzip V24150-01.zip
sol10# cd solarislegacycontainers/1.0.1/Product
sol10# pkgadd -d . SUNWs8brandk
sol10# pkgadd -d . SUNWs9brandk
sol10# unzip 148161-02.zip
sol10# patchadd 148161-02
Copyright© 2012, Oracle. All rights reserved. 44
Solaris Legacy Containers 構成
• Solaris 9 Containers の構成例 sol10# # zonecfg -z s9-zone
s9-zone: そのような構成済みゾーンはありません
'create' を使用して、新しいゾーンの構成を開始してください。
zonecfg:s9-zones> create -t SUNWsolaris9
zonecfg:s9-zones> set zonepath=/zones/s9-zone
zonecfg:s9-zones> set autoboot=true
zonecfg:s9-zones> add net
zonecfg:s9-zones:net> set address=192.168.0.31
zonecfg:s9-zones:net> set physical=hme0
zonecfg:s9-zones:net> end
zonecfg:s9-zones> verify
zonecfg:s9-zones> commit
# zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- s9-zone configured /zones/s9-zone solaris9 shared
create 時に –t SUNWsolaris9 を指定することで、Solaris 9 コ
ンテナとして構成される
Solaris 8 コンテナの場合は、 -t SUNWsolaris8
Copyright© 2012, Oracle. All rights reserved. 45
Solaris Legacy Containers 構成
• hostid を移行元と合わせる
• デフォルトは、親機(Solaris 10)の hostidと同じ
• Machine name を sun4u にする
• SPARC Tサーバ(sun4v)上で、sun4u と見せかけたい場合に
zonecfg:s9-zone> add attr
zonecfg:s9-zone:attr> set name=hostid
zonecfg:s9-zone:attr> set type=string
zonecfg:s9-zone:attr> set value=01234567
zonecfg:s9-zone:attr> end
zonecfg:s9-zone> add attr
zonecfg:s9-zone:attr> set name=machine
zonecfg:s9-zone:attr> set type=string
zonecfg:s9-zone:attr> set value=sun4u
zonecfg:s9-zone:attr> end
Copyright© 2012, Oracle. All rights reserved. 46
ゾーンイメージのインストール
• OS イメージアーカイブを使ったゾーンのインストール
• 移行元システムで作成したイメージを移行先システム Solaris 10 に転送し、zoneadm コマンドでインストール • -u で sys-unconfig が実行され初回起動時にネットワーク設定等を入力できる
• -u を使用せず移行元の設定情報をそのまま使用する場合は –p オプションを付ける
• -a でイメージアーカイブを指定
sol10# zoneadm -z s9-zone install -u -a /export/data/solaris9-image.flar
このゾーンの ZFS ファイルシステムが作成されました。
ログファイル: /var/tmp/s9-zone.install.4141.log
ソース: /export/data/solaris9-image.flar
インストール中: これには数分かかることがあります...
後処理中: これには数分かかることがあります...
結果: インストールが正常に完了しました。
ログファイル: /zones/s9-zone/root/var/log/s9-zone.install.4141.log
Copyright© 2012, Oracle. All rights reserved. 47
Solaris Legacy Containers
• solaris9 ゾーンとして認識される sol10# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / native shared - s9-zone installed /zones/s9-zone solaris9 shared sol10# zonecfg -z s9-zone zonecfg:s9-zone> info zonename: s9-zone zonepath: /zones/s9-zone brand: solaris9 autoboot: true bootargs: pool: limitpriv: scheduling-class: ip-type: shared net: address: 192.168.0.31 physical: hme0 defrouterが指定されていません
Copyright© 2012, Oracle. All rights reserved. 48
Solaris Legacy Containers
• ゾーンの起動
sol10# zoneadm -z s9-zone boot
sol10# zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
2 s9-zone running /zones/s9-zone solaris9 shared
sol10# zlogin -C s9-zone
[ゾーン 's9-zone' コンソールに接続しました]
・・・(flarcreate –u の場合)ネットワーク設定等初期化を行う・・・
sol9-v # uname -a
SunOS sol9-v 5.9 Generic_Virtual sun4u sparc SUNW,Sun-Blade-2500
~.
sol10#
Enter を押す
チルダ+ピリオド で Solaris 10に戻る
Copyright© 2012, Oracle. All rights reserved. 49
Solaris Legacy Containers
• パッチ
• Solaris 8, 9 用のパッチは非大域ゾーンで適用する
• Solaris 10 のカーネルを使用するため、Solaris 8, 9 用のカーネルパッチは効果がない、ただしパッチの依存性のために必要
• X11アプリケーション
• ssh –X solaris9-zone でアクセスする
• ゾーンの移動
• ゾーンを別のホストに移動して起動させる場合、初回起動時は次の コマンドが必要
sol10# /usr/lib/brand/solaris9/s9_p2v [zonename]
sol10# /usr/lib/brand/solaris8/s8_p2v [zonename]
Copyright© 2012, Oracle. All rights reserved. 50
• SPARC/Solaris のバイナリ・コンパチビリティ
移行期間/コストの削減
性能向上, TCO 削減
段階的な移行の実現
Solaris Legacy Containers
s8c s10z s10z s11z
Oracle VM Server for SPARC
Solaris 8
Copyright© 2012, Oracle. All rights reserved. 51
参考資料
• http://docs.oracle.com/cd/E26924_01/html/E25829/ Oracle Solaris のシステム管理 (Oracle Solaris ゾーン、Oracle Solaris 10 ゾーン、およびリソース管理)
• http://docs.oracle.com/cd/E22645_01/html/820-2914/index.html System Administration Guide: Oracle Solaris 8 Containers
• http://docs.oracle.com/cd/E22645_01/html/820-4490/index.html System Administration Guide: Oracle Solaris 9 Containers
Copyright© 2012, Oracle. All rights reserved. 52
Copyright© 2012, Oracle. All rights reserved. 53 53