• 検索結果がありません。

Oracle Solaris 11 ゾーンを使ってみよう (構築・運用ガイド)

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Solaris 11 ゾーンを使ってみよう (構築・運用ガイド)"

Copied!
58
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle Solaris 11 ゾーンを使ってみよう

(構築・運用ガイド)

2014年5月(第2.1版)

富士通株式会社

(2)

はじめに

目的

本書はOracle Solaris 11 ゾーンの構築・運用方法について紹介します。具体的な手

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

対象読者

Oracle Solaris 11の基礎知識を有している方

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

設計ガイド)」を参照された方

留意事項

「Oracle Solaris」を「Solaris」と、「Oracle Solaris

ゾーン」を「ゾーン」、「Zone」、「non-global zone」または「コンテナ」と表記する表記する場合があります。

本資料は、Oracle Solaris 11.1に基づいています。

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

Oracle Solaris 11 Documentation

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

ドキュメントの位置付け

運用

導入

設計

Solaris 11 ゾーンを使ってみよう

(概要・設計ガイド)

Solaris 11 ゾーン を使ってみよう (構築・運用ガイド)

Solaris 11 ゾーンを使ってみよう (構築・運用手順書)

(3)

目次

1.

リソースプールの構築

2.

ゾーンの作成

3.

Oracle Solaris ゾーンの基本操作

4.

Oracle Solaris ゾーンの検証環境利用

5.

Oracle Solaris ゾーンの災対環境利用

6.

Oracle Solaris ゾーン統合環境におけるリソース操作

7.

Oracle Solaris ゾーンのBoot環境とパッケージ

(4)
(5)

zone1

zone2

リソースプールの構築

リソースプールの構成変更設定

本章の演習概要

1.スケジューラの設定

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

2.サービスの起動

リソースプールサービスを起動します。

3.定義ファイルの作成と編集

定義ファイルを作成します。

4.リソースプール構成の実行

作成したリソースプール構成を実行

します。

pool_default

global zone

pset_default pset_default pool_1 pset_1 pset_1

FSS

リソースプールを作成 します。

リソースプール

を作成します。

CPU CPU CPU CPU CPU CPU CPU CPU

(6)

リソースプールの作成

リソースプール定義項目

実行イメージ

global zone用 non-global zone用 リソースプール pool_default pool_1 スケジューラ FSS FSS プロセッサセット名 pset_default pset_1 最大CPU数 (スレッド) 65535 4 最低CPU数 (スレッド) 4 4

CPU資源の制御と管理

作成するゾーン専用のリソースを割り当てるため、リソースプールを作成します。

設定項目は/etc/pooladm.confファイルへ書き出されます。リソースプールを構成す

るためには下記のコマンドを使用します。

pool_default

global zone

pset_default pset_default pool_1 pset_1 pset_1

FSS

・定義ファイル(

/etc/pooladm.conf)の作成、編集

poolcfgコマンド

・リソースプール構成の実行

pooladmコマンド

FSS

zone1

zone2

CPU CPU CPU CPU CPU CPU CPU CPU

(7)
(8)

zone1

zone2

ゾーンの作成とインストール

ゾーンの作成

本章の演習概要

1.ゾーンの作成

ゾーンの定義ファイルを作成します。

2.ゾーンの

インストール

ゾーンをインストールし、初期設定を行います。

pool_default

global zone

pset_default pset_default pool_1 pset_1 pset_1

FSS

ゾーンをインストール

します。

FSS

CPU CPU CPU CPU CPU CPU CPU CPU

(9)

zone1

ゾーンの作成

global zone

リソースプール プロセッサセット

実行イメージ

②インストール ①定義作成 ④初期設定 ③起動 /etc/zones/xxx.xml パッケージインストール VNICの作成 指定デバイスのマウント リソースプールの結合 コンソールログイン

ゾーンの定義ファイル作成とインストール

ゾーンの定義ファイルを作成してゾーンをインストールします。

Oracle Solaris 11のゾーン構成時にデフォルトで設定されるanetリソースを使用して

VNICを作成します。

ゾーンのインストール後、ゾーンを起動して初期構成(ホスト名、パスワード、言語な

ど)を実行します。ゾーンの定義ファイル作成、インストール、初期構成を実行するた

めには、下記コマンドを使用します。

・ゾーン定義ファイルの作成

zonecfgコマンド

・ゾーンのインストール、

運用(起動

/停止/再起動)等

zoneadmコマンド

・ゾーンへログイン、

コンソール接続

zloginコマンド

anetを使用して

VNICを作成

vnic

(10)

ゾーンの定義項目

設定項目

★:必須 ※:排他

設定値(例)

説明

ゾーン名 ★ zonename zone01 ゾーンの名前

ゾーンパス ★ zonepath /zones/zone01 global zoneからのルート(/)パス

起動オプション bootargs -m verbose 永続的なゾーンの起動引数

自動起動 autoboot true global zoneと同時起動

ブランドタイプ brand solaris 固定値

特権 limitpriv default,sys_time ゾーンに付与する特権

スケジューラ ★ scheduling-class FSS ゾーンのスケジューラを指定、FSSに設定

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

ゾーン専用CPU設定※ dedicated-cpu ncpus (なし) ゾーン専用のリソースプールを構成

importance (なし) メモリ制限設定 capped-memory physical 2G メモリ資源の使用上限の設定 物理メモリ、swapメモリ、ロックメモリを設定可能 swap 4G lock 1G

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

ネットワーク ★ anet linkname vnic1 仮想NIC

