Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第6回コンテナ型仮想化の情報交換@東京
今⽇日から触れる  Solaris Zones ⼊入⾨門
Kazuyuki Sato
Feb 18, 2015
Corydoras	
  sterbai
Agenda
Ø  ⾃自⼰己紹介:@satokaz
Ø  Oracle Solaris Zones
2
⽬目的
•  とにかく Solaris Zones を作ってみる
•  第4回コンテナ型仮想化勉強会@東京  Oracle  Solaris  のコンテナ技
術「Solaris  Zones」
h/p://www.slideshare.net/...
@satokaz
⾃自⼰己紹介
•  某社で製品情報を左から右に流流す仕事に従事
– Solaris とか Solaris とか Solaris とか
•  ⽔水槽の前に座って熱帯⿂魚に話かけるのが得意。返事はない。
– コリドラス(なまず)が...
Oracle Solaris Zones
Ø  Na#ve	
  Zones	
  
5
Oracle Solaris Zones について
アプリケーション実⾏行行環境であること
•  統合技術(コンソリデーション)
– 1960年年代から開発されている技術になり、メインフレーム環境において⼀一般
的な技術
•  実⾏行行されてい...
Oracle Solaris Zones について
Solaris Zones の開発⽬目標 (2003 年年代)
•  セキュリティ(Security)
–  ネットワークサービスを分離離し、システム全体に及ばない権限のサブセットを提供
• ...
Oracle Solaris Zones について
アイソレーションのアプローチ
アプローチ メモ
chroot 古くから利利⽤用されるプロセスのアイソレーション⽅方法となるが、それ以外の
ものは隔離離できない
jails chroot ライク...
Oracle Solaris Zones について
組み込まれた仮想化機能
•  単⼀一システム上に複数の
隔離離されたランタイム環境(Solaris インスタンス )を提供する機能
•  ゾーンは⼤大きく  2 種類に区分
ü  ⼤大域ゾー...
⼿手っ取り早く動かすのに必要なもの
Solaris 11.2 が動いていないと始められない
•  Oracle Solaris 11.2
– ベアメタルや VM 上で動作する Solaris 11.2 環境
•  ネットワーク
– IPS リポ...
Oracle Solaris 11.2  をすぐに試せる  VM テンプレート
•  Oracle Solaris 11.2 VM Downloads
http://www.oracle.com/technetwork/server-stora...
Solaris Zones について
そういえば、CPU/メモリってどうなってるの?	
とりあえず、最初は気にしない
•  CPU リソース
– デフォルトは⼤大域ゾーンと共有
– リソース管理理機能により物理理  CPU の直接割り当ても可能...
Solaris Zones について
13
Solaris Zones の種類
Solaris  Native  Zones
Solaris  Kernel  Zones solaris-‐‑‒kz n  Solaris  11.2  から提...
Oracle Solaris Zones
Solaris Zones 管理理コマンド
14
コマンド 概要
zonecfg zones の構成管理理ユーティリティ
zoneadm zones を管理理する(install, uninstall,...
Solaris Zones 作成の基本操作
ゾーンとなる“空の⼊入れモノ”を作成
15	
# zonecfg -z testzone
Use 'create' to begin configuring a new zone.
zonecfg:t...
Solaris Zones 作成の基本操作
“空の⼊入れモノ”に命を吹き込む (1/2)
16	
# zoneadm -z testzone install
The following ZFS file system(s) have been ...
Solaris Zones 作成の基本操作
“空の⼊入れモノ”に命を吹き込む (2/2)
17	
フェーズ                                                                    項...
18	
# zoneadm -z testzone install
Progress being logged to /var/log/zones/zoneadm.20150218T022840Z.testzone.install
Image:...
Solaris Zones 作成の基本操作
zonecfg の構成情報について	
19	
# zonecfg -z testzone export
create -b
set brand=solaris
set zonepath=/system...
Solaris Zones 作成の基本操作
そういえば、ファイルシステムってどうなってるの?
⼤大域ゾーン(global zones)/
/usr
/platform
/sbin
/lib /export/system
/dev/root
/e...
Solaris Zones 作成の基本操作
そういえば、ファイルシステムってどうなってるの?
root@s11u2-sru7-4:/system/zones# zfs list
NAME USED AVAIL REFER MOUNTPOINT
...
Solaris Zones 作成の基本操作
動かすよっ!
22	
# zoneadm -z testzone boot
root@s11u2-sru7-4:~# zoneadm list -vc
ID NAME STATUS PATH BRAN...
Solaris Zones 作成の基本操作
動かすよっ!
# prstat –Z
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
2044 root 245M 123M sl...
Solaris Zones 作成の基本操作
動かすよっ!	
⼤大域ゾーンから⾒見見えるプロセス
•  ゾーンの種類により⼤大域ゾーンから⾒見見えるプロセスは異異なる
– ⼤大域ゾーンからの参照例例:
24	
Kernel Zones: inst...
Solaris Zones 作成の基本操作
ゾーンはコンソールを持っています(1/2)	
25	
# zoneadm -C testzone
ゾーンが提供する疑似コンソールへ
接続します
画⾯面に何も表⽰示されなかったら、
とりあえず  Ctr...
Solaris Zones 作成の基本操作
ゾーンはコンソールを持っています(2/2)	
26	
# zoneadm -C testzone
	
[Connected to zone 'testzone' console]	
SunOS Rel...
Solaris Zones 作成の基本操作
そういえば、ネットワークってどうなってるの?
•  共有IP (shared IP)ゾーン
–  ⼤大域ゾーンと物理理ネットワークを共有
–  Oracle Solaris 10 10/08よりデフォ...
Solaris Zones 作成の基本操作
そういえば、ネットワークってどうなってるの?
⼤大域ゾーンから⾒見見た場合
root@s11u2-sru7-4:~# dladm show-phys
LINK MEDIA STATE SPEED DU...
Solaris Zones 作成の基本操作
Solaris Zones 作成までのまとめ	
29	
# zonecfg -z testzone “create;verify;commit;exit”
# zoneadm –z testzone ...
Solaris Zones 作成の基本操作
もっと楽に!ー  プロファイル・テンプレートを作成
•  sysconfig  コマンドにてSolarisの構成プロファイルを作成可能	
  
– #	
  sysconfig	
  create-­‐p...
• プロファイルを利利⽤用した例例	
  
– システムの構成	
  
•  #	
  sysconfig	
  configure	
  -­‐c	
  /usr/tmp/sc.xml	
  	
  
–   ゾーンの  OS	
  を⾃自動構成...
Solaris Zones 作成の基本操作
ここからが始まりです
•  【第⼀一回  ゼロからはじめる  Oracle Solaris 11】
– 始めなければ何も始まらない!まずはインストールから始めよう  
– 知るべきは  pkg(1) ...
Solaris Native Zones を動かすことができたら
やってみよー  その 1
•  zoneadm のマニュアルを読む
•  Kernel Zones に挑戦してみる
– Type2 HyperVisor に似た仕組みで実装される...
Solaris Native Zones を動かすことができたら
やってみよー  その  2
•  可⽤用性の適⽤用
– Oracle Solaris Cluster による Zones Cluster 機能
•  新しい仮想スイッチ機能 EV...
おすすめ仮想化環境
お好きなほうを
•  VMware   
– Kernel Zones を利利⽤用可能
– VMware Cmpatibility Guide: OS Release Name: Solaris 11.2
– KB Arti...
参考情報
•  Solaris Zones: Operating System Support for Consolidating
Commercial Workloads
– Daniel Price and Andrew Tucker – ...
参考情報	
•  Oracle Solarisハンズオン・ラボ    
http://www.oracle.com/technetwork/jp/systems/hands-on-labs/solaris-
labs-1904205-ja.ht...
Upcoming SlideShare
Loading in …5
×

第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」

第6回コンテナ型仮想化勉強会@東京で使用した 「今日から触れる Solaris Zones 入門」資料です。

  • Login to see the comments

第6回コンテナ型仮想化の情報交換@東京「今日から触れる Solaris Zones 入門」

  1. 1. 第6回コンテナ型仮想化の情報交換@東京 今⽇日から触れる  Solaris Zones ⼊入⾨門 Kazuyuki Sato Feb 18, 2015 Corydoras  sterbai
  2. 2. Agenda Ø  ⾃自⼰己紹介:@satokaz Ø  Oracle Solaris Zones 2
  3. 3. ⽬目的 •  とにかく Solaris Zones を作ってみる •  第4回コンテナ型仮想化勉強会@東京  Oracle  Solaris  のコンテナ技 術「Solaris  Zones」 h/p://www.slideshare.net/satokaz/4-­‐20140906-­‐solariszones   3
  4. 4. @satokaz ⾃自⼰己紹介 •  某社で製品情報を左から右に流流す仕事に従事 – Solaris とか Solaris とか Solaris とか •  ⽔水槽の前に座って熱帯⿂魚に話かけるのが得意。返事はない。 – コリドラス(なまず)が可愛くていつも⽔水槽の前で死にかけている – AQUA LIFE が愛読書 •  最近の悩み:悩みが多すぎるのが悩みです 4
  5. 5. Oracle Solaris Zones Ø  Na#ve  Zones   5
  6. 6. Oracle Solaris Zones について アプリケーション実⾏行行環境であること •  統合技術(コンソリデーション) – 1960年年代から開発されている技術になり、メインフレーム環境において⼀一般 的な技術 •  実⾏行行されている環境を変えないようにする – ゾーンの基本的な設計原則の1つ。アプリケーションがセキュリティや隔離離の ⽬目標を達成するために必要な場合を除いて、実⾏行行されている環境を変えない ようにすること •  アプリケーションを「移植」する必要はない – ゾーンは、新しい API や ABI を提⽰示しない代わりに、いくつかの制限付きの Solaris API/ABI インタフェースを提供 6
  7. 7. Oracle Solaris Zones について Solaris Zones の開発⽬目標 (2003 年年代) •  セキュリティ(Security) –  ネットワークサービスを分離離し、システム全体に及ばない権限のサブセットを提供 •  隔離離(Isolation) –  複数のアプリケーションを異異なる信頼された領領域で実⾏行行すると共に、グローバルリソースへ の排他的アクセスを提供 •  仮想化(Virtualization) –  アプリケーションへの物理理デバイスや物理理ホスト情報を隠蔽する仮想化環境を提供 •  粒粒度度(Granularity) –  物理理パーティショニングと違いリソースを細かく分配可能に •  透過性(Transparency) –  アプリケーションの移植を必要としない 7
  8. 8. Oracle Solaris Zones について アイソレーションのアプローチ アプローチ メモ chroot 古くから利利⽤用されるプロセスのアイソレーション⽅方法となるが、それ以外の ものは隔離離できない jails chroot ライクであり、ファイルシステムなどもアイソレーション可能 Trusted Operating System セキュアOS としての要件を満たすアプローチ Hardware または Logical Partitioning 2003 年年頃。logical partitions for SPARC の実装を別プロジェクトで実施中。 後の  Ldoms (Oracle VM for SPARC) 8 •  Solaris ゾーンは、jails の基本的な考え⽅方に基づいて実装されている – さらに OS に統合し包括的な機能として提供できるよう概念念を独⾃自に拡張
  9. 9. Oracle Solaris Zones について 組み込まれた仮想化機能 •  単⼀一システム上に複数の 隔離離されたランタイム環境(Solaris インスタンス )を提供する機能 •  ゾーンは⼤大きく  2 種類に区分 ü  ⼤大域ゾーン  (global zone) •  オペレーティングシステムの実体 ü  ⾮非⼤大域ゾーン  (non-global zone) •  ⼤大域ゾーン上で動作するアプリケーション 実⾏行行環境 •  ⼤大域ゾーンとカーネルを共有 •  ⾮非⼤大域ゾーン間は完全に隔離離 •  最⼤大  8192 個  (⼤大域ゾーン含む) 作成可能 zone01 zone02 zone03 net0:1 zcons /usr ゾーン管理理  (zonecfg, zoneadm, zlogin, etc) zoneadmd zoneadmd zoneadmd net0:2 /data /usr net1 /data /usr C C C C Virtual Platform /data zcons zcons
  10. 10. ⼿手っ取り早く動かすのに必要なもの Solaris 11.2 が動いていないと始められない •  Oracle Solaris 11.2 – ベアメタルや VM 上で動作する Solaris 11.2 環境 •  ネットワーク – IPS リポジトリへ接続 •  IPS リポジトリ – ネットワーク上(pkg.oracle.com) – または、ローカルファイルシステムに配置 •  気持ち♥︎ 10
  11. 11. Oracle Solaris 11.2  をすぐに試せる  VM テンプレート •  Oracle Solaris 11.2 VM Downloads http://www.oracle.com/technetwork/server-storage/solaris11/downloads/vm-templates-2245495.html –  Oracle Solaris 11.2 VM for Oracle VM VirtualBox (1.6GB) •  VirtualBox にインポートするだけで  Oracle Solaris 11.2 を試⽤用可能 •  どうぞ、オラクルに個⼈人情報を登録頂きダウンロードしてください! – Oracle プロファイル(アカウント)への登録が必要 •  VirtualBox へのインストールは、 Oracle Solaris 11のOracle VM VirtualBoxへのインストール (OTN Oracle Solaris ハンズオンラボ) http://www.oracle.com/technetwork/jp/systems/hands-on-labs/s11-vbox-install-1408628-ja.html –  Solariss 11.1 ってなっているけど 11.2 に読み替えてね
  12. 12. Solaris Zones について そういえば、CPU/メモリってどうなってるの? とりあえず、最初は気にしない •  CPU リソース – デフォルトは⼤大域ゾーンと共有 – リソース管理理機能により物理理  CPU の直接割り当ても可能 •  メモリ – ⼤大域ゾーンと共有 – リソース管理理機能により使⽤用メモリの上限を設定することは可能 – 物理理的な割当不不可(Kernzl Zones は可能) •  スワップは⼤大域ゾーンと共有 12
  13. 13. Solaris Zones について 13 Solaris Zones の種類 Solaris  Native  Zones Solaris  Kernel  Zones solaris-‐‑‒kz n  Solaris  11.2  から提供される新たなゾーン
  14. 14. Oracle Solaris Zones Solaris Zones 管理理コマンド 14 コマンド 概要 zonecfg zones の構成管理理ユーティリティ zoneadm zones を管理理する(install, uninstall, boot, halt, shutdown, attach/detach, clone, etc…) zlogin zones へのログインするために、ローカルシステム 上で利利⽤用 zonestat zone の統計情報、リソース利利⽤用情報を取得 ready installed incomplete uninstall mark incomplete uninstall install bootbootready halt ready halt mark incomplete reboot configured No Zone createdelete login Zone running zonecfgzoneadmzlogin
  15. 15. Solaris Zones 作成の基本操作 ゾーンとなる“空の⼊入れモノ”を作成 15 # zonecfg -z testzone Use 'create' to begin configuring a new zone. zonecfg:testzone> create create: Using system default template 'SYSdefault' zonecfg:testzone> export 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 zonecfg:testzone> verify zonecfg:testzone> commit zonecfg:testzone> exit # zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone configured /system/zones/testzone solaris excl testzone の情報が追加 ゾーン関連の構成ファイルは  /etc/zones に配置
  16. 16. Solaris Zones 作成の基本操作 “空の⼊入れモノ”に命を吹き込む (1/2) 16 # zoneadm -z testzone install The following ZFS file system(s) have been created: rpool/VARSHARE/zones/testzone Progress being logged to /var/log/zones/zoneadm.20150218T023659Z.testzone.install Image: Preparing at /system/zones/testzone/root. Install Log: /system/volatile/install.4656/install_log AI Manifest: /tmp/manifest.xml.tRaGej SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml Zonename: testzone Installation: Starting … Creating IPS image 開始  リンクされたイメージ: 1/1 完了了 Installing packages from: solaris origin: http://pkg.oracle.com/solaris/support/ ダウンロード                                  パッケージ    ファイル    転送  (MB) 速度度 完了了                                                              281/281 53222/53222 352.3/352.3 320k/s
  17. 17. Solaris Zones 作成の基本操作 “空の⼊入れモノ”に命を吹き込む (2/2) 17 フェーズ                                                                    項⽬目 新しいアクションをインストールしています  71132/71132 パッケージ状態データベースを更更新しています            完了了   パッケージキャッシュを更更新しています                  0/0 イメージ状態を更更新しています            完了了   スピード検索索データベースを作成しています            完了了   パッケージキャッシュを更更新しています                  1/1 Installation: Succeeded Note: Man pages can be obtained by installing pkg:/system/manual done. Done: Installation completed in 1256.021 seconds. 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/testzone/root/var/log/zones/zoneadm.20150218T023659Z.testzone.install root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone configured /system/zones/testzone solaris excl root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone installed /system/zones/testzone solaris excl インストールが成功すると  installed  にステータスが変更更
  18. 18. 18 # zoneadm -z testzone install Progress being logged to /var/log/zones/zoneadm.20150218T022840Z.testzone.install Image: Preparing at /system/zones/testzone/root. Install Log: /system/volatile/install.3270/install_log AI Manifest: /tmp/manifest.xml.JdaOwg SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml Zonename: testzone Installation: Starting ... Creating IPS image Error occurred during execution of 'generated-transfer-3270-1' checkpoint. Failed Checkpoints: Checkpoint execution error: Error refreshing publishers, 0/1 catalogs successfully updated: Encountered the following error(s): Unable to contact any configured publishers. This is likely a network configuration problem. 1: Framework error: code: 28 reason: Operation too slow. Less than 1024 bytes/sec transfered the last 3 URL: 'http://pkg.oracle.com/solaris/support' (happened 2 times) 2: Framework stall: URL: 'http://pkg.oracle.com/solaris/support' (happened 2 times) Installation: Failed. See install log at /system/volatile/install.3270/install_log ERROR: auto-install failed. # インストール失敗例例: ネットワークの疎通が無く、 IPS  リポジトリへの接続ができないため 失敗したら # zoneadm –z testzone uninstall でやり直し root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone incomplete /system/zones/testzone solaris excl
  19. 19. Solaris Zones 作成の基本操作 zonecfg の構成情報について 19 # zonecfg -z testzone export create -b set brand=solaris 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 プロパティ 値 概要 brand solaris ゾーンの種類を指定 zonepath /sytem/zones ディレクトリに   zonename で作 成(default) ゾーンのデータ配置 先 autoboot false ⾃自動起動の有無 autoshutdow n shutdown ⼤大域ゾーンのシャッ トダウン時の動作 ip-type exclusive ネットワークスタッ クの種類 add anet : end exclusive で求 められる設定 ネットワークの設定 (ip-type の設定で構 成⽅方法が異異なる)
  20. 20. Solaris Zones 作成の基本操作 そういえば、ファイルシステムってどうなってるの? ⼤大域ゾーン(global zones)/ /usr /platform /sbin /lib /export/system /dev/root /etc /var ZFS dataset (ZVOL) ⼀一部のファイルシステム を読み取り専⽤用で継承 /opt 完全ルートゾーン (whole root zones)/ /usr /platform /sbin /lib /export /etc /var /opt (local,  iscsi,  fc  …) NaJve  Zones /testzones /zones ZFS データセットに配置
  21. 21. Solaris Zones 作成の基本操作 そういえば、ファイルシステムってどうなってるの? root@s11u2-sru7-4:/system/zones# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 18.6G 12.4G 4.65M /rpool rpool/ROOT 11.7G 12.4G 31K legacy rpool/ROOT/solaris 58.7M 12.4G 4.78G / rpool/ROOT/solaris-backup 132M 12.4G 4.78G / rpool/ROOT/solaris-backup-1 9.82M 12.4G 4.79G / rpool/ROOT/solaris-backup-1/var 3.19M 12.4G 1.87G /var rpool/ROOT/solaris/var 377K 12.4G 347M /var rpool/VARSHARE 695M 12.4G 4.80M /var/share rpool/VARSHARE/pkg 63K 12.4G 32K /var/share/pkg rpool/VARSHARE/pkg/repositories 31K 12.4G 31K /var/share/pkg/repositories rpool/VARSHARE/zones 690M 12.4G 32K /system/zones rpool/VARSHARE/zones/testzone 690M 12.4G 32K /system/zones/testzone rpool/VARSHARE/zones/testzone/rpool 690M 12.4G 31K /rpool rpool/VARSHARE/zones/testzone/rpool/ROOT 690M 12.4G 31K legacy rpool/VARSHARE/zones/testzone/rpool/ROOT/solaris 690M 12.4G 635M /system/zones/testzone/root rpool/VARSHARE/zones/testzone/rpool/ROOT/solaris/var 54.7M 12.4G 53.8M /system/zones/testzone/root/var rpool/VARSHARE/zones/testzone/rpool/VARSHARE 31K 12.4G 31K /var/share rpool/VARSHARE/zones/testzone/rpool/export 62K 12.4G 31K /export rpool/VARSHARE/zones/testzone/rpool/export/home 31K 12.4G 31K /export/home rpool/dump 1.03G 12.5G 1.00G - rpool/export 63K 12.4G 32K /export rpool/export/home 31K 12.4G 31K /export/home rpool/swap 1.03G 12.5G 1.00G -
  22. 22. Solaris Zones 作成の基本操作 動かすよっ! 22 # zoneadm -z testzone boot root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone running /system/zones/testzone solaris excl root@s11u2-sru7-4:~# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / solaris shared - testzone configured /system/zones/testzone solaris excl 起動が成功すると  running  にステータスが変更更 # zonestat 1 1 Collecting data for first interval... Interval: 1, Duration: 0:00:01 SUMMARY Cpus/Online: 2/2 PhysMem: 6339M VirtMem: 7363M ---CPU---- --PhysMem-- --VirtMem-- --PhysNet-- ZONE USED %PART USED %USED USED %USED PBYTE %PUSE [total] 0.06 3.09% 3616M 57.0% 4152M 56.3% 212 0.00% [system] 0.01 0.99% 2955M 46.6% 3226M 43.8% - - global 0.04 2.00% 578M 9.11% 847M 11.5% 212 0.00% testzone 0.00 0.09% 82.7M 1.30% 78.5M 1.06% 0 0.00%
  23. 23. Solaris Zones 作成の基本操作 動かすよっ! # prstat –Z PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 2044 root 245M 123M sleep 59 0 0:01:32 0.3% java/23 2049 root 131M 18M sleep 59 0 0:00:44 0.2% gnome-power-man/4 974 root 15M 3812K sleep 59 0 0:00:24 0.1% vmtoolsd/2 12368 root 20M 5472K sleep 59 0 0:00:00 0.0% sshd/1 5 root 0K 0K sleep 99 -20 0:00:44 0.0% zpool-rpool/137 12399 root 5904K 3448K cpu1 59 0 0:00:00 0.0% prstat/1 12369 root 4756K 2620K sleep 49 0 0:00:00 0.0% bash/1 6478 root 4276K 2388K sleep 59 0 0:00:00 0.0% hald-addon-acpi/1 6474 root 7788K 5484K sleep 59 0 0:00:00 0.0% hald/5 12026 root 2940K 1736K sleep 59 0 0:00:00 0.0% in.routed/1 2077 root 61M 8192K sleep 12 19 0:00:01 0.0% updatemanagerno/1 2059 root 129M 12M sleep 59 0 0:00:01 0.0% isapython2.6/1 200 root 15M 4668K sleep 59 0 0:00:00 0.0% devfsadm/6 361 root 9544K 1396K sleep 59 0 0:00:00 0.0% dhcpagent/1 38 netcfg 4052K 2472K sleep 59 0 0:00:00 0.0% netcfgd/4 ZONEID NPROC SWAP RSS MEMORY TIME CPU ZONE 0 121 718M 580M 9.1% 0:05:33 0.7% global 1 33 77M 83M 1.3% 0:00:23 0.0% testzone Total: 154 processes, 796 lwps, load averages: 0.02, 0.16, 0.19
  24. 24. Solaris Zones 作成の基本操作 動かすよっ! ⼤大域ゾーンから⾒見見えるプロセス •  ゾーンの種類により⼤大域ゾーンから⾒見見えるプロセスは異異なる – ⼤大域ゾーンからの参照例例: 24 Kernel Zones: instance-00001 の場合  → kzhost プロセスと  zsched プロセスの 2 つのみ # ps -aefZ | grep -v global ZONE UID PID PPID C STIME TTY TIME CMD instance root 12406 12223 0 Aug 09 ? 278:03 /usr/lib/kzhost instance root 12223 1 0 Aug 09 ? 0:00 zsched 従来の Native Zones: vrrpzone01 の場合 → ⾮非⼤大域ゾーンで稼働するプロセスを参照可能 # ps -afefZ -z vrrpzone01 | grep -v global ZONE UID PID PPID C STIME TTY TIME CMD vrrpzone root 12402 1 0 Jul 31 ? 0:00 /usr/lib/inet/in.ndpd vrrpzone root 11849 1 0 Jul 31 ? 0:00 /usr/lib/rad/rad -sp vrrpzone netadm 11776 1 0 Jul 31 ? 1:41 /lib/inet/ipmgmtd vrrpzone root 11675 1 0 Jul 31 ? 8:08 /lib/svc/bin/svc.configd vrrpzone root 11779 1 0 Jul 31 ? 0:00 /usr/lib/pfexecd vrrpzone root 11873 1 0 Jul 31 ? 0:00 /usr/lib/dbus-daemon --system vrrpzone root 12477 1 0 Jul 31 ? 0:00 /usr/lib/ssh/sshd vrrpzone netcfg 11722 1 0 Jul 31 ? 3:02 /lib/inet/netcfgd vrrpzone daemon 11853 1 0 Jul 31 ? 0:06 /usr/lib/utmpd vrrpzone root 10770 1 0 Jul 31 ? 0:00 zsched vrrpzone root 12485 1 0 Jul 31 ? 0:02 /usr/sbin/syslogd
  25. 25. Solaris Zones 作成の基本操作 ゾーンはコンソールを持っています(1/2) 25 # zoneadm -C testzone ゾーンが提供する疑似コンソールへ 接続します 画⾯面に何も表⽰示されなかったら、 とりあえず  Ctrl  +  L  を押して リフレッシュ ネットワークやリージョン、⾔言語、 パスワード設定などを⾏行行います ネットワークは  Automatically  で DHCP  利利⽤用に設定される
  26. 26. Solaris Zones 作成の基本操作 ゾーンはコンソールを持っています(2/2) 26 # zoneadm -C testzone [Connected to zone 'testzone' console] SunOS Release 5.11 Version 11.2 64-bit Copyright (c) 1983, 2014, Oracle and/or its affiliates. All rights reserved. Hostname: testzone testzone console login: 起動後は  login  プロンプトを出⼒力力して あなたを待っています 初期設定時に作成したユーザーでログイン可能
  27. 27. Solaris Zones 作成の基本操作 そういえば、ネットワークってどうなってるの? •  共有IP (shared IP)ゾーン –  ⼤大域ゾーンと物理理ネットワークを共有 –  Oracle Solaris 10 10/08よりデフォルト ルータを⾮非⼤大域ゾーン毎に設定可能 •  排他的IP (exclusive IP)ゾーン –  Solaris 11 以降降デフォルトのタイプ –  ⾮非⼤大域ゾーンに専⽤用の物理理ネットワー クを割り当て –  GLDv3に対応したNICが必要 –  Solaris 11 では仮想 NIC を割当可能に ⾮非⼤大域ゾーン⾮非⼤大域ゾーン⼤大域ゾーン net1 net0:1 net0:0 共有IP 排他的IP IPスタックを⼤大域 ゾーンと共有 独⽴立立したIPスタック
  28. 28. Solaris Zones 作成の基本操作 そういえば、ネットワークってどうなってるの? ⼤大域ゾーンから⾒見見た場合 root@s11u2-sru7-4:~# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 1000 full e1000g0 net1 Ethernet up 1000 full e1000g1 root@s11u2-sru7-4:~# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 up -- testzone/net0 vnic 1500 up net0 testzone から⾒見見た場合 root@s11u2-sru7-4:~# zlogin testzone ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok -- -- net0/v4 static ok -- 172.16.166.140/24 net0/v6 addrconf ok -- fe80::8:20ff:feec: 3562/10 net0 (e1000g0) vnic0 vnic1 vnic2 vnic3 vnic4 vnic5 vnic6 vnic7 •  例例)   指定された物理理  NIC  から複数の仮想  NIC  を⽣生成し   ゾーンで利利⽤用   28•  zonecfg の  anet プロパティは、 ゾーン起動時に⾃自動的に仮想 NIC を⽣生成し ネットワークを構成してくれる •  初期設定時、ネットワーク構成を⾃自動にして いれば DHCP からアドレスを取得 •  ゾーンのシャットダウン時には構成解除
  29. 29. Solaris Zones 作成の基本操作 Solaris Zones 作成までのまとめ 29 # zonecfg -z testzone “create;verify;commit;exit” # zoneadm –z testzone install # zoneadm –z testzone boot; zlogin –e # –C testzone zlogin 実⾏行行時 –e オプションで エスケープシーケンスを 変更更しておくと⾊色々捗ります net0 testzone01 Solaris 11.2 仮想  NIC global zone Solaris 11.2 OSの初期設定画⾯面へ
  30. 30. Solaris Zones 作成の基本操作 もっと楽に!ー  プロファイル・テンプレートを作成 •  sysconfig  コマンドにてSolarisの構成プロファイルを作成可能   – #  sysconfig  create-­‐profile  –o  /usr/tmp/sc_profile.xml <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="sysconfig"> <service version="1" type="service" name="system/config-user"> <instance enabled="true" name="default"> <property_group type="application" name="root_account"> <propval type="astring" name="login" value="root"/> <propval type="astring" name="password" value="$5$9Ksg9h"/> <propval type="astring" name="type" value="role"/> </property_group> <property_group type="application" name="user_account"> <propval type="astring" name="login" value="kazus"/> <propval type="astring" name="password" value="$5$UZP0F6"/> <propval type="astring" name="type" value="normal"/> <propval type="astring" name="description" value="kazus"/> <propval type="count" name="gid" value="10"/> <propval type="astring" name="shell" 設定は、xml  形式でファイルに出⼒力力される ホスト名、ネットワーク設定などの   初期設定項⽬目をプロファイル化することが可能に
  31. 31. • プロファイルを利利⽤用した例例   – システムの構成   •  #  sysconfig  configure  -­‐c  /usr/tmp/sc.xml     –   ゾーンの  OS  を⾃自動構成   •  #  zoneadm    -­‐z  testzone  install  -­‐c  /usr/tmp/sc.xml  -­‐d  /userpool/zones/zone01/root/  -­‐u   – Automated  Installer  での利利⽤用   • 構成に必要な情報の設定を⾃自動化   – ホスト名、ネットワーク設定、ロケールなど   – ゾーン作成に利利⽤用すると最⼩小の⼿手数でゾーンを準備可能   Solaris Zones 作成の基本操作 もっと楽に!ー  プロファイル・テンプレートを作成
  32. 32. Solaris Zones 作成の基本操作 ここからが始まりです •  【第⼀一回  ゼロからはじめる  Oracle Solaris 11】 – 始めなければ何も始まらない!まずはインストールから始めよう   – 知るべきは  pkg(1) コマンドのみ!  〜~Image Packaging System (IPS) が管理理 者にもたらすものとは〜~   •  SlideShare http://www.slideshare.net/SolarisJP/ 32
  33. 33. Solaris Native Zones を動かすことができたら やってみよー  その 1 •  zoneadm のマニュアルを読む •  Kernel Zones に挑戦してみる – Type2 HyperVisor に似た仕組みで実装される新しい Solaris Zones •  リソース管理理を設定してみる – CPU, メモリのリソース管理理 •  共有ストレージに配置する ZOSS (Zones on Shared Storage) – iSCSI, FC などに Zones を配置 •  統合アーカイブ機能によるバックアップ/リストア/クローン 33
  34. 34. Solaris Native Zones を動かすことができたら やってみよー  その  2 •  可⽤用性の適⽤用 – Oracle Solaris Cluster による Zones Cluster 機能 •  新しい仮想スイッチ機能 EVS (Elastic Virtual Switch) との連携 – ホストを跨いだ仮想スイッチ機能と – Solaris Zones のマイグレーション •  ⾊色々アプリケーションを動かしてみる •  とにかく何でもやってみる •  あっ、Solaris Zones はいくら作っても無償です 34
  35. 35. おすすめ仮想化環境 お好きなほうを •  VMware    – Kernel Zones を利利⽤用可能 – VMware Cmpatibility Guide: OS Release Name: Solaris 11.2 – KB Articles を確認 •  2040498 VMware KB: Mouse does not function on a Solaris 11 virtual machine (2040498) – ホストとゲスト間のマウス移動をシームレスに⾏行行うための設定 •  VirtualBox – Kernel Zones は利利⽤用不不可 – Solaris をサポートしているので楽 35
  36. 36. 参考情報 •  Solaris Zones: Operating System Support for Consolidating Commercial Workloads – Daniel Price and Andrew Tucker – Sun Microsystems, Inc. – https://www.usenix.org/legacy/event/lisa04/tech/full_papers/price/price.pdf •  Oracle Solaris 11.2 Information Library (英語) – http://docs.oracle.com/cd/E36784_01/index.html •  Oracle Solaris 11.2 ⽇日本語マニュアル – http://docs.oracle.com/cd/E56342_01/index.html 36
  37. 37. 参考情報 •  Oracle Solarisハンズオン・ラボ     http://www.oracle.com/technetwork/jp/systems/hands-on-labs/solaris- labs-1904205-ja.html •  第4回コンテナ型仮想化勉強会@東京  Oracle  Solaris  のコンテナ技 術「Solaris  Zones」 h/p://www.slideshare.net/satokaz/4-­‐20140906-­‐solariszones   37

×