[フレーム]

今もう一度知ろう。 Solarisのコンテナ型仮想化技術

Solarisで提供されるコンテナ型の仮想化技術Zoneについて、実際に作成方法など含めて紹介する

Embed presentation

Downloaded 69 times
20 / 43
Page 20今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (3) Zone のインストール zoneadm -z ゾーン名 install pkg リポジトリへアクセスが必要 デフォルトで http://pkg.oracle.com/solaris/release/ % sudo /usr/sbin/zoneadm -z zone1 install The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone1 Progress being logged to /var/log/zones/zoneadm.20150224T232755Z.zone1.install Image: Preparing at /system/zones/zone1/root. ( 中略 ) Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /system/zones/zone1/root/var/log/zones/zoneadm.20150224T232755Z.zone1.inst % sudo /usr/sbin/zoneadm list -cv パスワード : ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl
24 / 43
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 24 大域ゾーンからみたプロセス 大域ゾーンからは非大域ゾーンのプロセスが見える 非大域ゾーンのプロセス= 大域ゾーンのプロセス (Zone 名付 ) % ps -efZ ZONE UID PID PPID C STIME TTY TIME CMD global root 0 0 0 2 月 07 ? 0:02 sched global root 5 0 0 2 月 07 ? 85:24 zpool-rpool global root 1 0 0 2 月 07 ? 0:01 /sbin/init global root 2 0 0 2 月 07 ? 0:00 pageout global root 3 0 0 2 月 07 ? 109:36 fsflush ( 中略 ) global root 2356 1 0 2 月 07 ? 0:00 zoneadmd -z zone1 zone1 root 3611 1 0 2 月 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 2 月 07 zoneconsole 0:00 /usr/lib/saf/ttymon ... zone1 root 3589 1 0 2 月 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 2 月 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 1 0 2 月 07 ? 0:00 /usr/sbin/cron zone1 root 3588 1 0 2 月 07 ? 0:00 /usr/lib/inet/inetd start
25 / 43
Page 25今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 非大域ゾーンからみたプロセス 非大域ゾーンのプロセスしかみえない 他の非大域 Zone のプロセスも見えない % sudo zlogin zone1 ps -efZ Password: ZONE UID PID PPID C STIME TTY TIME CMD zone1 root 3580 2952 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3438 2952 0 Feb 07 ? 0:15 /usr/sbin/nscd zone1 root 3110 2952 0 Feb 07 ? 0:01 /sbin/init zone1 root 3569 2952 0 Feb 07 ? 0:00 /usr/lib/inet/in.ndpd ( 中略 ) zone1 root 3611 2952 0 Feb 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 Feb 07 console 0:00 /usr/lib/saf/ttymon -g -d ... zone1 root 3589 2952 0 Feb 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 2952 0 Feb 07 ? 0:00 /usr/sbin/cron zone1 root 3588 2952 0 Feb 07 ? 0:00 /usr/lib/inet/inetd start
32 / 43
Page 32今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したディスクの制限 Zone のパスに対して quota を設定 ZFS の機能を使用して、制限可能 以下は、 ZonePATH に対して、 1GB の quota を設定 % sudo /usr/sbin/zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME USED AVAIL REFER MOUNTPOINT rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 680M 23.2G 635M /system/zones/zone1/root % sudo /usr/sbin/zfs get mountpoint rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris mountpoint /system/zones/zone1/root temporary % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota none default % sudo /usr/sbin/zfs set quota=1G rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota 1G local
33 / 43
Page 33今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (1) ゾーンの clone 既存のゾーンと同じゾーンを作成 zoneadm -z ゾーン名 clone 既存ゾーン名 % sudo zonecfg -z zone2 'create; verify; commit' % sudo zoneadm list -v ID NAME STATUS PATH BRAND IP 0 global running / solaris shared % sudo zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 configured /system/zones/zone2 solaris excl % sudo zoneadm -z zone2 clone zone1 The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone2 Progress being logged to /var/log/zones/zoneadm.20150226T211933Z.zone2.clone Log saved in non-global zone as /system/zones/zone2/root/var/log/zones/zoneadm.20150226T211933Z % zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 installed /system/zones/zone2 solaris excl
34 / 43
Page 34今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (2) ZFS の clone を使用してデプロイ ZFS Clone は、 snapshot を元に書き込み可 能なファイルセットを作成する機能 snapshot 元との差分のみが書き込まれる ディスクの有効利用 % zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT 717M 23.2G 31K legacy rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 717M 307M 664M /system/zones/zone1/root rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris/var 44.9M 307M 43.9M /system/zones/zone1/root/var rpool/VARSHARE/zones/zone2/rpool/ROOT 5.03M 23.2G 31K legacy rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0 5.03M 23.2G 667M /system/zones/zone2/root rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0/var 45K 23.2G 43.9M /system/zones/zone2/root/var
今もう一度知ろう。 Solaris のコンテナ型 仮想化技術 みやざきさとる 日本 OpenSolaris ユーザグループ
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 2 Agenda コンテナ型仮想化とは Solaris Zone を使った コンテナ型仮想化 Zone の使い方
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 3 自己紹介 とある IT 企業の Solaris 使い Twitter: s_miyaza Solaris なのは趣味です 最近 Solaris のお仕事がありません... ( ́ ・ ω ・` )
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 4 コンテナ型仮想化とは
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 5 仮想化についておさらい 同一ハードウェアで、別 OS を動かす 別 OS 別アーキテクチャ OS の物理的制約を回避し、柔軟に構成 メモリ ディスク ネットワーク
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 6 ネイティブ仮想化とコンテナ型仮想化 ネイティブ仮想化 エミュレータにより子 OS を動作 OS 側は無修正で動作 オーバヘッドあり VMware 、 Xen 、 KVM など コンテナ型仮想化 OS 権限を使用して子 OS を分離 同じ OS が動作 ( 基本的には ...) オーバヘッドなし Jail 、 Solaris Zone 、 LXC など
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 7 コンテナ型仮想化とは OS レベルでカプセル化 基本的に、同一 OS で動作 コンテナからは他コンテナ、親のリソースに アクセス不可 親からはコンテナのリソースにアクセス可能 オーバヘッドなし 同じ OS で動く リソースも親まかせ
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 8 いろいろなコンテナ Chroot Jail OpenVZ(Virtuozzo) LXC Docker Solaris Zone
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 9 Chroot 指定したパスを root として動作する chroot 化のプロセスは上位にアクセス不可 指定したパス以下に使用バイナリコピー ネットワークは親 OS のものを使用 CPU/ メモリなどの制限不可 UNIX 系 OS ならたいてい使用可能
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 10 Jail FreeBSD で動作 ファイルシステム、プロセス空間、 ユーザアカウントなどを親 OS から分離 jail ごとに一つの IP アドレスを使用可能
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 11 OpenVZ(Virtuozzo) Linux 上で動作 (OpenVZ 用カーネル使用 ) Parallels 社が開発 OSS 版が OpenVZ 、商用版が Virtuozzo リソースをコンテナごとに分離可能 ファイルシステム ユーザグループ プロセスツリー ネットワーク デバイス、 IPC オブジェクト ライブマイグレーション可能
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 12 LXC Linux で動作 (2.6.29 以降 ) Namespace+CGroups で実装 Namespace 名前によってリソースをグループ化 CGroups(Control Groups) Namespace によってグループされたリ ソースを制御 CPU 、メモリ、ブロック I/O の制御
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 13 Docker Linux で動作 アプリケーションコンテナ =特定アプリケーションのみ動作する LXC や Namespace を使用して実装 Docker の image を git 登録すること で、 簡易にデプロイ可能
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 14 •Solaris Zone を使ったコンテナ型仮想化
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 15 Solaris Zone とは Solaris10 以降で実装 同じカーネルで複数 OS を動作 プロセス、ディスク、ネットワーク、 ユーザグループなどを分離 CPU 、メモリなどの制限 仮想化された Network(Project Crossbow) を有効利用 ZFS 機能の有効利用 OpenStack 連携
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 16 Solaris Zone の構成 Solaris 大域ゾーン (Global Zone) ローカルストレージ iSCSI FC-SAN 非大域ゾーン (Non-Global Zone) ZBE1 ZBE1 仮想 SW1 Net0 Net0 Net1 Zone2 ZBE2 ZBE2 DATA Net0 仮想 SW2 Net1DATA
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 17 Zone を作ってみる (1) Zone の設定 zonecfg -z ゾーン名 create; commit 対話型設定も可能 % sudo /usr/sbin/zonecfg -z zone1 'create ; verify ; export ; commit ' create -b set zonepath=/system/zones/%{zonename} set autoboot=false set autoshutdown=shutdown set ip-type=exclusive add anet set linkname=net0 set lower- set configure-allowed-address=true set link-protection=mac-nospoof set mac-address=auto end % sudo /usr/sbin/zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 configured /system/zones/zone1 solaris excl % sudo /usr/sbin/zonecfg -z zone1 zonecfg:zone1>
Page 18今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を使ってみる (1) の補足 以下の設定値が必須 Zonepath Solaris11 では以下のように自動設定 Solaris11 以外では明示的に設定が必要 Network 設定 Solaris11 では anet が自動設定 net を使用して、 VNIC を明示的に指定可能 Solaris11 以外では VNIC の明示的な指定が必 要 詳しくは後述 set zonepath=/system/zones/%{zonename}
Page 19今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (2) zonecfg -z ゾーン名 create ゾーン名の名前を付けた Zone を作成 zonecfg -z ゾーン名 verify Zone の設定を確認 zonecfg -z ゾーン名 export Zone の設定を出力 この出力情報を基に Zone 設定も可能 zonecfg -z ゾーン名 commit Zone の設定を確定 Solaris-1: % sudo /usr/sbin/zonecfg -z zone1 export > /net/solaris-2/share/zone1.cfg Solaris-2: % sudo /usr/sbin/zonecfg -z zone1 -f /share/zone1.cfg
Page 20今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (3) Zone のインストール zoneadm -z ゾーン名 install pkg リポジトリへアクセスが必要 デフォルトで http://pkg.oracle.com/solaris/release/ % sudo /usr/sbin/zoneadm -z zone1 install The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone1 Progress being logged to /var/log/zones/zoneadm.20150224T232755Z.zone1.install Image: Preparing at /system/zones/zone1/root. ( 中略 ) Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /system/zones/zone1/root/var/log/zones/zoneadm.20150224T232755Z.zone1.inst % sudo /usr/sbin/zoneadm list -cv パスワード : ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl
Page 21今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (4) Zone のブート zonecfg -z ゾーン名 boot Zone の初期設定 zlogin -C ゾーン名 -C を指定して、コンソールモードで接続 初回設定 (sysconfig) ホスト名 ネットワーク設定 タイムゾーン 初期ユーザ・ root のパスワード 初回以外は zlogin ゾーン名で接続
Page 22今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring リソースの分離 同じカーネルを使用 プロセスの分離 CPU/ メモリの制限 ディスクの制限 ネットワークの制限
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 23 同じカーネルを使用 大域ゾーン システム コール メモリ 割り当て 非大域ゾーン プロセス システム コール メモリ 割り当て プロセス カーネル
今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 24 大域ゾーンからみたプロセス 大域ゾーンからは非大域ゾーンのプロセスが見える 非大域ゾーンのプロセス= 大域ゾーンのプロセス (Zone 名付 ) % ps -efZ ZONE UID PID PPID C STIME TTY TIME CMD global root 0 0 0 2 月 07 ? 0:02 sched global root 5 0 0 2 月 07 ? 85:24 zpool-rpool global root 1 0 0 2 月 07 ? 0:01 /sbin/init global root 2 0 0 2 月 07 ? 0:00 pageout global root 3 0 0 2 月 07 ? 109:36 fsflush ( 中略 ) global root 2356 1 0 2 月 07 ? 0:00 zoneadmd -z zone1 zone1 root 3611 1 0 2 月 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 2 月 07 zoneconsole 0:00 /usr/lib/saf/ttymon ... zone1 root 3589 1 0 2 月 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 2 月 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 1 0 2 月 07 ? 0:00 /usr/sbin/cron zone1 root 3588 1 0 2 月 07 ? 0:00 /usr/lib/inet/inetd start
Page 25今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 非大域ゾーンからみたプロセス 非大域ゾーンのプロセスしかみえない 他の非大域 Zone のプロセスも見えない % sudo zlogin zone1 ps -efZ Password: ZONE UID PID PPID C STIME TTY TIME CMD zone1 root 3580 2952 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3438 2952 0 Feb 07 ? 0:15 /usr/sbin/nscd zone1 root 3110 2952 0 Feb 07 ? 0:01 /sbin/init zone1 root 3569 2952 0 Feb 07 ? 0:00 /usr/lib/inet/in.ndpd ( 中略 ) zone1 root 3611 2952 0 Feb 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 Feb 07 console 0:00 /usr/lib/saf/ttymon -g -d ... zone1 root 3589 2952 0 Feb 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 2952 0 Feb 07 ? 0:00 /usr/sbin/cron zone1 root 3588 2952 0 Feb 07 ? 0:00 /usr/lib/inet/inetd start
Page 26今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring CPU の制限 Zone の設定で CPU を制限 capped-cpu Zone で使用する CPU 時間を制限 1 を指定すると 100 %、 1.5 を指定すると 150% 動的変更可能 (Solaris11 のみ ) dedicated-cpu(Solaris11 のみ ) 特定の CPU を指定して割り当て zonecfg:zone1> add capped-cpu zonecfg:zone1:capped-cpu> set ncpus=1 zonecfg:zone1:capped-cpu> end zonecfg:zone1> add dedicated-cpu zonecfg:zone1:dedicated-cpu> set ncpus=3-4 zonecfg:zone1:dedicated-cpu> end zonecfg:zone1> add capped-cpu zonecfg:zone1:capped-cpu> set ncpus=1 zonecfg:zone1:capped-cpu> end
Page 27今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring メモリの制限 Zone の設定でメモリを制限 capped-memory ゾーンが使用できるメモリの最大値を指定 K 、 M 、 G 、 T の単位を指定可能 zonecfg:zone1> add capped-memory zonecfg:zone1:capped-memory> set physical=2G zonecfg:zone1:capped-memory> end
Page 28今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 仮想化 Network の利用 Solaris11 、 OpenSolaris では Network が仮想 化されている 仮想 SW 、 NIC を自由に組み合わせ可能 closed なネットワークも利用可能 Zone に複数の仮想 NIC を割り当てることにより 、自由なネットワーク構成可能 Zone に割り当てられた仮想 NIC 以外は接続不可
Page 29今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring じゆうなねっとわーく Solaris11/OpenIndiana 大域ゾーン 物理 NIC VNIC01 仮想 SW1 仮想 SW2 Zone1 VNIC1 Zone2 VNIC11 VNIC12 VNIC21 ルーティング The Internet
Page 30今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Network の制限 割り当てた VNIC に対して帯域幅を制限 dladm を使用 maxbw を VNIC に対して指定すると帯域幅を制限 以下の例では、 100Mbps に制限 flowadm を使用 大域幅、優先度、接続先など より細かい制限が可能 % dladm show-linkprop -p maxbw zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 maxbw rw -- -- -- -- % sudo dladm set-linkprop -p maxbw=100 zone1/net0 % dladm show-linkprop -p maxbw zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 maxbw rw 100 100 -- --
Page 31今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS の使用 ZFS をゾーンの配置に使用 ZFS プール、 ZFS ファイルセットの 追加割り当て可能 ゾーン内からは、ゾーンに割り当てられた 領域以外アクセス不可 FC 、 iSCSI を zfs pool に割り当て可能 (注記) Solaris11 以降
Page 32今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したディスクの制限 Zone のパスに対して quota を設定 ZFS の機能を使用して、制限可能 以下は、 ZonePATH に対して、 1GB の quota を設定 % sudo /usr/sbin/zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME USED AVAIL REFER MOUNTPOINT rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 680M 23.2G 635M /system/zones/zone1/root % sudo /usr/sbin/zfs get mountpoint rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris mountpoint /system/zones/zone1/root temporary % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota none default % sudo /usr/sbin/zfs set quota=1G rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota 1G local
Page 33今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (1) ゾーンの clone 既存のゾーンと同じゾーンを作成 zoneadm -z ゾーン名 clone 既存ゾーン名 % sudo zonecfg -z zone2 'create; verify; commit' % sudo zoneadm list -v ID NAME STATUS PATH BRAND IP 0 global running / solaris shared % sudo zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 configured /system/zones/zone2 solaris excl % sudo zoneadm -z zone2 clone zone1 The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone2 Progress being logged to /var/log/zones/zoneadm.20150226T211933Z.zone2.clone Log saved in non-global zone as /system/zones/zone2/root/var/log/zones/zoneadm.20150226T211933Z % zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 installed /system/zones/zone2 solaris excl
Page 34今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (2) ZFS の clone を使用してデプロイ ZFS Clone は、 snapshot を元に書き込み可 能なファイルセットを作成する機能 snapshot 元との差分のみが書き込まれる ディスクの有効利用 % zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT 717M 23.2G 31K legacy rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 717M 307M 664M /system/zones/zone1/root rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris/var 44.9M 307M 43.9M /system/zones/zone1/root/var rpool/VARSHARE/zones/zone2/rpool/ROOT 5.03M 23.2G 31K legacy rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0 5.03M 23.2G 667M /system/zones/zone2/root rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0/var 45K 23.2G 43.9M /system/zones/zone2/root/var
Page 35今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS の重複排除の有効利用 ZFS の重複排除 ブロック単位で同じデータを使いまわす 変更分のみ増える Zone は root パーティションがほぼ同じ =重複排除が効きやすい! Global-Zone Zone1 Zone2
Page 36今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 変わりもの Zone たち Branded Zone LX Solaris8/9 Solaris10 Kernel Zone
Page 37今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring LX Zone なぜか Zone 内で Linux が動く ただし、 CentOS3.8 OpenSolaris で動作 Project Janus の成果 カーネルをエミュレート なので遅い ...? 正式版 Solaris10/11 ではサポートされず 最近、 StormOS(by Joyent) で動きが Ubuntu14.x が動いたとか...
Page 38今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Solaris8/9 Zone Solaris10 のみで動作 古い Solaris8/9 の延命 P2V でマイグレーション可能 ライブマイグレーション可能らしい ... 有償
Page 39今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Solaris10 Zone Solaris11 で動作 P2V 可能 標準機能!
Page 40今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Kernel Zone Solaris11.2 以降で動作 Zone は同じカーネルを使用 Kernel Zone は、別カーネルで動作 他ゾーンの動作影響を受けない パッチレベルの異なるカーネルを動作可能 CPU の仮想化命令が必要 VTi 、 AMD-V 、 SPARC T4/T5 物理空きメモリ 8GB 推奨 ZFS のキャッシュ (ARC) を制限する必要あり
Page 41今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring OpenStack と連携 Solaris11.2 から OpenStack サポート 前回 (OSC2014 Tokyo/Fall) 発表 http://www.slideshare.net/satorumiyazaki/oracle -solarisopenstack Havana ベース Zone および KernelZone をサポート Cinder(block storage) 、 Swift(Object Storage) で ZFS サポート Solaris11.2 の仮想化ネットワークスイッチ( Elastic Virtual Switch) と Neutron の連携
Page 42今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring そんな Zone の問題点 初回起動が遅い 数分かかる サービスの初期化が遅い ⇒AIマニフェストを指定して、インストールするP KGを制限する % zoneadm -z ゾーン名 install -m ai_manifest.xml 初回設定 (sysconfig 実施 ) ⇒ インストール時に sysconfig のマニフェスト指定 % zoneadm -z ゾーン名 install -c sc_manifest.xml カーネルパニックすると皆こける ⇒Kernel Zone くらいしか回避策なし
Page 43今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring まとめ Solaris Zone は、同じカーネルで動く =オーバヘッドが少ない CPU/Memory/Network 帯域 を制限 ZFS の機能をフル活用 Clone 重複排除 サイズ制限 変態ゾーンもあるよ LX とか、カーネルゾーンとか OpenStack と連携もあるよ

More Related Content

【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS 〜 ZFS ファイルシ...
PPTX
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS 〜 ZFS ファイルシ...
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
PDF
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
ARM LinuxのMMUはわかりにくい
PPTX
ARM LinuxのMMUはわかりにくい
次世代Webコンテナ Undertowについて
PDF
次世代Webコンテナ Undertowについて
ZFSでストレージ
PDF
ZFSでストレージ
アーキテクチャから理解するPostgreSQLのレプリケーション
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
今話題のいろいろなコンテナランタイムを比較してみた
PDF
今話題のいろいろなコンテナランタイムを比較してみた
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS 〜 ZFS ファイルシ...
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS 〜 ZFS ファイルシ...
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
ZFSでストレージ
ZFSでストレージ
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた

What's hot

Pacemaker 操作方法メモ
PDF
Pacemaker 操作方法メモ
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
IETF111 RATS: Remote Attestation ProcedureS 報告
PDF
IETF111 RATS: Remote Attestation ProcedureS 報告
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
PDF
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
Docker & Kubernetes基礎
PPTX
Docker & Kubernetes基礎
これからのJDK/JVM 何を選ぶ?どう選ぶ?
PDF
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
インメモリーで超高速処理を実現する場合のカギ
PDF
インメモリーで超高速処理を実現する場合のカギ
ゲームのインフラをAwsで実戦tips全て見せます
PDF
ゲームのインフラをAwsで実戦tips全て見せます
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
CloudNativePGを動かしてみた! 〜PostgreSQL on Kubernetes〜(第34回PostgreSQLアンカンファレンス@オンライ...
PPTX
CloudNativePGを動かしてみた! 〜PostgreSQL on Kubernetes〜(第34回PostgreSQLアンカンファレンス@オンライ...
CXL_説明_公開用.pdf
PDF
CXL_説明_公開用.pdf
レシピの作り方入門
PDF
レシピの作り方入門
マルチテナント化で知っておきたいデータベースのこと
PDF
マルチテナント化で知っておきたいデータベースのこと
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
PDF
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
AKS と ACI を組み合わせて使ってみた
PPTX
AKS と ACI を組み合わせて使ってみた
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
AlmaLinux と Rocky Linux の誕生経緯&比較
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
Serverless時代のJavaについて
PDF
Serverless時代のJavaについて
Pacemaker 操作方法メモ
Pacemaker 操作方法メモ
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
IETF111 RATS: Remote Attestation ProcedureS 報告
IETF111 RATS: Remote Attestation ProcedureS 報告
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
Docker & Kubernetes基礎
Docker & Kubernetes基礎
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
CloudNativePGを動かしてみた! 〜PostgreSQL on Kubernetes〜(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! 〜PostgreSQL on Kubernetes〜(第34回PostgreSQLアンカンファレンス@オンライ...
CXL_説明_公開用.pdf
CXL_説明_公開用.pdf
レシピの作り方入門
レシピの作り方入門
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
AKS と ACI を組み合わせて使ってみた
AKS と ACI を組み合わせて使ってみた
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
Serverless時代のJavaについて
Serverless時代のJavaについて

Viewers also liked

はじめてのSolaris
PDF
はじめてのSolaris
Oracle SolarisでOpenStack始めました
ODP
Oracle SolarisでOpenStack始めました
Lx zoneで行こう
PPTX
Lx zoneで行こう
Solaris11 osc tokyo2011_fall
PDF
Solaris11 osc tokyo2011_fall
Solaris11も乙でっせ
PDF
Solaris11も乙でっせ
OpenIndiana+KVMによる仮想マシン
PDF
OpenIndiana+KVMによる仮想マシン
Oracle Solaris 11 への移行のススメ
PDF
Oracle Solaris 11 への移行のススメ
How to use Virtualization Technology in Hatena
PDF
How to use Virtualization Technology in Hatena
ハードウェア技術の動向 2015年02月02日
PPTX
ハードウェア技術の動向 2015年02月02日
【特別編】【第七回 ゼロから始める Solaris 11.X】01 仮想化関連アップデート 〜Solaris ゾーンでもついにアレが可能に?〜
PDF
【特別編】【第七回 ゼロから始める Solaris 11.X】01 仮想化関連アップデート 〜Solaris ゾーンでもついにアレが可能に?〜
Linux on Power と x86 Linux との技術的な相違点
PDF
Linux on Power と x86 Linux との技術的な相違点
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
OSC2013.cloud@Osaka
PDF
OSC2013.cloud@Osaka
CloudStack徹底入門読書会 第3章 - 1
PDF
CloudStack徹底入門読書会 第3章 - 1
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
PDF
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
Study from Japanese user cases and community
PDF
Study from Japanese user cases and community
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
PDF
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
CloudStack Overview@OSC2012Fukuoka
PDF
CloudStack Overview@OSC2012Fukuoka
CloudStackとNetScalerの連携
PDF
CloudStackとNetScalerの連携
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
PDF
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
はじめてのSolaris
はじめてのSolaris
Oracle SolarisでOpenStack始めました
Oracle SolarisでOpenStack始めました
Lx zoneで行こう
Lx zoneで行こう
Solaris11 osc tokyo2011_fall
Solaris11 osc tokyo2011_fall
Solaris11も乙でっせ
Solaris11も乙でっせ
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン
Oracle Solaris 11 への移行のススメ
Oracle Solaris 11 への移行のススメ
How to use Virtualization Technology in Hatena
How to use Virtualization Technology in Hatena
ハードウェア技術の動向 2015年02月02日
ハードウェア技術の動向 2015年02月02日
【特別編】【第七回 ゼロから始める Solaris 11.X】01 仮想化関連アップデート 〜Solaris ゾーンでもついにアレが可能に?〜
【特別編】【第七回 ゼロから始める Solaris 11.X】01 仮想化関連アップデート 〜Solaris ゾーンでもついにアレが可能に?〜
Linux on Power と x86 Linux との技術的な相違点
Linux on Power と x86 Linux との技術的な相違点
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
OSC2013.cloud@Osaka
OSC2013.cloud@Osaka
CloudStack徹底入門読書会 第3章 - 1
CloudStack徹底入門読書会 第3章 - 1
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
Study from Japanese user cases and community
Study from Japanese user cases and community
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
オープンソースのクラウド基盤 CloudStackによるIaaS構築入門 @OSC 2013 Nagoya
CloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012Fukuoka
CloudStackとNetScalerの連携
CloudStackとNetScalerの連携
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし

Similar to 今もう一度知ろう。 Solarisのコンテナ型仮想化技術

第4回コンテナ型仮想化勉強会@東京 Oracle Solaris のコンテナ技術「Solaris Zones」
PDF
第4回コンテナ型仮想化勉強会@東京 Oracle Solaris のコンテナ技術「Solaris Zones」
Solaris Container
PPT
Solaris Container
Oracle Solaris 11 における システム、ネットワーク、ストレージの仮想化機能
PDF
Oracle Solaris 11 における システム、ネットワーク、ストレージの仮想化機能
Solaris Zone と Puppet、Serverspec でインフラ CI
PDF
Solaris Zone と Puppet、Serverspec でインフラ CI
byftnk
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
PDF
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
PDF
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
Oracle Solaris 11の可用性を高める! Oracle Solaris Cluster 4.0(補足資料)
PDF
Oracle Solaris 11の可用性を高める! Oracle Solaris Cluster 4.0(補足資料)
osoljp 2011.08
PDF
osoljp 2011.08
初心者がOpenIndianaで自宅サーバを作ったよって話
PDF
初心者がOpenIndianaで自宅サーバを作ったよって話
Osoljp201204
PPTX
Osoljp201204
Open VZ
PPT
The Art of Network Protocols - RIP編 -
PDF
The Art of Network Protocols - RIP編 -
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
PDF
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
ZFS on Linux @ZFS Day 2011.10
PDF
ZFS on Linux @ZFS Day 2011.10
Linux 目線で VCSA を探索してみました。2025年2月14日 VMUG UserCon 発表資料
PDF
Linux 目線で VCSA を探索してみました。2025年2月14日 VMUG UserCon 発表資料
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
PDF
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
コンテナ型仮想化とはなんだったのか
PDF
コンテナ型仮想化とはなんだったのか
OpenStackで始めるクラウド環境構築入門
PDF
OpenStackで始めるクラウド環境構築入門
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
PDF
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
Osc2011 Do
PDF
Osc2011 Do
第4回コンテナ型仮想化勉強会@東京 Oracle Solaris のコンテナ技術「Solaris Zones」
第4回コンテナ型仮想化勉強会@東京 Oracle Solaris のコンテナ技術「Solaris Zones」
Solaris Container
Solaris Container
Oracle Solaris 11 における システム、ネットワーク、ストレージの仮想化機能
Oracle Solaris 11 における システム、ネットワーク、ストレージの仮想化機能
Solaris Zone と Puppet、Serverspec でインフラ CI
Solaris Zone と Puppet、Serverspec でインフラ CI
byftnk
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」
Oracle Solaris 11の可用性を高める! Oracle Solaris Cluster 4.0(補足資料)
Oracle Solaris 11の可用性を高める! Oracle Solaris Cluster 4.0(補足資料)
osoljp 2011.08
osoljp 2011.08
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
Osoljp201204
Osoljp201204
Open VZ
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
Solaris ディープダイブセミナー #4: A-2-1 サービス実行を超えた 新たなサービス管理アーキテクチャ Service Management...
ZFS on Linux @ZFS Day 2011.10
ZFS on Linux @ZFS Day 2011.10
Linux 目線で VCSA を探索してみました。2025年2月14日 VMUG UserCon 発表資料
Linux 目線で VCSA を探索してみました。2025年2月14日 VMUG UserCon 発表資料
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
Osc2011 Do
Osc2011 Do

Recently uploaded

PCCC25(設立25年記念PCクラスタシンポジウム):筑波大学計算科学研究センター テーマ3「学際計算科学による最新の研究成果」
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):筑波大学計算科学研究センター テーマ3「学際計算科学による最新の研究成果」
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
PDF
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
PDF
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
PPTX
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
PCCC25(設立25年記念PCクラスタシンポジウム):菱洋エレクトロ株式会社 テーマ1「製造業向けAI・HPCハイパフォーマンス基盤 RTX PROTM ...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):菱洋エレクトロ株式会社 テーマ1「製造業向けAI・HPCハイパフォーマンス基盤 RTX PROTM ...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
PDF
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
論文紹介 Rethinking Classifier Re-Training in Long-Tailed Recognition: Label Over...
PDF
論文紹介 Rethinking Classifier Re-Training in Long-Tailed Recognition: Label Over...
PCCC25(設立25年記念PCクラスタシンポジウム):筑波大学計算科学研究センター テーマ3「学際計算科学による最新の研究成果」
PCCC25(設立25年記念PCクラスタシンポジウム):筑波大学計算科学研究センター テーマ3「学際計算科学による最新の研究成果」
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ2「『Slinky』 SlurmとクラウドのKuber...
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
論文紹介:DiffusionRet: Generative Text-Video Retrieval with Diffusion Model
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
論文紹介:HiLoRA: Adaptive Hierarchical LoRA Routing for Training-Free Domain Gene...
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
PCCC25(設立25年記念PCクラスタシンポジウム):富士通株式会社 テーマ1「HPC&AI: Accelerating material develo...
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
PCCC25(設立25年記念PCクラスタシンポジウム):コアマイクロシステムズ株式会社 テーマ 「AI HPC時代のトータルソリューションプロバイダ」
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
2025年11月24日情報ネットワーク法学会大井哲也発表「API利用のシステム情報」
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
PCCC25(設立25年記念PCクラスタシンポジウム):エヌビディア合同会社 テーマ1「NVIDIA 最新発表製品等のご案内」
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
PCCC25(設立25年記念PCクラスタシンポジウム):Pacific Teck Japan テーマ3「『TrinityX』 AI時代のクラスターマネジメ...
PCCC25(設立25年記念PCクラスタシンポジウム):菱洋エレクトロ株式会社 テーマ1「製造業向けAI・HPCハイパフォーマンス基盤 RTX PROTM ...
PCCC25(設立25年記念PCクラスタシンポジウム):菱洋エレクトロ株式会社 テーマ1「製造業向けAI・HPCハイパフォーマンス基盤 RTX PROTM ...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ1「大規模AIの能力を最大限に活用するHPE Comp...
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
論文紹介:MotionMatcher: Cinematic Motion Customizationof Text-to-Video Diffusion ...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
PCCC25(設立25年記念PCクラスタシンポジウム):日本ヒューレット・パッカード合同会社 テーマ3「IT運用とデータサイエンティストを強力に支援するH...
論文紹介 Rethinking Classifier Re-Training in Long-Tailed Recognition: Label Over...
論文紹介 Rethinking Classifier Re-Training in Long-Tailed Recognition: Label Over...

今もう一度知ろう。 Solarisのコンテナ型仮想化技術

  • 1.
  • 2.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 2 Agenda コンテナ型仮想化とは Solaris Zone を使った コンテナ型仮想化 Zone の使い方
  • 3.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 3 自己紹介 とある IT 企業の Solaris 使い Twitter: s_miyaza Solaris なのは趣味です 最近 Solaris のお仕事がありません... ( ́ ・ ω ・` )
  • 4.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 4 コンテナ型仮想化とは
  • 5.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 5 仮想化についておさらい 同一ハードウェアで、別 OS を動かす 別 OS 別アーキテクチャ OS の物理的制約を回避し、柔軟に構成 メモリ ディスク ネットワーク
  • 6.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 6 ネイティブ仮想化とコンテナ型仮想化 ネイティブ仮想化 エミュレータにより子 OS を動作 OS 側は無修正で動作 オーバヘッドあり VMware 、 Xen 、 KVM など コンテナ型仮想化 OS 権限を使用して子 OS を分離 同じ OS が動作 ( 基本的には ...) オーバヘッドなし Jail 、 Solaris Zone 、 LXC など
  • 7.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 7 コンテナ型仮想化とは OS レベルでカプセル化 基本的に、同一 OS で動作 コンテナからは他コンテナ、親のリソースに アクセス不可 親からはコンテナのリソースにアクセス可能 オーバヘッドなし 同じ OS で動く リソースも親まかせ
  • 8.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 8 いろいろなコンテナ Chroot Jail OpenVZ(Virtuozzo) LXC Docker Solaris Zone
  • 9.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 9 Chroot 指定したパスを root として動作する chroot 化のプロセスは上位にアクセス不可 指定したパス以下に使用バイナリコピー ネットワークは親 OS のものを使用 CPU/ メモリなどの制限不可 UNIX 系 OS ならたいてい使用可能
  • 10.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 10 Jail FreeBSD で動作 ファイルシステム、プロセス空間、 ユーザアカウントなどを親 OS から分離 jail ごとに一つの IP アドレスを使用可能
  • 11.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 11 OpenVZ(Virtuozzo) Linux 上で動作 (OpenVZ 用カーネル使用 ) Parallels 社が開発 OSS 版が OpenVZ 、商用版が Virtuozzo リソースをコンテナごとに分離可能 ファイルシステム ユーザグループ プロセスツリー ネットワーク デバイス、 IPC オブジェクト ライブマイグレーション可能
  • 12.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 12 LXC Linux で動作 (2.6.29 以降 ) Namespace+CGroups で実装 Namespace 名前によってリソースをグループ化 CGroups(Control Groups) Namespace によってグループされたリ ソースを制御 CPU 、メモリ、ブロック I/O の制御
  • 13.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 13 Docker Linux で動作 アプリケーションコンテナ =特定アプリケーションのみ動作する LXC や Namespace を使用して実装 Docker の image を git 登録すること で、 簡易にデプロイ可能
  • 14.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 14 •Solaris Zone を使ったコンテナ型仮想化
  • 15.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 15 Solaris Zone とは Solaris10 以降で実装 同じカーネルで複数 OS を動作 プロセス、ディスク、ネットワーク、 ユーザグループなどを分離 CPU 、メモリなどの制限 仮想化された Network(Project Crossbow) を有効利用 ZFS 機能の有効利用 OpenStack 連携
  • 16.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 16 Solaris Zone の構成 Solaris 大域ゾーン (Global Zone) ローカルストレージ iSCSI FC-SAN 非大域ゾーン (Non-Global Zone) ZBE1 ZBE1 仮想 SW1 Net0 Net0 Net1 Zone2 ZBE2 ZBE2 DATA Net0 仮想 SW2 Net1DATA
  • 17.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 17 Zone を作ってみる (1) Zone の設定 zonecfg -z ゾーン名 create; commit 対話型設定も可能 % sudo /usr/sbin/zonecfg -z zone1 'create ; verify ; export ; commit ' create -b set zonepath=/system/zones/%{zonename} set autoboot=false set autoshutdown=shutdown set ip-type=exclusive add anet set linkname=net0 set lower-link=auto set configure-allowed-address=true set link-protection=mac-nospoof set mac-address=auto end % sudo /usr/sbin/zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 configured /system/zones/zone1 solaris excl % sudo /usr/sbin/zonecfg -z zone1 zonecfg:zone1>
  • 18.
    Page 18今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を使ってみる (1) の補足 以下の設定値が必須 Zonepath Solaris11 では以下のように自動設定 Solaris11 以外では明示的に設定が必要 Network 設定 Solaris11 では anet が自動設定 net を使用して、 VNIC を明示的に指定可能 Solaris11 以外では VNIC の明示的な指定が必 要 詳しくは後述 set zonepath=/system/zones/%{zonename}
  • 19.
    Page 19今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (2) zonecfg -z ゾーン名 create ゾーン名の名前を付けた Zone を作成 zonecfg -z ゾーン名 verify Zone の設定を確認 zonecfg -z ゾーン名 export Zone の設定を出力 この出力情報を基に Zone 設定も可能 zonecfg -z ゾーン名 commit Zone の設定を確定 Solaris-1: % sudo /usr/sbin/zonecfg -z zone1 export > /net/solaris-2/share/zone1.cfg Solaris-2: % sudo /usr/sbin/zonecfg -z zone1 -f /share/zone1.cfg
  • 20.
    Page 20今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (3) Zone のインストール zoneadm -z ゾーン名 install pkg リポジトリへアクセスが必要 デフォルトで http://pkg.oracle.com/solaris/release/ % sudo /usr/sbin/zoneadm -z zone1 install The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone1 Progress being logged to /var/log/zones/zoneadm.20150224T232755Z.zone1.install Image: Preparing at /system/zones/zone1/root. ( 中略 ) Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process. Log saved in non-global zone as /system/zones/zone1/root/var/log/zones/zoneadm.20150224T232755Z.zone1.inst % sudo /usr/sbin/zoneadm list -cv パスワード : ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl
  • 21.
    Page 21今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Zone を作ってみる (4) Zone のブート zonecfg -z ゾーン名 boot Zone の初期設定 zlogin -C ゾーン名 -C を指定して、コンソールモードで接続 初回設定 (sysconfig) ホスト名 ネットワーク設定 タイムゾーン 初期ユーザ・ root のパスワード 初回以外は zlogin ゾーン名で接続
  • 22.
    Page 22今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring リソースの分離 同じカーネルを使用 プロセスの分離 CPU/ メモリの制限 ディスクの制限 ネットワークの制限
  • 23.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 23 同じカーネルを使用 大域ゾーン システム コール メモリ 割り当て 非大域ゾーン プロセス システム コール メモリ 割り当て プロセス カーネル
  • 24.
    今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Page 24 大域ゾーンからみたプロセス 大域ゾーンからは非大域ゾーンのプロセスが見える 非大域ゾーンのプロセス= 大域ゾーンのプロセス (Zone 名付 ) % ps -efZ ZONE UID PID PPID C STIME TTY TIME CMD global root 0 0 0 2 月 07 ? 0:02 sched global root 5 0 0 2 月 07 ? 85:24 zpool-rpool global root 1 0 0 2 月 07 ? 0:01 /sbin/init global root 2 0 0 2 月 07 ? 0:00 pageout global root 3 0 0 2 月 07 ? 109:36 fsflush ( 中略 ) global root 2356 1 0 2 月 07 ? 0:00 zoneadmd -z zone1 zone1 root 3611 1 0 2 月 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 2 月 07 zoneconsole 0:00 /usr/lib/saf/ttymon ... zone1 root 3589 1 0 2 月 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 2 月 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 1 0 2 月 07 ? 0:00 /usr/sbin/cron zone1 root 3588 1 0 2 月 07 ? 0:00 /usr/lib/inet/inetd start
  • 25.
    Page 25今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 非大域ゾーンからみたプロセス 非大域ゾーンのプロセスしかみえない 他の非大域 Zone のプロセスも見えない % sudo zlogin zone1 ps -efZ Password: ZONE UID PID PPID C STIME TTY TIME CMD zone1 root 3580 2952 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3438 2952 0 Feb 07 ? 0:15 /usr/sbin/nscd zone1 root 3110 2952 0 Feb 07 ? 0:01 /sbin/init zone1 root 3569 2952 0 Feb 07 ? 0:00 /usr/lib/inet/in.ndpd ( 中略 ) zone1 root 3611 2952 0 Feb 07 ? 0:01 /usr/sbin/syslogd zone1 root 3591 3203 0 Feb 07 console 0:00 /usr/lib/saf/ttymon -g -d ... zone1 root 3589 2952 0 Feb 07 ? 0:07 /usr/lib/fm/fmd/fmd zone1 root 3582 3580 0 Feb 07 ? 0:00 /usr/lib/autofs/automountd zone1 root 3496 2952 0 Feb 07 ? 0:00 /usr/sbin/cron zone1 root 3588 2952 0 Feb 07 ? 0:00 /usr/lib/inet/inetd start
  • 26.
    Page 26今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring CPU の制限 Zone の設定で CPU を制限 capped-cpu Zone で使用する CPU 時間を制限 1 を指定すると 100 %、 1.5 を指定すると 150% 動的変更可能 (Solaris11 のみ ) dedicated-cpu(Solaris11 のみ ) 特定の CPU を指定して割り当て zonecfg:zone1> add capped-cpu zonecfg:zone1:capped-cpu> set ncpus=1 zonecfg:zone1:capped-cpu> end zonecfg:zone1> add dedicated-cpu zonecfg:zone1:dedicated-cpu> set ncpus=3-4 zonecfg:zone1:dedicated-cpu> end zonecfg:zone1> add capped-cpu zonecfg:zone1:capped-cpu> set ncpus=1 zonecfg:zone1:capped-cpu> end
  • 27.
    Page 27今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring メモリの制限 Zone の設定でメモリを制限 capped-memory ゾーンが使用できるメモリの最大値を指定 K 、 M 、 G 、 T の単位を指定可能 zonecfg:zone1> add capped-memory zonecfg:zone1:capped-memory> set physical=2G zonecfg:zone1:capped-memory> end
  • 28.
    Page 28今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 仮想化 Network の利用 Solaris11 、 OpenSolaris では Network が仮想 化されている 仮想 SW 、 NIC を自由に組み合わせ可能 closed なネットワークも利用可能 Zone に複数の仮想 NIC を割り当てることにより 、自由なネットワーク構成可能 Zone に割り当てられた仮想 NIC 以外は接続不可
  • 29.
    Page 29今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring じゆうなねっとわーく Solaris11/OpenIndiana 大域ゾーン 物理 NIC VNIC01 仮想 SW1 仮想 SW2 Zone1 VNIC1 Zone2 VNIC11 VNIC12 VNIC21 ルーティング The Internet
  • 30.
    Page 30今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Network の制限 割り当てた VNIC に対して帯域幅を制限 dladm を使用 maxbw を VNIC に対して指定すると帯域幅を制限 以下の例では、 100Mbps に制限 flowadm を使用 大域幅、優先度、接続先など より細かい制限が可能 % dladm show-linkprop -p maxbw zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 maxbw rw -- -- -- -- % sudo dladm set-linkprop -p maxbw=100 zone1/net0 % dladm show-linkprop -p maxbw zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 maxbw rw 100 100 -- --
  • 31.
    Page 31今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS の使用 ZFS をゾーンの配置に使用 ZFS プール、 ZFS ファイルセットの 追加割り当て可能 ゾーン内からは、ゾーンに割り当てられた 領域以外アクセス不可 FC 、 iSCSI を zfs pool に割り当て可能 (注記) Solaris11 以降
  • 32.
    Page 32今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したディスクの制限 Zone のパスに対して quota を設定 ZFS の機能を使用して、制限可能 以下は、 ZonePATH に対して、 1GB の quota を設定 % sudo /usr/sbin/zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME USED AVAIL REFER MOUNTPOINT rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 680M 23.2G 635M /system/zones/zone1/root % sudo /usr/sbin/zfs get mountpoint rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris mountpoint /system/zones/zone1/root temporary % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota none default % sudo /usr/sbin/zfs set quota=1G rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris % sudo /usr/sbin/zfs get quota rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris NAME PROPERTY VALUE SOURCE rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris quota 1G local
  • 33.
    Page 33今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (1) ゾーンの clone 既存のゾーンと同じゾーンを作成 zoneadm -z ゾーン名 clone 既存ゾーン名 % sudo zonecfg -z zone2 'create; verify; commit' % sudo zoneadm list -v ID NAME STATUS PATH BRAND IP 0 global running / solaris shared % sudo zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 configured /system/zones/zone2 solaris excl % sudo zoneadm -z zone2 clone zone1 The following ZFS file system(s) have been created: rpool/VARSHARE/zones/zone2 Progress being logged to /var/log/zones/zoneadm.20150226T211933Z.zone2.clone Log saved in non-global zone as /system/zones/zone2/root/var/log/zones/zoneadm.20150226T211933Z % zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - zone1 installed /system/zones/zone1 solaris excl - zone2 installed /system/zones/zone2 solaris excl
  • 34.
    Page 34今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS を使用したデプロイ (2) ZFS の clone を使用してデプロイ ZFS Clone は、 snapshot を元に書き込み可 能なファイルセットを作成する機能 snapshot 元との差分のみが書き込まれる ディスクの有効利用 % zfs list rpool/VARSHARE/zones/zone1/rpool/ROOT 717M 23.2G 31K legacy rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris 717M 307M 664M /system/zones/zone1/root rpool/VARSHARE/zones/zone1/rpool/ROOT/solaris/var 44.9M 307M 43.9M /system/zones/zone1/root/var rpool/VARSHARE/zones/zone2/rpool/ROOT 5.03M 23.2G 31K legacy rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0 5.03M 23.2G 667M /system/zones/zone2/root rpool/VARSHARE/zones/zone2/rpool/ROOT/solaris-0/var 45K 23.2G 43.9M /system/zones/zone2/root/var
  • 35.
    Page 35今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring ZFS の重複排除の有効利用 ZFS の重複排除 ブロック単位で同じデータを使いまわす 変更分のみ増える Zone は root パーティションがほぼ同じ =重複排除が効きやすい! Global-Zone Zone1 Zone2
  • 36.
    Page 36今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring 変わりもの Zone たち Branded Zone LX Solaris8/9 Solaris10 Kernel Zone
  • 37.
    Page 37今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring LX Zone なぜか Zone 内で Linux が動く ただし、 CentOS3.8 OpenSolaris で動作 Project Janus の成果 カーネルをエミュレート なので遅い ...? 正式版 Solaris10/11 ではサポートされず 最近、 StormOS(by Joyent) で動きが Ubuntu14.x が動いたとか...
  • 38.
    Page 38今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Solaris8/9 Zone Solaris10 のみで動作 古い Solaris8/9 の延命 P2V でマイグレーション可能 ライブマイグレーション可能らしい ... 有償
  • 39.
    Page 39今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Solaris10 Zone Solaris11 で動作 P2V 可能 標準機能!
  • 40.
    Page 40今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring Kernel Zone Solaris11.2 以降で動作 Zone は同じカーネルを使用 Kernel Zone は、別カーネルで動作 他ゾーンの動作影響を受けない パッチレベルの異なるカーネルを動作可能 CPU の仮想化命令が必要 VTi 、 AMD-V 、 SPARC T4/T5 物理空きメモリ 8GB 推奨 ZFS のキャッシュ (ARC) を制限する必要あり
  • 41.
    Page 41今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring OpenStack と連携 Solaris11.2 から OpenStack サポート 前回 (OSC2014 Tokyo/Fall) 発表 http://www.slideshare.net/satorumiyazaki/oracle -solarisopenstack Havana ベース Zone および KernelZone をサポート Cinder(block storage) 、 Swift(Object Storage) で ZFS サポート Solaris11.2 の仮想化ネットワークスイッチ( Elastic Virtual Switch) と Neutron の連携
  • 42.
    Page 42今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring そんな Zone の問題点 初回起動が遅い 数分かかる サービスの初期化が遅い ⇒AIマニフェストを指定して、インストールするP KGを制限する % zoneadm -z ゾーン名 install -m ai_manifest.xml 初回設定 (sysconfig 実施 ) ⇒ インストール時に sysconfig のマニフェスト指定 % zoneadm -z ゾーン名 install -c sc_manifest.xml カーネルパニックすると皆こける ⇒Kernel Zone くらいしか回避策なし
  • 43.
    Page 43今もう一度知ろう。 Solaris のコンテナ型仮想化技術 OSC2015 Tokyo/Spring まとめ Solaris Zone は、同じカーネルで動く =オーバヘッドが少ない CPU/Memory/Network 帯域 を制限 ZFS の機能をフル活用 Clone 重複排除 サイズ制限 変態ゾーンもあるよ LX とか、カーネルゾーンとか OpenStack と連携もあるよ

AltStyle によって変換されたページ (->オリジナル) /