lower-link net0 仮想NICを作成するリンク

configure-allowed-address true インストール後の初期ブート時にallowed-addressを永 続的に構成

link-protection mac-nospoof リンクの保護

mac-address auto 仮想NICのMACアドレス

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

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

type lofs ファイルシステムタイプ

(option) ro 読み取り専用

共有デバイス device match /dev/rmt/* ゾーンから直接のアクセスを許可するデバイス

リソースパラメータ設定 cpu-shares 1 CPUシェア数を指定するパラメータ cpu-cap 400 CPUリソース上限値を指定するパラメータ max-shm-memory 1G 共有メモリの上限値 max-shm-ids 256 共有メモリIDの上限値 max-sem-ids 256 セマフォIDの上限値 max-msg-ids 512 メッセージIDの上限値

コメント attr name comment コメントとタイプを指定

type string

(11)

ゾーン起動

dedicated-cpu=3

《参考》 ゾーン専用

CPUの設定

global zone

リソースプール プロセッサセット

ゾーン停止時

ゾーン起動時

全ての

CPUをglobal zoneが利用

global zone

リソースプール プロセッサセット リソースプール プロセッサセット プロセッサセット

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

(=停止するとリソースを開放)

dedicated-cpuパラメータ

ゾーン起動を契機として専用のリソースプールを構成します。

CPU CPU CPU CPU CPU CPU CPU CPU

ゾーン停止

dedicated-cpu=3

CPU数の範囲指定が可能です(例:dedicated-cpu=1-4 )。

dedicated-cpu を設定したゾーンの起動時に、指定されたCPUリソースが確保できない場合、ゾーンの起動が

失敗します。

dedicated-cpuで設定した最小CPU数と、他のプロセッサセット(pset)で設定した最小CPU数の

合計が物理

CPU数を超えないように設定してください。

• 複数ゾーン間でリソースプールを共有する場合は、

poolcfgコマンドでリソースプールを作成して各ゾーンに

割り当てます。

(12)

《参考》 メモリ資源管理

メモリ領域は共有のため、各ゾー

ンは必要とするメモリを使用する

メモリ不足の場合、ミドルウェアや

アプリケーションの動作に影響を

与える

ゾーン単位に下記のメモリ資源の使

用上限設定が可能

physical (物理メモリ)

swap (スワップ領域)

locked (ロックされた物理メモリ)

メモリ制限なし

メモリ制限あり

capped-memoryパラメータ

ゾーンに対するメモリ使用制限が可能です。

Memory

Memory

• 特定ゾーンがメモリを占有することによる他ゾーンの性能劣化を回避できます。

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

zone1

zone2

zone3

zone1

zone2

zone3

(13)

zone1

zone2

zone3

《参考》 ゾーンのネットワーク構成設定

占有(

exclusive)

global

zone

ルーティング ルーティング

NIC

ゾーン毎に個別のルーティング設定が可能

(デフォルト設定)

ルーティング ルーティング ルーティングルーティング ルーティングルーティング

NIC

NIC

NIC

ip-typeパラメータ

占有(

exclusive)では独立したルーティング設定が可能です。

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

共有(

shared)

global

zone

ルーティング ルーティング

NIC

global zoneのルーティング設定を共有

占有(

exclusive)では以下を実現できます。

•サブネットの違うサーバを、サブネットを変更せずに

Oracle Solaris ゾーンに統合可能です。

•NICを共有させたい場合は、VLAN構成で対応可能です。

exclusive設定の場合、ゾーン間通信のセキュリティを強化可能です(IPフィルタ機能など)。

•仮想ネットワーク機能を使用することで、一つの

NICを共有させることができます。

(14)
(15)

Oracle Solaris ゾーンの基本操作

Oracle Solaris ゾーンの起動、停止、ログイン操作

本章の演習概要

1.起動、停止、ログイン操作

ゾーンの基本動作を実施します。

2.ゾーンにおけるプロセスの見え方

ゾーンのプロセスを監視して、

global zoneとの

見え方の違いを確認します。

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

zonestatコマンドを使用して、ゾーンの統計情報

を確認します。

global zone

ゾーンへログインします。

停止 起動

ゾーンの起動、停止

を行います。

監 視

ゾーンのプロセスを監視し

て見え方を確認します。

zone1

zone1

(16)

ゾーンの基本操作(1)

# zoneadm –z zone01 boot

# zlogin zone01 “shutdown -y -g0 -i6” # zlogin zone01 “shutdown -y -g0 -i5” # zoneadm –z zone01 shutdown

# zoneadm -z zone01 reboot # zoneadm –z zone01 halt

・ ゾーンのインストールが中断

または失敗により、

incomplete

状態になった場合はゾーンを

uninstallしてください。

install

【停止状態】

ready boot

halt (or shutdown) uninstall

【構成済み状態】

Configured Installed Running

【起動状態】

Ready boot

【起動準備状態】

【不完全状態】

Incomplete incomplete

reboot (or shutdown) uninstall

# zoneadm -z zone01 boot -s

ゾーンの基本操作コマンド

ゾーンの状態確認

# zoneadm list -vc

ID NAME STATUS PATH BRAND IP

0 global running / solaris shared 1 zone01 running /export/zone01 solaris excl

2 zone02 running /export/zone02 solaris excl

ゾーンの起動、再起動、停止(通常運用時)

ゾーンの再起動、停止(緊急時)

シングルユーザモードで起動

(17)

zone1

zone1

zone1

ゾーンの基本操作(2)

global zone

global zone

・No Passwordでログイン ・コマンド実行結果のみ表示 # zlogin -C zone01

[Connected to zone 'zone01' console]

global zone

ゾーンのコンソールログイン

ゾーンの通常ログイン

対話形式でのログイン

非対話形式でのログイン

# zlogin zone01

[Connected to zone 'zone01' pts/2]

Oracle Corporation SunOS 5.11 11.1 September 2012 root@zone01:~#

# zlogin -l guest zone01 ps -ef

Oracle Corporation SunOS 5.11 11.1 September 2012 UID PID PPID C STIME TTY TIME CMD

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

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

$ pfexec zlogin zone01

※Oracle Solaris 11から

一般ユーザ権限でのログイン

事前に、ゾーンのadminプロパティに操作権限を与 えるユーザ名、権限の定義が必要です。 権限を与えられたユーザのコマンド実行は、プロ ファイルシェル(pfsh)からの実行が必要となります。 (※pfsh環境で実行すればpfexecは不要) ・初回は、ゾーンの初期構成(ホスト名、管理者 パスワード、タイムゾーン、言語など)がコンソー ル に表示されるため、zlogin -C でコンソール接続 後、別画面からゾーンを起動

(18)

ゾーン管理用コマンドオプション

# ps -efZ | grep init

global root 1 0 0 23:10:35 ? 0:04 /sbin/init zone01 root 27493 27472 0 15:39:46 ? 0:00 /sbin/init zone02 root 28136 28126 0 15:47:39 ? 0:00 /sbin/init zone03 root 3470 3456 0 17:46:54 ? 0:00 /sbin/init

# df -Z :

/zones (zones ):19192274 blocks 19192274 files /zones/zone01 (zones/zone01 ):19192274 blocks 19192274 files /zones/zone01/root (zones/zone01/rpool/ROOT/solaris ):19192274 blocks 19192274 files /zones/zone01/root/dev (/dev ): 0 blocks 0 files /zones/zone01/root/var (zones/zone01/rpool/ROOT/solaris/var):19192274 blocks 19192274 files

ゾーンの情報表示

プロセス情報を表示

ファイルシステム情報を表示

• ゾーンに対応したオプション(

-z、-Z)を付けることで、global zoneから各ゾーンの情報取得が可能です。

その他、

ipcs(1),pgrep(1),pkill(1),ptree(1),prstat(1M),coreadm(1M)など。

(19)

ゾーンのネットワーク管理(1)

# ipadm create-ip net1

ipadm: cannot create interface net1: Interface already in use

# dladm show-link

LINK CLASS MTU STATE OVER net1 phys 1500 unknown --# ipadm create-ip net1

# ipadm create-addr -T static -a local=192.168.4.1/24 net1/Zone # ipadm show-addr

ADDROBJ TYPE STATE ADDR

lo0/v4 static ok 127.0.0.1/8 net1/Zone static ok 192.168.4.1/24 lo0/v6 static ok ::1/128

ゾーンに割り当てられた

ため

NICの操作は不可

割り当てられたNICに

対して設定が可能

ネットワーク

I/Fの設定(ip-type=exclusive時)

non-global zoneにIPアドレスを設定して、インターフェース net1 を有効化させます。

global zoneからはNICの操作は不可

non-global zoneからNICの操作が可能

ip-typeを占有(exclusive)に設定した場合は、non-global zoneのみ占有(exclusive)設定の情報を確認できます。

割り当てた

NICの管理はnon-global zoneで実施します。

(20)

ゾーンのネットワーク管理(2)

# ipadm show-addr

ADDROBJ TYPE STATE ADDR

lo0/v4 static ok 127.0.0.1/8

lo0/zoneadmd.v4 static ok 127.0.0.1/8

net0/v4 static ok 192.168.2.1/24

net0/zoneadmd.v4 static ok 192.168.2.2/24

lo0/v6 static ok ::1/128

lo0/zoneadmd.v6 static ok ::1/128

net0/v6 addrconf ok fe80::214:4fff:fef9:73d8/10

# ipadm show-addr

ADDROBJ

TYPE STATE ADDR

lo0/?

from-gz ok

127.0.0.1/8

net0/?

from-gz ok

192.168.2.2/24

lo0/?

from-gz ok ::1/128

ゾーンの

NIC

も認識

ゾーンに割り当てら

れた

NICのみ認識

global zoneからNICを確認

non-global zoneからNICを確認

ネットワークの状態表示(

ip-type=shared時)

non-global zoneはglobal zoneのnet0を共有する設定。

ip-typeを共有(shared)に設定した場合は、global zoneからnon-global zoneのNICを設定します。

NICの管理は全てglobal zoneで実施します。

(21)

ゾーンにおける制限と特権

zonecfg:zone01> set limitpriv=default,sys_time

zonecfg:zone01> set limitpriv=default,dtrace_proc,dtrace_user

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

dtrace(1M)

※但し、

dtrace_proc特権、dtrace_user特権を追加することで動作可能

RTプロセス

eeprom(1M)によるパラメータ設定

※参照は可能

format(1M)

※但し、

allow-partitionプロパティを設定することで動作可能

prtconf

※但し、

prtconf –pは実行可能

prtdiag(1M)

※但し、一部のオプションは実行可能

psradm(1M)

trapstat(1M)

ゾーンにシステム時刻操作の特権(

sys_time)を付与

特権の設定(一例)

ゾーンに

dtrace関連の特権(dtrace_proc、dtrace_user)を付与

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

但し、ゾーンに特権を定義することで、一部の実行権を付与すことが可能です。

(22)

Oracle Solaris ゾーン環境の設定変更(1)

# zonecfg –z zone01

zonecfg:zone01> select net address=192.168.100.100/24

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

zonecfg:zone01:net> end

zonecfg:zone01> exit

# zonecfg -z zone01

zonecfg:zone01> remove net address=192.168.100.100/24

global zone

①ゾーンの停止

zonecfgコマンドで修正

global zone

③ゾーンの起動

zone.xml

ゾーン環境の設定変更

例)

IPアドレスの変更、削除(ip-type=sharedの場合)

定義情報の変更(

IPアドレスの変更)

定義情報の削除(

IPアドレス設定の削除)

zone

zone

(23)

Oracle Solaris ゾーン環境の設定変更(2)

/(root) home zones zone01 export dev root

移動

例:

/export/home/zone01 から /export/zones/zone01 へ移動

# zoneadm -z zone01 move /export/zones/zone01

zonepathの変更

ゾーンのディレクトリを同一ホスト内の新しい場所へ移動することが可能です。

• ゾーンの移動を行うと、ゾーン構築時に設定した

zonepathパラメータが変更されます。

• 実施前に移動先の

DISK領域が十分であることを確認してください。

(24)
(25)

zone02

(クローン)

zone01

(マスター)

Oracle Solaris ゾーンの複製

Oracle Solaris ゾーンの複製

本章の演習概要

1.構成ファイルの作成と編集

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

構成します。

2.クローンの作成

クローン元からクローンを作成します。

global zone

構成情報を抽出し

ます。

Master情報から複製ゾーン

の構成情報を作成します。

Master情報

Master情報から複製ゾーンの

構成情報を作成します。

編集

(26)

zone

(マスター)

zone

(クローン)

zone

(クローン)

Oracle Solaris ゾーンの複製 1/2

クローン機能

本番環境と同一環境のゾーンをクローン機能で作成し、検証環境のゾーンを構築しま

す。

global zone

Master

情報

zoneadmコマンドで複製(クローン)

を作成

④各ゾーンの初期設定を実施

rootパスワード、ホスト名など)

zone

情報

zone

情報

zonecfgコマンドで構成情報を

抽出

スナップショット スナップショット

zonecfgコマンドで、Master情報

から複製ゾーンの構成情報を作成

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

• 複製元ゾーン(マスター)のインストールは通常通り実施しますが(約

20分)、複製先ゾーン(クローン)は、

ZFSスナップショットとZFSクローンの連携によって構築されます。

• 1環境のクローン作成時間は数十秒程です。

(27)

Oracle Solaris ゾーンの複製 2/2

・ クローン先に対して物理的にデータコピーを行っているため、 クローン作成には時間を要する。 ※5分~10分程度(ディスク使用状況により増加します。) ・ 一度スナップショットを採取し、そのスナップショットを元にZFS クローンを作成し、新しいゾーン用の領域としている。スナップショット、 ZFSクローンは瞬時に完了するため、ゾーンクローンも瞬時に完了しま す。(数十秒) /zones ┗/zone01 ┗/zone01_clone /zones ┗/zone01 物理コピー

UFS環境の場合(Oracle Solaris 10のみ)

UFSとZFSにおけるゾーンクローンの動作

zones ┗/zone01@snap00 ZFSクローン作成 スナップショット採取

ZFS環境の場合

zones ┗/zone01 zones ┗/zone01 ┗/zone01_clone zone01_clone

non-global zone non-global zonezone01

zone01

non-global zone non-global zonezone01_clone

ZFSスナップショットとZFSクローンの連携によって効率的に複数のゾーン環境の構築が可能。

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

(28)

zone02 (DB用デバイス) /dev/[r]dsk/c2t0d0s0 /dev/[r]dsk/c2t0d1s0 zone01 (DB用デバイス) /dev/[r]dsk/c1t0d0s0 /dev/[r]dsk/c1t0d1s0

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

◆クローン環境作成時のポイント

ゾーン定義情報の編集(クローン前)

①ゾーン名の変更

同じサーバ内に同名のゾーンは作成不可なので別名をつける

zonepathの変更

同じサーバ内に同名のzonepathは作成不可なので別のパス を指定する

IPアドレスの変更

同一ネットワーク上に同一のIPアドレスの使用は不可なので 別のIPアドレスを指定する

④リソース上限設定

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

⑤デバイス情報の変更

DB用デバイスを変更する

ミドルウェア用の設定変更(クローン後

①デバイスファイルの削除

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

DBデータの移行

クローン元で作成したDBデータ、など一式をコピーする (OSコマンドやストレージ機能で実施)

OSのホスト名、IPアドレス変更の影響を受ける

データベース側の設定変更

ホスト名やIPアドレスが記載されたファイルの編集や、 コマンドによる構成情報の再作成を実施する c1t0d0 c1t0d1

global zone

ゾーン専用 のデバイス c2t0d0 c2t0d1 ゾーン専用 のデバイス ゾーンクローン

データ移行

(DBデータなど)

DB各種設定

ファイルの変更

ゾーン定義情報

の編集

(29)
(30)

zone01

zone01

Oracle Solaris ゾーンの災対環境利用

ゾーンを災対環境へ移動

本章の演習概要

1.ゾーンの切り離しとアーカイブ作成

移動させるゾーンを切り離してアーカイブ

を作成します。

2.アーカイブの転送

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

3.アーカイブの展開とゾーンの組み込み

別サーバにてアーカイブを展開しゾーン

を組み込みます。

global zone

global01)

アーカイブと

config情報を転

送します。

global zone

global02)

本番環境

災対環境

ゾーンのアーカイブ

を作成します。

アーカイブを組

み込みます。

(31)

zone

Oracle Solaris ゾーン環境のサーバ間移動

ゾーンをサーバ間で移動させて災対環境の運用を実現

ゾーン移動機能:ゾーンを別のサーバへ移動し同じゾーン環境を復元する機能です。

global zone

global zone

(1)ゾーン環境のdetach

(切り離し)とアーカイブの作成

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

(3)ゾーン環境の作成と

Attach

(組み込み)

# zoneadm -z zone01 detach

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

(ゾーンのconfig情報をexport)

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

(スナップショット作成)

# zfs send -rc [dataset]/zone01@v2v | gzip > ¥ >/[zone_directory]/zone01.zfs.gz

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

# zonecfg -z zone01 -f /[zone directory]/zone01.zonecfg (config構成を読み込み)

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

zone

• 別ホスト上でattach時に環境のチェックが実施されます。

• 移動先のOracle Solaris 11環境にインストールされているパッケージが移行元のバージョンと比べて古い場合、 attachコマンドに-uオプション(non-global zoneで動作しているパッケージを更新)、-Uオプション(global zoneで 動作しているパッケージを更新)を使用してパッケージをアップデートします。本演習ではオプションは付与しません。

(32)

zone

DB

zone

DB

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

global zone

global zone

(1)最新のアーカイブからゾーンを復旧

(2)本番環境データを復旧する

ストレージの機能などを利用

本番データベース ゾーン停止

退避済みのアーカイブデータを利用し、迅速にデータベース環境

を復旧

運用時は、データベース環境の更新(アップデート適用など)時に最新のアーカイブを災対環境

へ退避します。

保守時や障害時は、別サーバ上でゾーンを復元し代替環境として業務を継続します。

• 外部ストレージのデータはストレージ共有や、

ETERNUSのREC(Remote Equivalent Copy)機能等での

実現を想定しています。

サーバ 停止

(33)

6. Oracle Solaris ゾーン統合環境に

おけるリソース操作

(34)

zone01 (50) zone02(50) zone01 zone02 zone01 (CPUシェア数:70) zone02(30) zone01 (20) zone02 (80)

Oracle Solaris ゾーン統合環境におけるリソース操作

CPUシェア数とキャッピングの設定

本章の演習概要

1.

CPUシェア数の設定

CPUシェア数を設定して、各ゾーンが

利用するCPUの配分比率を指定します。

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

CPUリソースのキャッピングを設定して、

使用するCPUの使用上限値を指定します。

pool_1

30%

70%

pool_1

50%

50%

pool_1 pool_1 1CPU分 2CPU分

CPUシェア数の設定

CPUリソースのキャッピング設定

CPU CPU CPU CPU

(35)

zone02 (30) zone01 (CPUシェア数:70) zone01(20) zone02 (80)

CPUリソースの変更(1)

# prctl -n zone.cpu-shares -r -v 20 -i zone zone01

# prctl -n zone.cpu-shares -r -v 80 -i zone zone02

70% 30% 20% 80% pool_1 pool_1 zone01 zone02 zone01 zone02

《リソース配分》

《リソース配分》

CPUシェア数の動的変更によるリソース配分の変更

prctlコマンドによる実行

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

CPU CPU CPU CPU

(36)

CPUリソースの変更(2)

pool_1 pool_1 1CPU分

# zonecfg –z zone02

zonecfg:zone02>add capped-cpu

zonecfg:zone02:capped-cpu>set ncpus=1

zonecfg:zone02:capped-cpu>end

# prctl –n zone.cpu-cap –r –v 200 –i zone zone02

ncpus=1 の場合、1CPU分のリソースを占有

する設定となり、

OSの資源パラメータに

zone.cpu-cap=100が自動設定されます。

2CPU分

CPUリソースのキャッピング

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

キャッピング値の動的変更

zone01

zone02

zone01

zone02

zone.cpu-capの値は”100”を1CPUとして設定するので、リソースプールでのCPU割り当てより、細かなリソース

配分設定が可能です。

1CPUを1%単位で配分可能。

CPU CPU CPU CPU CPU CPU

(37)

zone01

zone02

zone01

zone02

CPUリソースの変更(3)

pool_1

移動

pool_2 pool_1 pool_2

# poolcfg -dc 'transfer 1 from pset pset_2 to pset_1'

# poolcfg -dc 'transfer to pset pset_1 (cpu 5) '

# svcadm enable pools/dynamic:default

CPUリソースの動的移動

poolcfgコマンドによる実行(手動)

pooldデーモンによる実行(自動)

pooldデーモンによる自動CPUリソース移動は、サービス起動時に即有効になります。

リソースプールの負荷状況に応じて、設定範囲(

pset.min~pset.max)内でCPUを自動的に移動させます。

(38)

7. Oracle Solaris ゾーンのBoot環境と

パッケージ

(39)

zone01

Oracle Solaris ゾーンのBEとパッケージインストール

BEの作成とパッケージインストール

本章の演習概要

1.

BEのスナップショット作成

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

2.スナップショットからの

BE作成

スナップショットから

BEを作成します。

3.

BEの作成とパッケージのイン

ストール

BEを新規作成して、ローカルリポジトリ

から作成した

BEへパッケージをインス

トールします。

snapshot

BE:be02 solaris@snap01

BE作成

パッケージ

インストール

BE:solaris

BE作成

BE:be01 パッケージ

global zone

(40)

zone01

BEのスナップショット作成

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

BEの確認

# beadm list –a

BE/Dataset/Snapshot Active Mountpoint Space Policy Created --- --- --- --- --- ---Solaris

rpool/ROOT/solaris NR / 2.19G static 2014-02-06 21:44

--<省略>--

スナップショットの作成とテストファイルの作成

# beadm create solaris@snap01 # beadm list -s

BE/Snapshot Space Policy Created --- --- --- ---solaris solaris@install 1.01M static 2014-02-06 21:48 solaris@snap01 0 static 2014-02-06 21:53 # touch /root/testfile01

事前準備

Active列の値 N:現在アクティブのBE R:リブート後にアクティブになるBE (1) BE(solaris)からスナップ ショットを作成 (2) BE(solaris)から作成したス ナップショット(solaris@snap01)を 確認 (3) 以降の手順でシステムの状 態を確認するため、ファイルを作成 BE:solaris solaris@snap01 snapshot作成 global zone

(41)

zone01

BEの作成(be01)

作成したスナップショット(

solaris@snap01)からBE(be01)を新規作成します。

スナップショット(

solaris@snap01)の確認

スナップショットから

BEの作成

スナップショット(

solaris@snap01)からBE(be01)を新規作成

# beadm create -e solaris@snap01 be01 #

# beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 - - 60.0K static 2014-02-06 21:59 solaris NR / 2.29G static 2014-02-06 21:44 solaris@snap01 BE作成 BE:be01 BE:solaris 新規作成したBE(be01)の確認 global zone # beadm list -s

BE/Snapshot Space Policy Created --- --- --- ---solaris solaris@install 1.01M static 2014-02-06 21:48 solaris@snap01 0 static 2014-02-06 21:53 スナップショット(solaris@snap01) の確認

(42)

zone01

global zone

BE(be01)のアクティブ化

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

BE(be01)のアクティブ化

BEのアクティブ化

# beadm activate be01 # beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 R - 2.29G static 2014-02-06 21:59 solaris N / 123.0K static 2014-02-06 21:44

BE(be01)の確認とテストファイルの確認

# shutdown -y -g0 -i6 # beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 NR / 2.33G static 2014-02-06 21:59 solaris - - 7.77M static 2014-02-06 21:44 # ls –l /root total 0 アクティブ化 BE:be01 BE:be01 Active値が「R」と表示 (1) 新規作成したBE(be01)が 有効であることを確認 (2) スナップショット作成時の 環境に戻っていることを確認

(43)

zone01

global zone

BEの新規作成(be02)とマウント

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

レクトリへマウントします。

BEの作成

# beadm create be02 #

# beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- ---

---be01 NR / 2.33G static 2014-02-06 21:59

be02 - - 60.0K static 2014-02-06 22:04

solaris - - 7.77M static 2014-02-06 21:44

BEのマウント

# beadm mount be02 /mnt #

# beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 NR / 2.33G static 2014-02-06 21:59 be02 - /mnt 60.0K static 2014-02-06 22:04 solaris - - 7.77M static 2014-02-06 21:44

BEの新規作成

BE:be02 BE:solaris BE作成 (1) BE(be02)を新規作成 (2) 新規作成したBE(be02)を 確認 (1) 作成したBE(be02)にパッ ケージを追加するため任意の ディレクトリへマウント (2) 指定したディレクトリへマウ ントされていることを確認

(44)

zone01

global zone

BEへのIPSパッケージインストール

新規作成した

BE(be02)へパッケージをインストールします。

BE(be02)へのパッケージインストール

# pkg -R /mnt install pkg://solaris/service/network/telnet Packages to install: 1 Services to change: 1

DOWNLOAD PKGS FILES XFER (MB) SPEED

Completed 1/1 10/10 0.0/0.0 126k/s

PHASE ITEMS Installing new actions 32/32 Updating package state database Done Updating image state Done Creating fast lookup database Done

インストール後の確認

IPSパッケージのインストール

# pkg list telnet

pkg list: no packages matching 'telnet' installed

BE:be02 パッケージ パッケージ インストール BE:solaris アクティブでないBE(be02)に対 してパッケージをインストール アクティブでないBE(be02)に対し てパッケージをインストールした ため、現在のブート環境には未 適用であることを確認

(45)

zone01

global zone

BE(be02)のアクティブ化

パッケージをインストールした

BE(be02)に切り替えるため、BE02をアクティブ化した後にゾーンを再起動します。

BE(be02)のアクティブ化と確認

BEのアクティブ化

# beadm umount be02 # beadm activate be02 # beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 N / 129.0K static 2014-02-06 21:59 be02 R - 2.48G static 2014-02-06 22:20 solaris - - 7.77M static 2014-02-06 21:44

BEとパッケージの確認

# shutdown -y -g0 -i6 # beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- ---

---be01 - - 6.09M static 2014-02-06 21:59 be02 NR / 2.53G static 2014-02-06 22:20 solaris - - 7.77M static 2014-02-06 21:44 # pkg list telnet

NAME (PUBLISHER) VERSION IFO network/telnet 0.5.11-0.175.1.0.0.24.2 i --service/network/telnet 0.5.11-0.175.1.0.0.24.2 i --BE:be02 アクティブ化 BE:solaris アクティブ化を実行するとActive 値が「R」と表示 (1) 新規作成したBE(be02)が 有効であることを確認 (2) BE(be02)にインストールし たパッケージを表示

(46)

zone01

global zone

元の

BEへアクティブ化

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

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

BE(solaris)のアクティブ化と確認

元の

BEへ変更

# beadm activate solaris # beadm list

BE Active Mountpoint Space Policy Created -- --- --- --- --- ---be01 - - 6.09M static 2014-02-06 21:59 be02 N / 264.46M static 2014-02-06 22:20 solaris R - 2.30G static 2014-02-06 21:44

BEとパッケージの確認

# shutdown -y -g0 -i6 # beadm list

BE Active Mountpoint Space Policy Created -- --- --- ---

---be01 - - 6.09M static 2014-02-06 21:59 be02 - - 273.52M static 2014-02-06 22:20 solaris NR / 2.34G static 2014-02-06 21:44 # pkg list telnet

pkg list: no packages matching 'telnet' installed

BE:be02 アクティブ化 BE:solaris Active値が「R」と表示 (1) 切り替えたBE(solaris)が有 効であることを確認 (2) 元のBE(solaris)にはインス トールされていないことを確認

(47)

8. Oracle Solaris ゾーンを利用した

仮想ネットワーク構築

(48)

ゾーンを使用した仮想ネットワーク構築

仮想ネットワークの構築

本章の演習概要

1.仮想ネットワーク構築の準備

仮想ネットワーク構築のためネットワーク

サービスを確認します。

2.

etherstub、VNICの作成

etherstub、VNICを作成します。

3.仮想ルータの作成

仮想ルータとしてゾーンを作成します。

ipfilterサービスの起動を行い、IP転送と

ルーティングを有効化します。

4.仮想ホストの作成

仮想ホストとしてゾーンを作成します。

5.帯域幅制限の設定

フローを作成して仮想ホストに帯域幅制限を

設定します。ゾーン上でglobal zoneからファイ

ルをダウンロードしながら帯域幅制限の状態

をモニタリングします。

global zone

etherstub VNIC VNIC etherstub VNIC VNIC VNIC 仮想ルータ ゾーン 仮想ルータ ゾーン 仮想ホスト ゾーン

IP転送、

ルーティングの

設定

VNIC etherstub VNIC 物理NIC

NATの設定

VNICの

作成

etherstub

の作成

仮想ホスト ゾーン VNIC 仮想ホスト ゾーン

帯域幅制限

の設定

10Mbps 50Mbps

仮想ホスト

の作成

(49)

ネットワークサービスの確認

ネットワークサービス(

svc:/network/physical:default)の起動状態を確認します。

Oracle Solaris 11.1において仮想ネットワークを構築する場合は、 svc:/network/physical:defaultサービス

が起動していることを確認します。

Oracle Solaris 11/11において仮想ネットワークを構築する場合は、svc:/network/physical:nwamサービス

が停止していること、及び

svc:/network/physical:defaultサービスが起動していることを確認します。

svc:/network/physical:default(パッケージ)のネットワークサービスの確認

# svcs svc:/network/physical:default STATE STIME FMRI

online 22:56:06 svc:/network/physical:default # svcs svc:/network/physical:nwam

svcs: Pattern 'svc:/network/physical:nwam' doesn't match any instances

・svc:/network/physical:default : システムの基本的なネットワーク 設定を手動で行うサービス。

※Oracle Solaris 11.1 ではnwam サービスは存在しません。

仮想ネットワーク構築の準備

nwamサービスの確認(Oracle Solaris 11 11/11の場合のみ)

# svcs svc:/network/physical:default STATE STIME FMRI

online 3月_04 svc:/network/physical:default # svcs svc:/network/physical:nwam

STATE STIME FMRI

disabled 9月_20 svc:/network/physical:nwam

・svc:/network/physical:nwam : システムの基本的なネットワーク 設定を自動で行うサービス。

(50)

etherstubとVNICの作成

etherstubとVNICを作成してネットワークを設定

します。

VNICをetherstub上に作成することで、プライ

ベート仮想ネットワークを構築します。

etherstubの作成

# dladm create-etherstub vsw1

VNICの作成

# dladm create-vnic -l vsw1 vnic0

ネットワークの設定

ネットワークの設定

# ipadm create-ip vnic0

# ipadm create-addr -T static -a local=192.168.1.1/24 vnic0/v4

global zone

vnic4 vnic5 vsw2 vnic3 vnic7 vsw3 vnic6 vnic1 vnic2 vsw1 vnic0 物理NIC 仮想ルータ vrouterA 仮想ルータ vrouterB 仮想ホスト hostA 仮想ホスト hostB 仮想ホスト hostC

仮想

NICの

作成

etherstub

の作成

(51)

設定ファイルの作成と

ipfilterサービスの起動

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

NATを設定により、プライベートアドレスを持つホストでも外部との通信が可能です。

/etc/ipf/ipnat.confファイルの新規作成

# vi /etc/ipf/ipnat.conf

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

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

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

ipfilterサービスの有効化

# svcadm enable svc:/network/ipfilter:default

NATの設定

IP転送の有効化

# routeadm -u -e ipv4-forwarding

global zone

NATの

設定

vnic4 vnic5 vsw2 vnic3 vnic7 vsw3 vnic6 vnic1 vnic2 vsw1 vnic0 物理NIC 仮想ルータ vrouterA 仮想ルータvrouterB 仮想ホスト hostA 仮想ホストhostB 仮想ホスト hostC

(52)

ゾーン

ipfilterサービスの起動とIP転送、ルーティングの有効化

ゾーンを作成し、

IP転送とルーティングを有効化することで仮想ルータを作成します。

ipfilterサービスの起動

# svcadm enable svc:/network/ipfilter:default

仮想ルータの作成と仮想ホストの作成

IP転送の有効化

global zone

IP転送、

ルーティン

グの設定

vrouterA# routeadm -u -e ipv4-forwarding

仮想ホスト

の作成

ゾーンを通常作成し、残りのゾーンは

ゾーンクローンを使用して作成します。

global zone リソースプール プロセッサセット ②インストール ①定義作成 ④初期設定 ③起動 VNIC /etc/zones/xxx.xml パッケージインストール VNICの割り当て リソースプールの結合 コンソールログイン

仮想ルータ

の作成

vnic4 vnic5 vsw2 vnic3 vnic7 vsw3 vnic6 vnic1 vnic2 vsw1 vnic0 物理NIC 仮想ルータ vrouterA 仮想ルータvrouterB 仮想ホスト hostA 仮想ホストhostB 仮想ホスト hostC

ルーティングの有効化

(53)

フローの作成

Oracle Solaris 11では、物理NIC/VNICに対して帯域幅制限の設定が可能です。

ホスト(hostA、hostB)に対して帯域幅制限を設定した状態で、global zoneからISO

ファイルをダウンロードします。

ファイルダウンロード中に帯域幅制限の動作の様子を

flowstatコマンドで確認します。

フローの作成

# flowadm add-flow –l vnic4

–a local_ip=192.168.x.xx vnic4_flow

帯域幅制限の設定

global zone

フロープロパティの設定

# flowadm set-flowprop –p maxbw=10M vnic4_flow

帯域幅制限の確認

# flowstat -i 5 vnic4_flow

FLOW IPKT RBYTES IDROPS OPKTS OBYTES ODROPS vnic4_flow 0 0 0 0 0 0 vnic4_flow 982 8.08M 14 510 33.88K 0 vnic4_flow 3.96K 32.68M 204 2.05K 137.03K 0 vnic4_flow 3.81K 31.42M 223 1.98 132.50K 0 vnic4_flow 3.79K 31.12M 245 2.00 134.79K 0 :

帯域幅制限

の確認

受信パケット

送信パケット

vsw2 vnic3 vnic7 vsw3 vnic6 vnic1 vnic2 vsw1 vnic0 物理NIC 仮想ルータ vrouterA 仮想ルータ vrouterB ISOファイル

ISOファイル

のダウン

ロード

vnic5 仮想ホスト hostB 帯域幅制限 の設定

帯域幅制

限の設定

50Mbps vnic4 10Mbps 仮想ホスト hostA 仮想ホスト hostC

(54)

《参考》

Oracle Solaris ゾーン環境の削除

1.ゾーン環境の削除

1) ゾーンの停止

2) ゾーン環境のアンインストール

3) ゾーン定義ファイルの削除

4) ゾーンディレクトリの削除

# zoneadm -z zone01 halt

# zoneadm -z zone01 uninstall

# zonecfg -z zone01 delete

# rm -r /export/zones/zone01

2.リソースプール機能の停止

1) リソースプールの初期化

2) リソースプールサービスの停止

# pooladm -x

# svcadm disable pools:default

(55)

参照ドキュメント

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

Oracle Solaris 11 ブート環境の作成と管理」

http://docs.oracle.com/cd/E26924_01/pdf/E25778.pdf

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

http://docs.oracle.com/cd/E26924_01/pdf/E25800.pdf

Oracle Solaris 11 システムのインストール」

http://docs.oracle.com/cd/E26924_01/pdf/E25760.pdf

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

http://docs.oracle.com/cd/E26924_01/pdf/E25834.pdf

Oracle Solaris のシステム管理(Oracle Solaris ゾーン、Oracle Solaris 10 ゾーン、

およびリソース管理)」

(56)

改版履歴

版数

更新日時

更新ページ

更新内容

初版 2012年7月30日 新規作成

第2.0版 2013年6月27日 全体 Oracle Solaris 11.1 に対応 第2.1版 2014年5月 8日 全体 誤記訂正、デザインの変更

(57)

商標について

使用条件

著作権・商標権・その他の知的財産権について

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

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

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

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

保証の制限

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

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

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

商標

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

SPARC Enterprise、SPARC64、SPARC64 ロゴおよびすべてのSPARC商標は、米国SPARC

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

る商標または登録商標です。

OracleとJavaは、Oracle Corporation およびその子会社、関連会社の米国およびその他の国

における登録商標です。

(58)

参照

関連したドキュメント

レインフォレスト 場所: 熱帯雨林ゾーン 最大収容人数: 20名. 催行時間: 13:30

注:一般品についての機種型名は、その部品が最初に使用された機種型名を示します。

CPU待ち時間 PCとPSWを 専用レジスタ

重量( kg ) 入数(個) 許容荷重( kg ). 7

姉妹園がバス運行しているが、普通乗用車(ワゴン車)で送迎している。人数も3名・ 4 名程度を運転

18 VDRP Voltage output signal proportional to current used for current limit and output voltage droop 19 VDFB Droop Amplifier Voltage Feedback.. 20 CSSUM Inverted Sum of

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

18 VDRP Voltage output signal proportional to current used for current limit and output voltage droop 19 VDFB Droop Amplifier Voltage Feedback.. 20 CSSUM Inverted Sum of