15.02.2013 Views

fXlts

fXlts

fXlts

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Oracle Solaris 11 ゾーンを使ってみよう<br />

(構築・運用ガイド)<br />

2012年11月(第1版)<br />

富士通株式会社<br />

Copyright 2012 FUJITSU LIMITED


はじめに<br />

� 目的<br />

� 本書はOracle Solaris 11 zoneの構築・運用方法について紹介します。具体的な手順<br />

は「Oracle Solaris 11ゾーンを使ってみよう(構築・運用手順書)」をご参照ください。<br />

� 対象読者<br />

� Oracle Solaris 11の基礎知識を有している方<br />

� 「Oracle Solaris 11を使ってみよう」、「Oracle Solaris 11ゾーンを使ってみよう(概要・<br />

設計ガイド)」を参照された方<br />

� 留意事項<br />

� 「Oracle Solaris」を「Solaris」と、「Oracle Solaris Zone」を「ゾーン」、「Zone」、「nonglobal<br />

zone」または「コンテナ」と表記する表記する場合があります。<br />

� 本資料は、Oracle Solaris 11 11/11に基づいています。<br />

� Oracle Solaris 11 に関する最新情報は、Oracle社のマニュアルをご参照ください。<br />

• Oracle Solaris 11 Documentation<br />

http://www.oracle.com/technetwork/documentation/solaris-11-192991.html<br />

� ドキュメントの位置付け<br />

Solaris 11 zoneを使ってみよう<br />

(概要・設計ガイド)<br />

設計<br />

Solaris 11 zone を使ってみよう (構築・運用ガイド)<br />

Solaris 11 zone を使ってみよう (構築・運用手順書)<br />

導入<br />

1<br />

運用<br />

Copyright 2012 FUJITSU LIMITED


目次<br />

1. リソースプールの構築<br />

2. zoneの作成<br />

3. Oracle Solaris Zoneの基本操作<br />

4. Oracle Solaris Zoneの検証環境利用<br />

5. Oracle Solaris Zoneの災対環境利用<br />

6. Oracle Solaris Zone総合環境におけるリソース操作<br />

7. Oracle Solaris ZoneのBoot環境とパッケージ<br />

8. Oracle Solaris Zoneを利用した仮想ネットワーク構築<br />

2<br />

Copyright 2012 FUJITSU LIMITED


1. リソースプールの構築<br />

3<br />

Copyright 2012 FUJITSU LIMITED


リソースプールの構築<br />

�リソースプールの構成変更設定<br />

1.スケジューラの設定<br />

global zoneのスケジューラを変更します。<br />

2.サービスの起動<br />

リソースプールサービスを起動します。<br />

3.定義ファイルの作成と編集<br />

定義ファイルを作成します。<br />

4.リソースプール構成の実行<br />

作成したリソースプール構成を実行します。<br />

global zone<br />

4<br />

pool_default<br />

リソースプール<br />

を作成します。<br />

pset_default<br />

CPU CPU CPU CPU<br />

zone01 zone02<br />

pool_1<br />

pset_1<br />

FSS<br />

CPU CPU CPU CPU<br />

Copyright 2012 FUJITSU LIMITED


リソースプールの作成<br />

� CPU資源の制御と管理<br />

• 作成するZoneのプロセスが使用するCPU資源を制限するため、リソースプールを作成します。<br />

• 設定項目は/etc/pooladm.confファイルへ書き出されます。リソースプールを構成するためには<br />

下記コマンドを使用します。<br />

poolcfgコマンド<br />

・定義ファイル(/etc/pooladm.conf)の作成、編集<br />

pooladmコマンド<br />

・リソースプール構成の実行<br />

リソースプール定義項目 実行イメージ<br />

global zone用 non-global zone用<br />

リソースプール pool_default pool_1<br />

スケジューラ FSS FSS<br />

プロセッサセット名 pset_default pset_1<br />

最大CPU数 65535 4<br />

最低CPU数 4 4<br />

5<br />

global zone<br />

pool_default<br />

pset_default<br />

CPU CPU CPU CPU<br />

zone01 zone02<br />

pool_1<br />

pset_1<br />

FSS<br />

CPU CPU CPU CPU<br />

Copyright 2012 FUJITSU LIMITED


2. Zoneの作成<br />

6<br />

Copyright 2012 FUJITSU LIMITED


Zoneの作成とインストール<br />

�Zoneの作成<br />

1.Zoneの作成<br />

Zoneの定義ファイルを作成します。<br />

2.Zoneのインストール<br />

Zoneをインストールし、初期設定を行います。<br />

global zone<br />

7<br />

pool_default<br />

pset_default<br />

CPU CPU CPU CPU<br />

Zoneをインストールします。<br />

zone01 zone02<br />

pool_1<br />

pset_1<br />

FSS<br />

CPU CPU CPU CPU<br />

Copyright 2012 FUJITSU LIMITED


Zoneの作成<br />

� Zoneの定義ファイル作成とインストール<br />

• zoneの定義ファイルを作成してZoneをインストールします。<br />

• ここではOracle Solaris 11のZone構成時にデフォルトで設定されるanetリソースを使用して<br />

VNICを作成します。<br />

• Zoneのインストール後、Zoneを起動して初期構成(ホスト名、パスワード、言語など)を実行しま<br />

す。Zoneの定義ファイル作成、インストール、初期構成を実行するためには、下記コマンドを使<br />

用します。<br />

zonecfgコマンド<br />

・Zone定義ファイルの作成<br />

実行イメージ<br />

global zone<br />

①定義作成<br />

/etc/zones/xxx.xml<br />

②インストール<br />

VNICの作成<br />

③起動 VNIC<br />

④初期設定<br />

zoneadmコマンド<br />

・Zoneのインストール、起動<br />

パッケージインストール<br />

指定デバイスのマウント<br />

リソースプールの結合<br />

コンソールログイン<br />

8<br />

non-global zone<br />

リソースプール<br />

プロセッサセット<br />

zloginコマンド<br />

・Zoneへのログイン<br />

anetを使用してVNICを作成<br />

Copyright 2012 FUJITSU LIMITED


Zoneの定義項目<br />

設定項目 ★:必須 ※:排他 設定値(例) 説明<br />

zone名 ★ zonename zone01 Zoneの名前<br />

Zoneパス ★ zonepath /zones/zone01 global zoneからのルート(/)パス<br />

起動オプション bootargs -m verbose 永続的なZoneの起動引数<br />

自動起動 autoboot true global zoneと同時起動<br />

ブランドタイプ brand solaris 固定値<br />

特権 limitpriv default,sys_time Zoneに付与する特権<br />

スケジューラ ★ scheduling-class FSS Zoneのスケジューラを指定、FSSに設定<br />

リソースプール ※ pool pool_1 結合するリソースプールを指定<br />

Zone専用CPU設定 ※ dedicated-cpu ncpus<br />

importance<br />

(なし)<br />

(なし)<br />

Zone専用のリソースプールを構成<br />

メモリ制限設定 capped-memory physical 2G メモリ資源の使用上限の設定<br />

swap 4G<br />

物理メモリ、swapメモリ、ロックメモリを設定可能<br />

lock 1G<br />

IPタイプ ★ ip-type exclusive ネットワークの共有(share)、占有(exclusive)設定<br />

ネットワーク ★ anet linkname<br />

lower-link<br />

vnic1<br />

net0<br />

仮想NIC<br />

仮想NICを作成するリンク<br />

configure-allowed-address true インストール後の初期ブート時にallowed-addressを永続的<br />

に構成<br />

link-protection mac-nospoof リンクの保護<br />

mac-address auto 仮想NICのMACアドレス<br />

共有ファイルシステム fs dir /mnt non-non-global zone側のマウントポイント<br />

special /work global zone側のシェアディレクトリ<br />

type lofs ファイルシステムタイプ<br />

(option) ro 読み取り専用<br />

共有デバイス device match /dev/rmt/* Zoneから直接のアクセスを許可するデバイス<br />

リソースパラメタ設定 cpu-shares 1 CPUシェア数を指定するパラメタ<br />

cpu-cap 400 CPUリソース上限値を指定するパラメタ<br />

max-shm-memory 1G 共有メモリの上限値<br />

max-shm-ids 256 共有メモリIDの上限値<br />

max-sem-ids 256 セマフォIDの上限値<br />

max-msg-ids 512 メッセージIDの上限値<br />

コメント attr name comment コメントとタイプを指定<br />

type string<br />

value “This is DB Server” コメント内容<br />

9<br />

Copyright 2012 FUJITSU LIMITED


《参考》 Zone専用CPUの設定<br />

� dedicated-cpuパラメタ<br />

• Zone起動を契機として専用のリソースプールを構成します。<br />

global zone<br />

CPU<br />

Zone停止時 Zone起動時<br />

リソースプール<br />

プロセッサセット<br />

Zone停止<br />

dedicated-cpu=3<br />

CPU CPU CPU<br />

全てのCPUをglobal zoneが利用<br />

10<br />

global zone<br />

リソースプール<br />

プロセッサセット<br />

CPU<br />

Zone起動<br />

dedicated-cpu=3<br />

リソースプール<br />

プロセッサセット<br />

CPU CPU CPU<br />

起動のタイミングでリソースを確保<br />

(=停止するとリソースを開放)<br />

・CPU数の範囲指定が可能です。<br />

・Zone起動時に指定されたCPUリソースが確保できない場合、Zoneの起動が失敗します。<br />

・複数Zone間でリソースプールを共有する構成は不可です。<br />

Copyright 2012 FUJITSU LIMITED


《参考》 Zoneのネットワーク構成設定<br />

� ip-typeパラメタ<br />

• Zone毎に独立したルーティング設定が可能です。<br />

• Oracle Solaris 11では、占有(exclusive)がデフォルト設定で割り当てられます。<br />

global<br />

Zone<br />

ルーティング<br />

NIC<br />

占有(exclusive)<br />

zone01<br />

zone02 zone03<br />

ルーティング ルーティング ルーティング<br />

NIC NIC NIC<br />

Zone毎に個別のルーティング設定が可能<br />

(デフォルト設定)<br />

・サブネットの違うサーバを、サブネットを変更せずにOracle Solaris Zoneに統合可能です。<br />

・NICを共有させたい場合は、VLAN構成で対応可能です。<br />

・exclusive設定の場合、Zone間通信のセキュリティを強化可能です(IPフィルタ機能など)。<br />

11<br />

global<br />

Zone<br />

共有(shared)<br />

zone01<br />

ルーティング<br />

NIC<br />

zone02 zone03<br />

global zoneのルーティング設定を共有<br />

Copyright 2012 FUJITSU LIMITED


《参考》 メモリ資源管理<br />

� capped-memoryパラメタ<br />

• Zoneに対するメモリ使用制限が可能です。<br />

• メモリ領域は共有のため、各zoneは必要<br />

とするメモリを上限なく利用してしまう<br />

• メモリ不足の場合、ミドルウェアやアプリ<br />

ケーションの動作に影響を与える<br />

Memory 制限なし<br />

global zone<br />

pool_default<br />

pset_default<br />

メモリ制限なし メモリ制限あり<br />

利用 利用 利用 利用 利用 利用<br />

zone01 zone02 zone03 global zone zone01 zone02 zone03<br />

割当 割当 割当<br />

pool_1<br />

pset_1<br />

pool_2<br />

pset_2<br />

12<br />

• Zone単位に下記のメモリ資源の使用上限設<br />

定が可能<br />

physical (物理メモリ)<br />

swap (スワップ領域)<br />

locked (ロックされた物理メモリ)<br />

Memory<br />

pool_default<br />

pset_default<br />

割当 割当 割当<br />

pool_1<br />

pset_1<br />

・特定Zoneがメモリを占有することによる他Zoneの性能劣化を回避できます。<br />

・特に本番環境と検証環境が混在するような構成におけるメモリリソースの制限に有効です。<br />

制限<br />

pool_2<br />

pset_2<br />

CPU CPU CPU CPU CPU CPU<br />

CPU CPU CPU CPU CPU CPU<br />

制限<br />

Copyright 2012 FUJITSU LIMITED


3. Oracle Solaris Zoneの基本操作<br />

13<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneの基本操作<br />

�Oracle Solaris Zoneの起動、停止、ログイン操作<br />

� 本章の演習概要<br />

1.起動、停止、ログイン操作<br />

Zoneの基本動作を実施します。<br />

2.Zoneにおけるプロセスの見え方<br />

Zoneのプロセスを監視して、global zoneとの<br />

見え方の違いを確認します。<br />

3.zonestatコマンドによる統計情報取得<br />

zonestatコマンドを使用して、Zoneの統計情報を<br />

確認します。<br />

14<br />

global zone<br />

監<br />

視<br />

zone01<br />

Zoneのプロセスを監視<br />

して見え方を確認します。<br />

Zoneへログインします。<br />

起動<br />

停止<br />

zone01<br />

Zoneの起動、停止します。<br />

Copyright 2012 FUJITSU LIMITED


Zoneの基本操作(1)<br />

� Zoneの基本操作コマンド<br />

�Zoneの状態確認<br />

# zoneadm list -vc<br />

ID NAME STATUS PATH BRAND IP<br />

0 global running / solaris shared<br />

1 zone01 running /export/zone01 solaris excl<br />

2 zone02 running /export/zone02 solaris excl<br />

【構成済み状態】 【不完全状態】<br />

【停止状態】<br />

uninstall<br />

incomplete<br />

ready boot<br />

Configured<br />

install<br />

Incomplete<br />

Installed<br />

boot<br />

Ready<br />

Running<br />

uninstall<br />

halt (or shutdown)<br />

�Zoneの起動、再起動、停止(通常運用時)<br />

# zoneadm –z zone01 boot<br />

# zlogin zone01 “shutdown -y -g0 -i6”<br />

# zlogin zone01 “shutdown -y -g0 -i5”<br />

# zoneadm –z zone01 shutdown<br />

�Zoneの再起動、停止(緊急時)<br />

# zoneadm -z zone01 reboot<br />

# zoneadm –z zone01 halt<br />

�シングルユーザモードで起動<br />

# zoneadm -z zone01 boot -s<br />

15<br />

【起動準備状態】<br />

reboot (or shutdown)<br />

【起動状態】<br />

※Oracle Solaris 11から、zoneadm shutdownコマンドによるZoneの停止が可能<br />

・停止状態のZoneをincomplete状態に<br />

した場合、そのZoneは永続的に使用不<br />

可となります。<br />

uninstall操作のみ有効となりますので、<br />

実行時は注意が必要です。<br />

Copyright 2012 FUJITSU LIMITED


Zoneの基本操作(2)<br />

� Zoneへのコンソールログイン<br />

# zlogin -C zone01<br />

[Connected to zone 'zone01' console]<br />

� zoneへの通常ログイン<br />

�対話形式でのログイン<br />

# zlogin zone01<br />

[Connected to zone 'zone01' pts/2]<br />

Oracle Corporation SunOS 5.11 11.0 November 2011<br />

root@zone01:~#<br />

�非対話形式でのログイン<br />

# zlogin -l guest zone01 ps -ef<br />

Oracle Corporation SunOS 5.11 11.0 November 2011<br />

UID PID PPID C STIME TTY TIME CMD<br />

root 15329 14799 0 11:18:10 0:00 /usr/sbin/init<br />

root 16480 14799 0 11:18:53 ? 0:00 /usr/lib/inet/inetd start<br />

: : : : :<br />

�一般ユーザ権限でのログイン<br />

$ pfexec zlogin zone01<br />

※Oracle Solaris 11から<br />

16<br />

global zone<br />

global zone<br />

・No Passwordでログイン<br />

global zone<br />

・コマンド実行結果のみ表示<br />

zone01<br />

・初回は、Zoneの初期構成(ホスト名、管理者<br />

パスワード、タイムZone、言語など)がコンソール<br />

に表示されるため、zlogin -C でコンソール接続後、<br />

別画面からZoneを起動<br />

zone01<br />

zone01<br />

事前に、Zoneのadminプロパティに操作権限を与え<br />

るユーザ名、権限の定義が必要です。<br />

権限を与えられたユーザのコマンド実行は、プロ<br />

ファイルシェル(pfsh)からの実行が必要となります。<br />

(※pfsh環境で実行すればpfexecは不要)<br />

Copyright 2012 FUJITSU LIMITED


Zone管理用コマンドオプション<br />

� Zoneの情報表示<br />

�プロセス上表を表示<br />

# ps -efZ | grep init<br />

global root 1 0 0 23:10:35 ? 0:04 /sbin/init<br />

zone01 root 27493 27472 0 15:39:46 ? 0:00 /sbin/init<br />

zone02 root 28136 28126 0 15:47:39 ? 0:00 /sbin/init<br />

zone03 root 3470 3456 0 17:46:54 ? 0:00 /sbin/init<br />

�ファイルシステム情報を表示<br />

# df -Z<br />

:<br />

/zones (zones ):19192274 blocks 19192274 files<br />

/zones/zone01 (zones/zone01 ):19192274 blocks 19192274 files<br />

/zones/zone01/root (zones/zone01/rpool/ROOT/solaris ):19192274 blocks 19192274 files<br />

/zones/zone01/root/dev (/dev ): 0 blocks 0 files<br />

/zones/zone01/root/var (zones/zone01/rpool/ROOT/solaris/var):19192274 blocks 19192274 files<br />

・Zoneに対応したオプション(-z、-Z)を付けることで、global zoneから各Zoneの情報取得が可能です。<br />

その他、ipcs(1),pgrep(1),pkill(1),ptree(1),prstat(1M),coreadm(1M)など。<br />

17<br />

Copyright 2012 FUJITSU LIMITED


Zoneのネットワーク管理(2)<br />

� ネットワークの状態表示(ip-type=exclusive時)<br />

�global zoneから実行時<br />

# ipadm create-ip net1<br />

ipadm: cannot create interface net1: Interface already in use<br />

�non-global zoneから実行時<br />

# dladm show-link<br />

LINK CLASS MTU STATE OVER<br />

net1 phys 1500 unknown --<br />

# ipadm create-ip net1<br />

# ipadm create-addr -T static -a local=192.168.4.1/24 net1/Zone<br />

# ipadm show-addr<br />

ADDROBJ TYPE STATE ADDR<br />

lo0/v4 static ok 127.0.0.1/8<br />

net1/Zone static ok 192.168.4.1/24<br />

lo0/v6 static ok ::1/128<br />

18<br />

Zoneに割当てられた<br />

ためNIC操作不可<br />

割当てられたNICに<br />

対して設定が可能<br />

・ip-typeを占有(exclusive)に設定した場合は、global zoneからnon-global zoneの情報は確認できません。<br />

割り当てたNICの管理はnon-global zoneで実施します。<br />

Copyright 2012 FUJITSU LIMITED


Zoneのネットワーク管理(1)<br />

� ネットワークの状態表示(ip-type=shared時)<br />

�global zoneからNICを確認<br />

# ipadm show-addr<br />

ADDROBJ TYPE STATE ADDR<br />

lo0/v4 static ok 127.0.0.1/8<br />

lo0/? static ok 127.0.0.1/8<br />

net0/v4 static ok 192.168.2.1/24<br />

net0/? static ok 192.168.2.2/24<br />

�non-global zoneからNICを確認<br />

# ipadm show-addr<br />

ADDROBJ TYPE STATE ADDR<br />

lo0/? from-gz ok 127.0.0.1/8<br />

net0/? from-gz ok 192.168.2.2/24<br />

lo0/? from-gz ok ::1/128<br />

19<br />

ZoneのNIC<br />

も認識<br />

Zoneに割当てられ<br />

たNICのみ認識<br />

・ip-typeを共有(shared)に設定した場合は、non-global zoneからNICの設定はできません。NICの管理は<br />

全てglobal zoneで実施します。<br />

Copyright 2012 FUJITSU LIMITED


Zoneにおける制限と特権<br />

� non-global zoneでは動作しないコマンド、アプリ(一例)<br />

� dtrace(1M) ※但し、dtrace_proc特権、dtrace_user特権を追加することで動作可能<br />

� RTプロセス<br />

� eeprom(1M)によるパラメタ設定 ※参照は可能<br />

� format(1M) ※但し、allow-partitionプロパティを設定することで動作可能<br />

� prtconf ※但し、prtconf –pは実行可能<br />

� prtdiag(1M) ※但し、一部のオプションは実行可能<br />

� psradm(1M)<br />

� trapstat(1M)<br />

� 特権の設定(一例)<br />

�Zoneにシステム時刻操作の特権(sys_time)を付与<br />

zonecfg:zone01> set limitpriv=default,sys_time<br />

�Zoneにdtrace関連の特権(dtrace_proc、dtrace_user)を付与<br />

zonecfg:zone01> set limitpriv=default,dtrace_proc,dtrace_user<br />

・基本的にZoneではハードウェアやカーネルを操作するアプリやコマンドは実行できません。<br />

但し、Zoneに特権を定義することで、一部の実行権を付与すことが可能です。<br />

20<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zone環境の設定変更(1)<br />

� Zone環境の設定変更<br />

�定義情報の変更(IPアドレスの変更)<br />

# zonecfg –z zone01<br />

zonecfg:zone01> select net address=192.168.100.100/24<br />

zonecfg:zone01:net> set address=192.168.100.200/24<br />

zonecfg:zone01:net> end<br />

zonecfg:zone01> exit<br />

�定義情報の削除(IPアドレス設定の削除)<br />

# zonecfg -z zone01<br />

zonecfg:zone01> remove net address=192.168.100.100/24<br />

①Zoneの停止 ②zonecfgコマンドで修正<br />

global zone<br />

Zone<br />

Zone.xml<br />

21<br />

③Zoneの起動<br />

global zone<br />

Zone<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zone環境の設定変更(2)<br />

� zonepathの変更<br />

• Zoneのディレクトリを同一ホスト内の新しい場所へ移動することが可能です。<br />

例:/export/home/zone01 から /export/zones/zone01 へ移動<br />

/(root)<br />

home zones<br />

zone01<br />

export<br />

dev root 移動<br />

# zoneadm -z zone01 move /export/zones/zone01<br />

・Zoneの移動を行なうと、Zone構築時に設定したzonepathパラメタが変更されます。<br />

・実施前に移動先のDISK領域が十分であることを確認してください。<br />

22<br />

Copyright 2012 FUJITSU LIMITED


4. Oracle Solaris Zoneの検証環境利用<br />

23<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneの複製<br />

�Oracle Solaris Zoneの複製<br />

1.構成ファイルの作成と編集<br />

クローン元の構成ファイルを編集してクローンを<br />

構成します。<br />

2.クローンの作成<br />

クローン元からクローンを作成します。<br />

24<br />

global zone<br />

構成情報を抽出<br />

します。<br />

Master情報<br />

zone01<br />

(クローン元)<br />

Master情報から複製Zone<br />

の構成情報を作成します。<br />

Master情報から複製Zone<br />

の構成情報を作成します。<br />

zone02<br />

(クローン)<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneの複製 1/2<br />

� クローン機能<br />

• 本番環境と同一環境のZoneをクローン機能で作成し、検証環境のZoneを構築します。<br />

global zone<br />

Master<br />

情報<br />

①<br />

Zone<br />

(マスター)<br />

②<br />

③<br />

スナップショット<br />

Zone<br />

情報<br />

④ ④<br />

Zone<br />

(クローン)<br />

スナップショット<br />

Zone<br />

(クローン)<br />

25<br />

Zone<br />

情報<br />

①zonecfgコマンドで構成情報を<br />

抽出<br />

②zonecfgコマンドで、Master情報<br />

から複製Zoneの構成情報を作成<br />

(IPアドレスとzonepathは重複しないように変更)<br />

③zoneadmコマンドで複製(クローン)<br />

を作成<br />

④各zoneの初期設定を実施<br />

(rootパスワード、ホスト名など)<br />

・複製元Zone(マスター)のインストールは通常通り実施しますが(約20分)、複製先Zone(クローン)は、<br />

ZFSスナップショットとZFSクローンの連携によって効率的に構築が可能です。<br />

・一環境のクローン作成時間は数十秒程で作成可能です。<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneの複製 2/2<br />

� UFSとZFSにおけるZoneクローンの動作<br />

�UFS環境の場合(Oracle Solaris 10のみ)<br />

zone01<br />

non-global zone<br />

/zones<br />

┗/zone01<br />

物理コピー<br />

zone01_clone<br />

non-global zone<br />

/zones<br />

┗/Zone01<br />

┗/zone01_clone<br />

・クローン先に対して物理的にデータコピーを行っているため<br />

クローン作成には時間を要する。<br />

※5分~10分程度(ディスク使用状況により増加します。)<br />

�ZFS環境の場合<br />

26<br />

zone01<br />

non-global zone<br />

zones<br />

┗/zone01<br />

スナップショット採取<br />

zones<br />

┗/zone01@snap00<br />

zone01_clone<br />

non-global zone<br />

・一度スナップショットを採取し、そのスナップショットを元にZFS<br />

クローンを作成し、新しいZone用の領域としている。スナップショット、<br />

ZFSクローンは瞬時に完了するため、Zoneクローンも瞬時に完了<br />

します。(数十秒)<br />

・ ZFSスナップショットとZFSクローンの連携によって効率的に複数のZone環境の構築が可能です。<br />

・バックグラウンドの動作の違いであるため、ユーザの操作に変更はありません。<br />

・Oracle Solaris 11では、UFS上にZoneは作成できません<br />

ZFSクローン作成<br />

zones<br />

┗/zone01<br />

┗/zone01_clone<br />

Copyright 2012 FUJITSU LIMITED


《参考》クローン機能によるデータベース環境の複製<br />

◆クローン環境作成時のポイント<br />

�Zone定義情報の編集(クローン作成前)<br />

①Zone名の変更<br />

同じサーバ内に同名のZoneは作成不可なので別名をつける<br />

②zonepathの変更<br />

同じサーバ内に同名のzonepathは作成不可なので別のパス<br />

を指定する<br />

③IPアドレスの変更<br />

同一ネットワーク上に同一のIPアドレスの使用は不可なので<br />

別のIPアドレスを指定する<br />

④リソース上限設定<br />

CPU、メモリの使用制限する場合設定する<br />

⑤デバイス情報の変更<br />

DB用デバイスを変更する<br />

�ミドルウェア用の設定変更(クローン作成後)<br />

①デバイスファイルの削除<br />

クローン元のデバイスファイルが残っているので削除する<br />

②DBデータの移行<br />

クローン元で作成したDBデータ、など一式をコピーする<br />

(OSコマンドやストレージ機能で実施)<br />

③OSのホスト名、IPアドレス変更の影響を受ける<br />

データベース側の設定変更<br />

ホスト名やIPアドレスが記載されたファイルの編集や、<br />

コマンドによる構成情報の再作成を実施する<br />

global zone<br />

zone1<br />

(DB用デバイス)<br />

/dev/[r]dsk/c1t0d0s0<br />

/dev/[r]dsk/c1t0d1s0<br />

c1t0d0 c1t0d1<br />

27<br />

Zone定義情報<br />

の編集<br />

Zone専用<br />

のデバイス<br />

Zoneクローン<br />

データ移行<br />

(DBデータなど)<br />

zone2<br />

(DB用デバイス)<br />

/dev/[r]dsk/c2t0d0s0<br />

/dev/[r]dsk/c2t0d1s0<br />

Zone専用<br />

のデバイス<br />

c2t0d0 c2t0d1<br />

DB各種設定<br />

ファイルの変更<br />

Copyright 2012 FUJITSU LIMITED


5. Oracle Solaris Zoneの災対環境利用<br />

28<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneの災対環境利用<br />

�Zoneを災対環境へ移動<br />

1.Zoneの切り離しとアーカイブ作成<br />

移動させるZoneを切り離してアーカイブを作成します。<br />

2.アーカイブの転送<br />

別サーバへアーカイブを転送します。<br />

3.アーカイブの展開とZoneの組み込み<br />

別サーバにてアーカイブを展開しZoneを組み込みます。<br />

29<br />

本番環境 災対環境<br />

global zone<br />

(global01)<br />

zone01 zone01<br />

Zoneのアーカイブ<br />

を作成します。<br />

アーカイブを組み<br />

込みます。<br />

global zone<br />

(global02)<br />

アーカイブとconfig情報を転送します。<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zone環境のサーバ間移動<br />

� Zoneをサーバ間で移動させて災対環境の運用を実現<br />

• Zone移動機能:Zoneを別のサーバへ移動し同じZone環境を復元する機能です。<br />

(1)Zone環境のdetach (切り離し)<br />

とアーカイブの作成<br />

global zone<br />

Zone<br />

# zoneadm -z zone01 detach<br />

# zonecfg -z zone01 export > /[zone_directory]/zone01.zonecfg<br />

(Zoneのconfig情報をexport)<br />

# zfs snapshot -r [dataset]/zone01@v2v<br />

(スナップショット作成)<br />

# zfs send -rc [dataset]/zone01@v2v | gzip > ¥<br />

>/[zone_directory]/zone01.zfs.gz<br />

(アーカイブを作成して別ホストへFTP転送)<br />

(2)アーカイブとconfig情報をFTP等で転送<br />

30<br />

global zone<br />

(3)Zone環境の作成と<br />

Attach (組み込み)<br />

Zone<br />

# zonecfg -z zone01 -f /[zone directory]/zone01.zonecfg<br />

(config構成を読み込み)<br />

# zoneadm -z zone01 attach –a /[zone_directory]/zone01.zfs.gz<br />

・別ホスト上でattachする際に、移行前と移行後の環境チェックが実施されます。<br />

・移動先のOracle Solaris 11環境にインストールされているパッケージが移行元のバージョンと比べて古い場合、attachコマンド<br />

に-uオプション(non-global zoneで動作しているパッケージを更新)、-Uオプション(global zoneで動作しているパッケージを<br />

更新)を使用してパッケージをアップデートします。本演習ではオプションは付与しません。<br />

Copyright 2012 FUJITSU LIMITED


Zone移動機能の活用<br />

� Zone移動機能を利用して迅速に環境を復旧可能<br />

• アプリケーションの更新時(パッチ適用など)にアーカイブを取得します。<br />

• アーカイブの世代管理も可能です。<br />

(1)Zoneを停止し、<br />

切り離し(detach)を行い<br />

アーカイブを作成する<br />

global zone<br />

Zone<br />

(3)移動後、組み込み<br />

(attach)を行いコン<br />

テナ環境を復元する<br />

31<br />

(2)アーカイブをテープ装置<br />

や別サーバへ移動する<br />

複数世代<br />

を管理<br />

(4)環境復旧時は、アーカイブデータ<br />

を戻しZoneの組み込み(attach)を<br />

実行する<br />

Copyright 2012 FUJITSU LIMITED


《参考》 災対環境におけるデータベース環境の復旧<br />

� 退避済みのアーカイブデータを利用し、迅速にデータベース環境を復旧<br />

• 運用時は、データベース環境の更新(パッチ適用など)時に最新のアーカイブを災対環境へ退避<br />

します。<br />

• 保守時や障害時は、別サーバ上でZoneを復元し代替環境として業務を継続します。<br />

サーバ<br />

停止<br />

global zone<br />

Zone Zone停<br />

止<br />

Zone<br />

DB<br />

本番データベース<br />

32<br />

(1)最新のアーカイブからZoneを復旧<br />

global zone<br />

Zone<br />

(2)本番環境データを復旧する<br />

ストレージの機能などを利用<br />

・外部ストレージのデータはストレージ共有や、ETERNUSのREC(Remote Equivalent Copy)機能等での実現<br />

を想定しています。<br />

DB<br />

Copyright 2012 FUJITSU LIMITED


6. Oracle Solaris Zone総合環境に<br />

おけるリソース操作<br />

33<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zone統合環境におけるリソース操作<br />

�CPUシェア数とキャッピングの設定<br />

1.CPUシェア数の設定<br />

CPUシェア数を設定して、各zoneが利用するCPUの<br />

配分比率を指定します。<br />

2.CPUリソースのキャッピング設定<br />

CPUリソースのキャッピングを設定して、使用するCPUの<br />

使用上限値を指定します。<br />

34<br />

CPUシェア数の設定<br />

pool_1<br />

50%<br />

50%<br />

zone01 zone02<br />

(50) (50)<br />

CPU CPU<br />

CPUリソースのキャッピング設定<br />

pool_1<br />

zone01 zone02<br />

zone01 zone02<br />

(CPUシェア数:70) (30)<br />

pool_1<br />

70%<br />

zone01 zone02<br />

(20) (80)<br />

1CPU分 2CPU分<br />

pool_1<br />

30%<br />

CPU CPU<br />

CPU CPU CPU CPU CPU CPU<br />

Copyright 2012 FUJITSU LIMITED


CPUリソースの変更(1)<br />

� CPUシェア数の動的変更によるリソース配分の変更<br />

�prctlコマンドによる実行<br />

# prctl -n Zone.cpu-shares -r -v 20 -i zoneid 1<br />

# prctl -n Zone.cpu-shares -r -v 80 -i zoneid 2<br />

pool_1<br />

70% 30% 20% 80%<br />

zone01<br />

(CPUシェア数:70)<br />

zone02<br />

(30)<br />

pool_1<br />

CPU CPCPU CPU CPU<br />

zone02<br />

zone03<br />

35<br />

zone01<br />

(20)<br />

《リソース配分》 《リソース配分》<br />

・CPUシェア数によるリソース配分はプールのスケジューラが「FSS」の時のみ有効です。<br />

zone02<br />

(80)<br />

zone02<br />

zone03<br />

Copyright 2012 FUJITSU LIMITED


CPUリソースの変更(2)<br />

� CPUリソースのキャッピング<br />

�zonecfgコマンドによるキャッピング設定(zone.cpu-capパラメタ)<br />

# zonecfg –z zone02<br />

zonecfg:zone02>add capped-cpu<br />

zonecfg:zone02>set ncpus=1<br />

zonecfg:zone02>end<br />

�キャッピング値の動的変更<br />

# prctl –n Zone.cpu-cap –r –v 200 –i zoneid zone02<br />

pool_1<br />

CPC<br />

zone01<br />

CPU<br />

zone02<br />

1CPU分<br />

CPU<br />

36<br />

ncpu=1 の場合、1CPU分のリソースを占有<br />

する設定となり、OSの資源パラメタに<br />

Zone.cpu-cap=100が自動設定されます。<br />

zone01 zone02<br />

2CPU分<br />

pool_1<br />

CPU CPU CPU<br />

・Zone.cpu-capの値は”100”を1CPUとして設定するので、リソースプールでのCPU割り当てより、細かなリソース配分設定が<br />

可能です。 1CPUを1%単位で配分可能。<br />

Copyright 2012 FUJITSU LIMITED


CPUリソースの変更(3)<br />

� CPUリソースの動的移動<br />

�poolcfgコマンドによる実行(手動)<br />

# poolcfg -dc 'transfer 1 from pset pset_2 to pset_1'<br />

# poolcfg -dc 'transfer to pset pset_1 (CPU 5) '<br />

�pooldデーモンによる実行(自動)<br />

# svcadm enable pools/dynamic:default<br />

zone01<br />

pool_1<br />

CPU<br />

pool_2<br />

CPU<br />

zone02<br />

移動<br />

CPU<br />

37<br />

pool_1<br />

CPU<br />

zone01<br />

CPU<br />

zone02<br />

pool_2<br />

CPU<br />

・pooldデーモンによる自動CPUリソース移動は、サービス起動時に即有効になります。リソースプールの負荷状況に応じて、<br />

設定範囲(pset.min~pset.max)内でCPUを自動的に移動させます。<br />

Copyright 2012 FUJITSU LIMITED


7. Oracle Solaris ZoneのBoot環境と<br />

パッケージ<br />

38<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris ZoneのBoot Environment(BE)とパッケージインストール<br />

�BEの作成とパッケージインストール<br />

1.BEのスナップショット作成<br />

BEからスナップショットを作成します。<br />

2.スナップショットからのBE作成<br />

スナップショットからBEを作成します。<br />

3.BEの作成とパッケージのインストール<br />

BEを新規作成して、ローカルリポジトリから作成した<br />

BEへパッケージをインストールします。<br />

global zone<br />

39<br />

パッケージ<br />

インストール<br />

BE:be01<br />

BE作成<br />

zone01<br />

BE:be02<br />

solaris@snap01<br />

snapshot<br />

パッケージ<br />

BE作成<br />

BE:solaris<br />

Copyright 2012 FUJITSU LIMITED


事前準備<br />

� BEのスナップショット作成<br />

• BE(solaris)からスナップショット(solaris@snap01)を作成します。<br />

�BEの確認<br />

# beadm list –a<br />

BE/Dataset/Snapshot Active Mountpoint Space Policy Created<br />

---------------- ------ ------- ----- ------ ------solaris<br />

rpool/ROOT/solaris NR / 386.97M static 2012-04-06 15:46<br />

----<br />

�スナップショットの作成とテストファイルの作成<br />

# beadm create solaris@snap01<br />

#beadm list -s<br />

BE/Snapshot Space Policy Created<br />

----------- ----- ------ ------solaris<br />

solaris@install 6.15M static 2012-04-06 16:17<br />

solaris@snap01 0 static 2012-04-10 10:08<br />

----<br />

#<br />

# touch /root/testfile01<br />

global zone<br />

zone01<br />

snapshot作成<br />

BE:solaris solaris@snap01<br />

40<br />

Active列の値<br />

N:現在アクティブのBE<br />

R:リブート後にアクティブになるBE<br />

(1) BE(solaris)からスナップショット<br />

を作成<br />

(2) BE(solaris)から作成したスナップ<br />

ショット(solaris@snap01)を確認<br />

(3) 以降の手順でシステムの状態を<br />

確認するため、ファイルを作成<br />

Copyright 2012 FUJITSU LIMITED


スナップショットからBEの作成<br />

� BEの作成(be01)<br />

• 作成したスナップショット(solaris@snap01)からBE(be01)を新規作成します。<br />

�スナップショット(solaris@snap01)の確認<br />

# beadm list -s<br />

BE/Snapshot Space Policy Created<br />

----------- ----- ------ ------solaris<br />

solaris@install 6.15M static 2012-04-06 16:17<br />

solaris@snap01 40.0K static 2012-04-10 10:08<br />

�スナップショット(solaris@snap01)からBE(be01)を新規作成<br />

# beadm create -e solaris@snap01 be01<br />

#<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ -------- ----- ------ ------be01<br />

- - 60.0K static 2012-04-10 10:08<br />

solaris NR / 422.66M static 2012-04-06 15:46<br />

----<br />

global zone<br />

zone01<br />

BE:solaris<br />

solaris@snap01<br />

BE作成<br />

41<br />

BE:be01<br />

スナップショット(solaris@snap01)の確<br />

認<br />

新規作成したBE(be01)の確認<br />

Copyright 2012 FUJITSU LIMITED


BEのアクティブ化<br />

� BE(be01)のアクティブ化<br />

• BE(be01)をアクティブ化して、スナップショット作成時の環境に戻します。<br />

�BE(be01)のアクティブ化<br />

# beadm activate be01<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

R - 422.50M static 2012-04-10 10:08<br />

solaris N / 173.0K static 2012-04-06 15:46<br />

----<br />

�BE(be01)の確認とテストファイルの確認<br />

# shutdown -y -g0 -i6<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

NR / 443.47M static 2012-04-10 10:08<br />

solaris - - 1.70M static 2012-04-06 15:46<br />

----<br />

#<br />

# ls –l /root<br />

total 0<br />

global zone<br />

zone01<br />

BE:be01<br />

アクティブ化<br />

42<br />

BE:be01<br />

Active値が「R」と表示<br />

(1) 新規作成したBE(be01)が有効で<br />

あることを確認<br />

(2) スナップショット作成時の環境に<br />

戻っていることを確認<br />

Copyright 2012 FUJITSU LIMITED


BEの新規作成<br />

� BEの新規作成(be02)とマウント<br />

• BE(be02)を新規作成し、作成したBE(be02)へパッケージを追加するため任意のディレ<br />

クトリへマウントします。<br />

�BEの作成<br />

# beadm create be02<br />

#<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ --------- ----- ------ ------be01<br />

NR / 443.49M static 2012-04-10 10:08<br />

be02 - - 60.0K static 2012-04-10 10:13----<br />

�BEのマウント<br />

# beadm mount be02 /mnt<br />

#<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

NR / 443.56M static 2012-04-10 10:08<br />

be02 - /mnt 60.0K static 2012-04-10 10:13<br />

----<br />

global zone<br />

zone01<br />

BE:solaris<br />

BE作成<br />

43<br />

BE:be02<br />

(1) BE(be02)を新規作成<br />

(2) 新規作成したBE(be02)を確認<br />

(1) 作成したBE(be02)にパッケージ<br />

を追加するため任意のディレクトリへマ<br />

ウント<br />

(2) 指定したディレクトリへマウントさ<br />

れていることを確認<br />

Copyright 2012 FUJITSU LIMITED


IPSパッケージのインストール<br />

� BEへのIPSパッケージインストール<br />

• 新規作成したBE(be02)へパッケージをインストールします。<br />

�BE(be02)へのパッケージインストール<br />

# pkg -R /mnt install pkg://solaris/service/network/telnet<br />

Packages to install: 1<br />

Create boot environment: No<br />

Create backup boot environment: No<br />

Services to change: 1<br />

DOWNLOAD PKGS FILES XFER (MB)<br />

Completed 1/1 9/9 0.0/0.0$<br />

PHASE ACTIONS<br />

Install Phase 29/29<br />

PHASE ITEMS<br />

Package State Update Phase 1/1<br />

Image State Update Phase 2/2<br />

�インストール後の確認<br />

# pkg list telnet<br />

pkg list: no packages matching 'telnet' installed<br />

global zone<br />

zone01<br />

BE:solaris<br />

パッケージ<br />

44<br />

BE:be02<br />

パッケージ<br />

インストール<br />

アクティブでないBE(be02)に対して<br />

パッケージをインストール<br />

アクティブでないBE(be02)に対してパッ<br />

ケージをインストールしたため、現在の<br />

ブート環境には未適用であることを確認<br />

Copyright 2012 FUJITSU LIMITED


BEのアクティブ化<br />

� BE(be02)のアクティブ化<br />

• パッケージをインストールしたBE(be02)に切り替えるため、アクティブ化した後にOSを再起動します。<br />

�BE(be02)のアクティブ化と確認<br />

# beadm activate be02<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

N / 286.5K static 2012-04-10 10:08<br />

be02 R - 478.60M static 2012-04-10 10:13<br />

----<br />

�BEとパッケージの確認<br />

# shutdown -y -g0 -i6<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

- - 2.23M static 2012-04-10 10:08<br />

be02 NR / 512.17M static 2012-04-10 10:13<br />

----<br />

#<br />

# pkg list telnet<br />

NAME (PUBLISHER) VERSION IFO<br />

network/telnet 0.5.11-0.175.0.0.0.2.1 i-service/network/telnet<br />

0.5.11-0.175.0.0.0.2.1 i--<br />

global zone<br />

zone01<br />

BE:solaris<br />

アクティブ化<br />

45<br />

BE:be02<br />

アクティブ化を実行するとActive値が<br />

「R」と表示<br />

(1) 新規作成したBE(be02)が有効で<br />

あることを確認<br />

(2) BE(be02)にインストールしたパッ<br />

ケージを表示<br />

Copyright 2012 FUJITSU LIMITED


元のBEへ変更<br />

� 元のBEへアクティブ化<br />

• アクティブ化したBE(be02)から元のBE(solaris)へBEを切り替えます。<br />

• 適応したパッケージに不具合があったことを想定します。<br />

�BE(solaris)のアクティブ化と確認<br />

# beadm activate solaris<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ ------be01<br />

- - 2.23M static 2012-04-10 10:08<br />

be02 N / 181.03M static 2012-04-10 10:13<br />

solaris R - 366.81M static 2012-04-06 15:46<br />

----<br />

�BEとパッケージの確認<br />

# shutdown -y -g0 -i6<br />

# beadm list<br />

BE Active Mountpoint Space Policy Created<br />

-- ------ ---------- ----- ------ -----be01<br />

- - 2.23M static 2012-04-10 10:08<br />

be02 - - 185.98M static 2012-04-10 10:13<br />

solaris NR / 378.13M static 2012-04-06 15:46<br />

----<br />

# pkg list telnet<br />

pkg list: no packages matching 'telnet' installed<br />

global zone<br />

zone01<br />

BE:solaris<br />

アクティブ化<br />

46<br />

BE:be02<br />

Active値が「R」と表示<br />

(1) 切り替えたBE(solaris)が有効であ<br />

ることを確認<br />

(2) 元のBE(solaris)にはインストール<br />

されていないことを確認<br />

Copyright 2012 FUJITSU LIMITED


8. Oracle Solaris Zoneを利用した<br />

仮想ネットワーク構築<br />

47<br />

Copyright 2012 FUJITSU LIMITED


Oracle Solaris Zoneを使用した仮想ネットワーク構築<br />

�仮想ネットワークの構築<br />

1.仮想ネットワーク構築の準備<br />

仮想ネットワーク構築のためネットワークサービスを確認します。<br />

2.eherstub、VNICの作成<br />

etherstub、VNICを作成します。<br />

3.仮想ルータの作成<br />

仮想ルータとしてZoneを作成します。<br />

IPFilterサービスの起動を行い、IP転送とルーティングを<br />

有効化します。<br />

4.仮想ホストの作成<br />

仮想ホストとしてZoneを作成します。<br />

5.帯域幅制限の設定<br />

フローを作成して仮想ホストに帯域幅制限を設定します。<br />

Zone上でglobal zoneからファイルをダウンロードして<br />

帯域幅制限のモニタリングを行います。<br />

仮想ホスト<br />

の作成<br />

48<br />

global zone<br />

etherstub<br />

の作成<br />

IP転送、<br />

ルーティングの<br />

設定<br />

VNIC<br />

仮想ホスト<br />

Zone<br />

VNIC VNIC<br />

仮想ルータ<br />

Zone<br />

VNIC<br />

etherstub<br />

etherstub<br />

VNIC<br />

物理NIC<br />

VNIC<br />

仮想ホスト<br />

Zone<br />

10Mbps 50Mbps<br />

帯域幅制限<br />

の設定<br />

NATの設定<br />

VNICの<br />

作成<br />

仮想ルータ<br />

Zone<br />

VNIC<br />

etherstub<br />

VNIC<br />

仮想ホスト<br />

Zone<br />

Copyright 2012 FUJITSU LIMITED


仮想ネットワーク構築の準備<br />

� ネットワークサービスの確認<br />

• network auto-magic (nwam)サービスが停止していることを確認して、通常のネットワークサー<br />

ビスが起動していることを確認します。<br />

• 仮想ネットワークを構築する場合はnetwork auto-magicサービスは使用しません。<br />

�nwamサービスの確認<br />

global01# svcs svc:/network/physical:nwam<br />

STATE STIME FMRI<br />

disabled 9月_20 svc:/network/physical:nwam<br />

�通常のネットワークサービスの確認<br />

global01# svcs svc:/network/physical:default<br />

STATE STIME FMRI<br />

online 9月_20 svc:/network/physical:default<br />

49<br />

・svc:/network/physical:nwamサービス<br />

システムの基本的なネットワーク設定を<br />

自動で行います。<br />

・svc:/network/physical:defaultサービス<br />

システムの基本的なネットワーク設定を<br />

手動で行います。<br />

Copyright 2012 FUJITSU LIMITED


ネットワークの設定<br />

� etherstubとVNICの作成<br />

• etherstubとVNICを作成してネットワークを設定します。<br />

• VNICをetherstub上に作成することで、プライベート仮想ネットワークを構築します。<br />

�etherstubの作成<br />

global01# dladm create-etherstub vsw1<br />

�VNICの作成<br />

global01# dladm create-vnic –l vsw1 vnic0<br />

�ネットワークの設定<br />

global01# ipadm create-ip vnic0<br />

global01# ipadm create-addr -T static -a local=192.168.1.1/24 vnic0/v4<br />

50<br />

global zone<br />

etherstub<br />

の作成<br />

vnic3<br />

vsw2<br />

vnic4 vnic5<br />

仮想ホスト<br />

hostA<br />

vnic1 vnic2<br />

仮想ルータ<br />

vrouterA<br />

物理NIC<br />

vnic0<br />

vsw1<br />

仮想ホスト<br />

hostB<br />

仮想ルータ<br />

vrouterB<br />

vnic6<br />

vsw3<br />

vnic7<br />

仮想ホスト<br />

hostC<br />

仮想NIC<br />

の作成<br />

Copyright 2012 FUJITSU LIMITED


NAT(Network Address Translation)の設定<br />

� 設定ファイルの作成とipfilterサービスの起動<br />

• /etc/ipf/ipnat.confファイルを新規作成し、ipfilterサービスを起動します。<br />

• NATを設定することで、プライベートアドレスを持つホストでも外部との通信が可能です。<br />

�/etc/ipf/ipnat.confファイルの新規作成<br />

global01# vi /etc/ipf/ipnat.conf<br />

map net0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto<br />

map net0 192.168.1.0/24 -> 0/32<br />

map net0 192.168.2.0/24 -> 0/32 portmap tcp/udp auto<br />

map net0 192.168.2.0/24 -> 0/32<br />

map net0 192.168.3.0/24 -> 0/32 portmap tcp/udp auto<br />

map net0 192.168.3.0/24 -> 0/32<br />

�ipfilterサービスの有効化<br />

global01# dladm create-vnic –l vsw1 vnic0<br />

�IP転送の有効化<br />

global01#routeadm -u -e ipv4-forwarding<br />

51<br />

global zone<br />

vnic4 vnic5<br />

仮想ホスト<br />

hostA<br />

vnic1 vnic2<br />

仮想ルータ<br />

vrouterA<br />

vnic3<br />

vsw2<br />

物理NIC<br />

vnic0<br />

vsw1<br />

仮想ホスト<br />

hostB<br />

vnic6<br />

vsw3<br />

vnic7<br />

NATの<br />

設定<br />

仮想ルータ<br />

vrouterB<br />

仮想ホスト<br />

hostC<br />

Copyright 2012 FUJITSU LIMITED


仮想ルータの作成と仮想ホストの作成<br />

� IPfilterサービスの起動とIP転送、ルーティングの有効化<br />

• Zoneを作成し、IP転送とルーティングを有効化することで仮想ルータを作成します。<br />

�Ipfilterサービスの起動<br />

global01# dladm create-vnic –l vsw1 vnic0<br />

�IP転送の有効化<br />

vrouterA# routeadm -u -e ipv4-forwarding<br />

�ルーティングの有効化<br />

vrouterA# routeadm -u -e ipv4-routing<br />

• Zoneを通常作成し、残りのZoneはZoneクローンを使<br />

用して作成します。<br />

global zone<br />

①定義作成<br />

/etc/zones/xxx.xml<br />

②インストール<br />

④初期設定<br />

パッケージインストール<br />

Zone<br />

VNICの割り当て<br />

③起動 VNIC<br />

リソースプールの結合<br />

コンソールログイン<br />

リソースプール<br />

プロセッサセット<br />

52<br />

仮想ルータ<br />

の作成<br />

global zone<br />

IP転送、<br />

ルーティング<br />

の設定<br />

仮想ホスト<br />

の作成<br />

vnic3<br />

vsw2<br />

vnic4 vnic5<br />

仮想ホスト<br />

hostA<br />

vnic1 vnic2<br />

仮想ルータ<br />

vrouterA<br />

物理NIC<br />

vnic0<br />

vsw1<br />

仮想ホスト<br />

hostB<br />

仮想ルータ<br />

vrouterB<br />

vnic6<br />

vsw3<br />

vnic7<br />

仮想ホスト<br />

hostC<br />

Copyright 2012 FUJITSU LIMITED


帯域幅制限の設定<br />

� フローの作成<br />

• Oracle Solaris 11から、物理NIC/VNICに対して帯域幅制限の設定が可能です。<br />

• ホスト(hostA、hostB)に対して帯域幅制限を設定し、global zoneからISOファイルをダウンロー<br />

ドします。<br />

• ファイルをダウンロード中に帯域幅制限が動作しているかをflowstatコマンドで確認します。<br />

�フローの作成<br />

global01# flowadm add-flow –l vnic04<br />

–a local_ip=192.168.x.xx vnic4_flow<br />

�フロープロパティの設定<br />

global01# flowadm set-flowprop –p maxbw=10M vnic4_flow<br />

�帯域幅制限の確認<br />

global01# flowstat -i 5 vnic4_flow<br />

FLOW IPKT RBYTES IDROPS OPKTS OBYTES ODROPS<br />

vnic5_flow 0 0 0 0 0 0<br />

vnic5_flow 982 8.08M 14 510 33.88K 0<br />

vnic5_flow 3.96K 32.68M 204 2.05K 137.03K 0<br />

vnic5_flow 3.81K 31.42M 223 1.98K 132.50K 0<br />

vnic5_flow 3.79K 31.12M 245 2.00K 134.79K 0<br />

:<br />

受信パケット 送信パケット<br />

53<br />

ISOファイル<br />

のダウンロード<br />

global zone<br />

帯域幅制限<br />

の確認<br />

ISOファイル<br />

vnic4<br />

仮想ホスト<br />

hostA<br />

10Mbps<br />

vnic1 vnic2<br />

仮想ルータ<br />

vrouterA<br />

vnic3<br />

vsw2<br />

帯域幅制限<br />

の設定<br />

物理NIC<br />

vnic5<br />

vnic0<br />

vsw1<br />

仮想ホスト<br />

hostB<br />

50Mbps<br />

仮想ルータ<br />

vrouterB<br />

vnic6<br />

vsw3<br />

vnic7<br />

仮想ホスト<br />

hostC<br />

Copyright 2012 FUJITSU LIMITED


《参考》Oracle Solaris Zone環境の削除<br />

1.Zone環境の削除<br />

1) Zoneの停止<br />

# zoneadm -z zone01 halt<br />

2) Zone環境のアンインストール<br />

# zoneadm -z zone01 uninstall<br />

3) Zone定義ファイルの削除<br />

# zonecfg -z zone01 delete<br />

4) Zoneディレクトリの削除<br />

# rm -r /export/zones/zone01<br />

2.リソースプール機能の停止<br />

1) リソースプールの初期化<br />

# pooladm -x<br />

2) リソースプールサービスの停止<br />

# svcadm disable pools:default<br />

# svcadm disable pools/dynamic:default<br />

54<br />

Copyright 2012 FUJITSU LIMITED


参照ドキュメント<br />

� 本演習の内容に関連するドキュメントは下記を参照してください。<br />

「Oracle Solaris 11 システムのインストール」<br />

http://docs.oracle.com/cd/E26924_01/pdf/E25760.pdf<br />

「Oracle Solaris 11 ブート環境の作成と管理」<br />

http://docs.oracle.com/cd/E26924_01/pdf/E25778.pdf<br />

「Oracle Solaris 11 パッケージリポジトリのコピーおよび作成」<br />

http://docs.oracle.com/cd/E26924_01/pdf/E25800.pdf<br />

「Oracle Solaris のシステム管理(Oracle Solaris Zone、Oracle Solaris 10 Zone、<br />

およびリソース管理)」<br />

http://docs.oracle.com/cd/E26924_01/pdf/E25829.pdf<br />

「Oracle Solaris 管理:ネットワークインターフェースとネットワーク仮想化」<br />

http://docs.oracle.com/cd/E26924_01/pdf/E25834.pdf<br />

55<br />

Copyright 2012 FUJITSU LIMITED


商標について<br />

使用条件<br />

� 著作権・商標権・その他の知的財産権について<br />

コンテンツ(文書・画像・音声等)は、著作権・商標権・その他の知的財産権で保護されていま<br />

す。本コンテンツは、個人的に使用する範囲でプリントアウトまたはダウンロードできます。ただ<br />

し、これ以外の利用(ご自分のページへの再利用や他のサーバへのアップロード等)について<br />

は、当社または権利者の許諾が必要となります。<br />

� 保証の制限<br />

本コンテンツについて、当社は、その正確性、商品性、ご利用目的への適合性等に関して保証<br />

するものではなく、そのご利用により生じた損害について、当社は法律上のいかなる責任も負<br />

いかねます。本コンテンツは、予告なく変更・廃止されることがあります。<br />

商標<br />

� UNIXは、米国およびその他の国におけるオープン・グループの登録商標です。<br />

� SPARC Enterprise、SPARC64、SPARC64ロゴ、およびすべてのSPARC商標は、米国<br />

SPARC International, Inc.のライセンスを受けて使用している、同社の米国およびその他の<br />

国における商標または登録商標です。<br />

� OracleとJavaは、Oracle Corporation およびその子会社、関連会社の米国およびその他の<br />

国における登録商標です。<br />

� その他各種製品名は、各社の製品名称、商標または登録商標です。<br />

56<br />

Copyright 2012 FUJITSU LIMITED


57<br />

Copyright 2012 FUJITSU LIMITED

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!