Oracle Solaris ゾーンクイックリファレンス 2013 年 7 月第 1.0 版富士通株式会社
Oracle Solaris ゾーンクイックリファレンス 本資料について 目的 本リファレンスはゾーンの作成時 または運用時において主に使われるコマンド オプションについて記載しています 詳細については 以下の Oracle 社ドキュメントを参照してください Oracle Solaris 11.1 ( 日本語 ) http://docs.oracle.com/cd/e37932_01/pdf/e37314.pdf 1M: システム管理コマンド Oracle Solaris 10 1/13 ( 日本語 ) http://docs.oracle.com/cd/e26505_01/pdf/816-5166.pdf 1M:System Administration Commands 留意事項 本リファレンスは Oracle Solaris 11.1 および Oracle Solaris 10 1/13 に対応しています Oracle Solaris のバージョンが異なる場合 サポートしているオプションが異なる場合があります 使用条件 著作権 商標権 その他の知的財産権についてコンテンツ ( 文書 画像 音声等 ) は 著作権 商標権 その他の知的財産権で保護されています 本コンテンツは 個人的に使用する範囲でプリントアウトまたはダウンロードできます ただし これ以外の利用 ( ご自分のページへの再利用や他のサーバへのアップロード等 ) については 当社または権利者の許諾が必要となります 保証の制限本コンテンツについて 当社は その正確性 商品性 ご利用目的への適合性等に関して保証するものではなく そのご利用により生じた損害について 当社は法律上のいかなる責任も負いかねます 本コンテンツは 予告なく変更 廃止されることがあります 商標 UNIX は 米国およびその他の国におけるオープン グループの登録商標です SPARC Enterprise SPARC64 SPARC64 ロゴ およびすべての SPARC 商標は 米国 SPARC International, Inc. のライセンスを受けて使用している 同社の米国およびその他の国における商標または登録商標です Oracle と Java は Oracle Corporation およびその子会社 関連会社の米国およびその他の国における登録商標です その他各種製品名は 各社の製品名称 商標または登録商標です 版数初版 更新日付 2013 年 7 月 更新内容新規作成 2 Copyright 2013 FUJITSU LIMITED
Oracle Solaris ゾーンクイックリファレンス 作成日 2013 年 7 月 Oracle Solaris ゾーンクイックリファレンス目次 1. zlogin ゾーンへのログイン 2. zoneadm ゾーンの管理 3. zonecfg ゾーン構成の設定 4. zonestat 起動中ゾーンの統計報告 5. zonep2vchk ゾーンへ移行のチェック 6. poolcfg リソースプール構成ファイルの作成 変更 7. pooladm リソースプール機能の起動 停止 8. poolstat リソースプール機能の監視 3 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) * 本リファレンスに記載のゾーン名 (my-zone) は参考例です 1. zlogin zlogin ゾーンにログインする 形式 zlogin [ オプション1] [ オプション2] [ オプション3] < ゾーン名 > オプション1 -C ゾーンへコンソール接続する -E エスケープ文字 (~: チルダ ) を使用したログアウト機能を無効にする オプション2 -e < エスケープ文字 > 別のエスケープ文字を指定する ( デフォルト形式は ~ ) オプション3 -l < ユーザ名 > 指定したユーザ名でログインする ( デフォルトのユーザ名は root ) zlogin my-zone zlogin -C my-zone zlogin -E my-zone zlogin -C -e @ my-zone zlogin -l user01 my-zone zlogin ゾーンでのコマンドを実行する ( 非対話形式 ) 形式 zlogin [ オプション ] < ゾーン名 > [' コマンド '] オプション -l < ユーザ名 > 別のユーザ名を指定してログインする コマンド /usr/sbin/shutdown ゾーン内でshutdownを実行する 一例 /usr/sbin/init ゾーン内でinitを実行する ls ゾーン内でlsを実行する ps ゾーン内でpsを実行する who ゾーン内でwhoを実行する zlogin my-zone '/usr/sbin/shutdown -y -g0 -i0' ゾーンを停止する zlogin my-zone '/usr/sbin/init 6' ゾーンを再起動する zlogin -l user01 my-zone 'ls -l' ゾーン内のディレクトリを一覧表示する zlogin my-zone 'ps -ef' ゾーン内で実行中のプロセスの状態を表示する zlogin my-zone 'who' ゾーンにログインしているユーザを表示する 4 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) * 本リファレンスに記載のゾーン名 (my-zone) は参考例です 2. zoneadm zoneadm ゾーンの管理 形式 zoneadm <-z < ゾーン名 >> < サブコマンド > [ サブコマンドオプション ] zoneadm help [ サブコマンド ] オプション -z < ゾーン名 > ゾーン名を指定する zoneadm -z my-zone boot zoneadm help boot < サブコマンド > boot ゾーンを起動する 形式 zoneadm -z < ゾーン名 > boot [ オプション ] [-- bootオプション ] オプション (*1) -w 一時的に 読み取り専用ゾーンを書き込み可能なゾーンとしてブートする bootオプション -s シングルユーザモードで起動する -m <SMFオプション > SMFのブート動作を制御する SMF debug svc.startdメッセージを表示する オプション quiet 起動時にエラーメッセージを表示する ( コンソール接続時 ) verbose 起動時に詳細メッセージを表示する ( コンソール接続時 ) milestone=< マイルストーン > マイルストーンを定義する マイル none すべてのサービスを無効にして起動する ストーン single-user シングルユーザモードと同じサービスを有効にして起動する multi-user single-userに加えてネットワーク関連のサービスを有効にして起動する multi-user-server multi-userに加えて svc:/milestone/multi-user-server:default サービスを有効にして起動する all オプションなしでbootした時と同じサービスを起動する zoneadm -z my-zone boot zoneadm -z my-zone boot -w zoneadm -z my-zone boot -- -s zoneadm -z my-zone boot -- -m verbose zoneadm -z my-zone boot -- -m milestone=none *1 Oracle Solaris 11でサポート shutdown (*1) ゾーンを安全に停止する (/usr/sbin/init 0 の実行と同等 ) 形式 zoneadm -z < ゾーン名 > shutdown [ オプション ] [-- bootオプション ] オプション -r ゾーンをリブートします bootオプション -s シングルユーザモードで起動する -m <SMFオプション > SMFのブート動作を制御する (*2) zoneadm -z my-zone shutdown zoneadm -z my-zone shutdown -r *1 Oracle Solaris 11でサポート *2 SMFオプションはサブコマンド boot の項を参照 halt ゾーンを強制停止する (shutdown スクリプトは実行されない ) 形式 zoneadm -z < ゾーン名 > halt zoneadm -z my-zone halt reboot ゾーンを再起動する (halt boot シーケンスと同等 ) 形式 zoneadm -z < ゾーン名 > reboot [ オプション ] [-- bootオプション ] オプション (*1) -w 一時的に 読み取り専用ゾーンを書き込み可能なゾーンとしてブートする bootオプション -s シングルユーザモードで起動する -m <SMFオプション > SMFのブート動作を制御する (*2) zoneadm -z my-zone reboot *1 Oracle Solaris 11でサポート *2 SMFオプションはサブコマンド boot の項を参照 5 Copyright 2013 FUJITSU LIMITED
install ゾーンをインストールする 形式 zoneadm -z < ゾーン名 > install [ オプション ] オプション -a < アーカイブ > (*1) インストールに使用する既存システムのアーカイブの場所を指定する -c < プロファイル名 > (*2) インストール後に適用するプロファイル (.xml 拡張子を持つ ) を指定する ( プロファイルはzone 上で "sysconfig create-profile -o xmlファイル名 " で作成 ) -d <path> (*1) global zoneまたはnon-global zoneの /rootのパス -p (*3) システム ID を維持したまま ( 移行元サーバの情報を持ったまま ) インストールする -u (*3) ゾーンに対してシステム再構成 (sysconfig configure) を実行する zoneadm -z my-zone install zoneadm -z my-zone install -u -d /zone-path/root zoneadm -z my-zone install -p -a /export/tmp/solaris-archive.flar *1 -a と -d オプションは排他 *2 Oracle Solaris 11でサポート *3 -u と -p オプションは排他 また -a または -d オプション使用時 -p または -u のどちらかのオプションが必要 uninstall ゾーンをアンインストールする (zonepath 配下のファイルをすべて削除 ) 形式 zoneadm -z < ゾーン名 > uninstall [ オプション ] オプション -F アンインストールを強制実行する zoneadm -z my-zone uninstall list 実行中のすべてのゾーンの一覧を表示する 形式 zoneadm [-z ゾーン名 ] list [listオプション] listオプション -v 稼動中のゾーンを一覧表示する -c 設定済みのすべてのゾーンを表示する -i インストール済みのすべてのゾーンを表示する -p UUID( ゾーンの一意識別子 ) を表示する zoneadm list zoneadm list -vc zoneadm list -i zoneadm list -p move ゾーンパス ( ゾーンのインストール先 ) を変更する 形式 zoneadm -z < ゾーン名 > move < 新ゾーンパス名 > zoneadm -z my-zone move /export/newpath/my-zone detach ゾーンをシステムから切り離す 形式 zoneadm -z < ゾーン名 > detach [ オプション ] オプション -n zoneを起動したまま 別サーバにzoneをattachできるか検証するためのマニフェストを生成する -F(*1) 強制的にゾーンを切り離す zoneadm -z my-zone detach zoneadm -z my-zone detach -n > /export/zones/manifest.txt マニフェストをファイルに出力 *1 Oracle Solaris 11でサポート attach システムから切り離されたゾーンをシステムに組み込む 形式 zoneadm -z < ゾーン名 > attach [ オプション ] オプション -n < ファイルパス > zoneを起動したまま 別サーバで作成したマニフェストをattachできるか検証する -F 強制的にzoneを組み込む zoneadm -z my-zone attach zoneadm -z my-zone attach -n /export/zones/manifest.txt マニフェストを読み取り検証する 6 Copyright 2013 FUJITSU LIMITED
clone ゾーンの複製 形式 zoneadm -z < ゾーン名 > clone < 複製元ゾーン名 > zoneadm -z my-zone2 clone my-zone verify 形式 ゾーンの構成が正しいかを検査する zoneadm -z < ゾーン名 > verify zoneadm -z my-zone verify mark incomplete インストールされているゾーンを使用不可にする形式 zoneadm [ オプション ] -z < ゾーン名 > mark incomplete オプション -R 代替ブート環境代替ブート環境のゾーンを使用不可にする zoneadm -z my-zone mark incomplete 7 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) * 本リファレンスに記載のゾーン名 (my-zone) は参考例です 3. zonecfg zonecfg ゾーン構成の設定 形式 zonecfg -z < ゾーン名 > [ サブコマンド ] 複数のサブコマンドを併記する場合 ' ( シングルクォーテーション ) で囲み コマンドとコマンドの間は ; ( セミコロン ) で区切る サブコマンドを指定しない場合 対話形式での入力になる zonecfg -z < ゾーン名 > -f < コマンドファイル名 > zonecfg help [ サブコマンド ] オプション -z < ゾーン名 > ゾーン名を指定する -f < コマンドファイル名 > コマンドファイルからコマンドを読み取り実行する zonecfg -z my-zone zonecfg -z my-zone -f /export/export.txt zonecfg help < サブコマンド > add 指定したリソースタイプを構成に追加する形式 zonecfg -z < ゾーン名 > add < リソースタイプ > zonecfg -z my-zone 'add net ; set address=192.168.14.100/24 ; set physical=net0 ; end' zonecfg:my-zone> add net zonecfg:my-zone:net> set address=192.168.14.100/24 zonecfg:my-zone:net> set physical=net0 zonecfg:my-zone:net> end create ゾーンを構成するための設定情報を読み込む 形式 zonecfg -z < ゾーン名 > create [ オプション ] オプション なし デフォルトの初期設定情報を読み込む -F 既存の設定情報を上書きする -a < パス > ゾーン組込み (attach) 時にゾーンパスを指定して 設定情報を読み込む -b 初期設定情報を読み込まず構成を開始する -t < ゾーン名 > 既存の設定情報を読み込む zonecfg -z my-zone 'create ; set zonepath=/export/zones/my-zone' zonecfg -z my-zone create -a /export/zones/my-zone zonecfg:my-zone> create zonecfg:my-zone> create -t zone01 delete ゾーンの構成情報を削除する 形式 zonecfg -z < ゾーン名 > delete [ オプション ] オプション -F 強制的にゾーンの構成情報を削除する zonecfg -z my-zone delete zonecfg:my-zone> delete info ゾーン設定情報を確認する 形式 zonecfg -z < ゾーン名 > info [ リソースタイプ [ プロパティ名 = プロパティ値 ] ] zonecfg -z my-zone info zonecfg -z my-zone info net zonecfg -z my-zone info net physical=net0 zonecfg:my-zone> info zonecfg:my-zone> info net zonecfg:my-zone> info net physical=net0 8 Copyright 2013 FUJITSU LIMITED
set リソースタイプを設定する 形式 zonecfg -z < ゾーン名 > set < プロパティ名 = プロパティ値 > zonecfg -z my-zone set cpu-shares=1 zonecfg:my-zone> set cpu-shares=1 remove 指定したリソースタイプを削除する 形式 zonecfg -z < ゾーン名 > remove < リソースタイプ > [ プロパティ名 = プロパティ値 ] プロパティを指定すると プロパティに合致する設定のみが削除される プロパティを指定しないと リソースタイプに合致するすべての設定が削除される zonecfg -z my-zone remove net zonecfg -z my-zone remove net address=192.168.11.100/24 zonecfg:my-zone> remove net zonecfg:my-zone> remove net address=192.168.11.100/24 export ゾーン設定情報をコマンド実行形式で出力する 形式 zonecfg -z < ゾーン名 > export [ オプション ] オプション -f < 出力ファイル > 出力ファイルに設定情報をコマンド実行形式で出力する zonecfg -z my-zone export -f /export/export.txt zonecfg:my-zone> export -f /export/export.txt clear プロパティ値を消去する 形式 zonecfg -z < ゾーン名 > clear < プロパティ名 > zonecfg -z my-zone clear bootargs zonecfg:my-zone> clear bootargs select リソースタイプの設定を変更する 形式 zonecfg -z < ゾーン名 > select < リソースタイプ > [ プロパティ名 = プロパティ値 ] zonecfg -z my-zone 'select net address=192.168.11.100/24 ; set address=192.168.11.200/24 ; end' zonecfg:my-zone> select net address=192.168.11.100/24 zonecfg:my-zone:net> set address=192.168.11.200/24 zonecfg:my-zone:net> end verify 現在の構成が正しいかを確認する ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > verify zonecfg:my-zone> verify commit ゾーンの設定を確定する ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > commit zonecfg:my-zone> commit revert 構成を最後に確定されたときの状態に戻す ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > revert [ オプション ] オプション -F 強制実行する zonecfg:my-zone> revert 9 Copyright 2013 FUJITSU LIMITED
cancel リソースの設定を中止する ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > cancel zonecfg:my-zone:net> cancel end リソースの指定を終了する ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > end zonecfg:my-zone:net> end exit zonecfgの対話形式の入力を終了する ( 対話形式時に実行 ) 形式 zonecfg -z < ゾーン名 > exit [ オプション ] オプション -F 対話形式の入力を強制的に終了する zonecfg:my-zone> exit < リソースタイプ > zonename ( 必須 ) ゾーン名を指定する zonecfg -z my-zone set zonename=zone02 # zonecfg -z create Use 'create' to begin configuring a new zone. zonecfg:create> set zonename=zone02 zonepath ( 必須 ) ゾーンのファイルシステムパスを指定する zonecfg -z my-zone set zonepath=/export/zones/my-zone zonecfg:my-zone>set zonepath=/export/zones/my-zone autoboot global zoneの起動時にゾーンを自動的に起動するかを指定する 値 false 自働的にゾーンを起動しない ( デフォルト ) true 自働的にゾーンを起動する zonecfg -z my-zone set autoboot=true zonecfg:my-zone> set autoboot=true brand ゾーンにインストールするSolarisのバージョンを指定する 値 native Solaris 10ゾーンを動作させる ( デフォルト ) (Solaris 10) solaris9 Solaris 9ゾーンを動作させる solaris8 Solaris 8ゾーンを動作させる 値 solaris Solaris 11ゾーンを動作させる ( デフォルト ) (Solaris 11) solaris10 Solaris 10ゾーンを動作させる zonecfg -z my-zone set brand=solaris10 zonecfg:my-zone> set brand=solaris10 bootargs ゾーン起動時に渡されるオプションを指定する zonecfg -z my-zone set bootargs="-s" zonecfg:my-zone> set bootargs="-s" *1 指定できるオプションは zoneadm boot の項を参照 10 Copyright 2013 FUJITSU LIMITED
file-mac-profile (*1) 読み取り専用ゾーンを設定する 値 none 読み書き可能なゾーンに設定する strict 読み取り専用ゾーンに設定する fixed-configuration システム構成コンポーネントを除いた /var/* ディレクトリへの更新を許可する flexible-configuration /etc/* ディレクトリ内のファイルの変更 ルートのホームディレクトリの変更 および /var/* ディレクトリへの更新を許可する zonecfg -z my-zone set file-mac-profile=none zonecfg:my-zone> set file-mac-profile=none *1 Oracle Solaris 11でサポート pool 起動時にゾーンが利用するリソースプール名を指定する zonecfg -z my-zone set pool="pool_1" zonecfg:my-zone> set pool="pool_1" limitpriv ゾーンに特権を付与する zonecfg -z my-zone set limitpriv="default,sys_time" zonecfg:my-zone> set limitpriv="default,sys_time" scheduling-class ゾーンのスケジューリングクラスを指定する 値 FSS FSS ( 公平配分スケジューラ ) を設定する TS TS ( タイムシェアリング ) を指定する zonecfg -z my-zone set scheduling-class=fss zonecfg:my-zone> set scheduling-class=fss ip-type ゾーンがglobal zoneとネットワークインターフェースを共有するか否かを指定する 値 shared (*1) global zoneとネットワークインターフェースを共有する exclusive (*2) global zoneとは別の 独立したネットワークインターフェースを持つ zonecfg -z my-zone set ip-type=exclusive zonecfg:my-zone> set ip-type=exclusive *1 Solaris 10のデフォルト値 *2 Solaris 11のデフォルト値 hostid ゾーンにホストIDを指定する zonecfg -z my-zone set hostid=12345abc zonecfg:my-zone> set hostid=12345abc cpu-shares 公平配分スケジューラ (FSS) のCPU 配分数を設定する zonecfg -z my-zone set cpu-shares=1 zonecfg:my-zone> set cpu-shares=1 11 Copyright 2013 FUJITSU LIMITED
anet (*1) ゾーン起動時にVNICを自動的に作成する プロパティ linkname VNICの名前を指定する ( デフォルトはnetX ) lower-link VNICの元となる接続先 (global zoneの物理 NIC 等 ) を指定する mac-address VNICのMACアドレスを設定する 設定値 random MACアドレスをランダムに割り当てる 設定値 factory ファクトリMACアドレスを割り当てる 設定値 auto ファクトリMACアドレスが割り当てられない 場合 ランダムにMACアドレスを割り当てる link-protection 仮想ネットワークを保護するタイプを設定する 設定値 mac-nospoof MACアドレスのなりすましからの保護 設定値 ip-nospoof IPアドレスのなりすましからの保護 priority VNICの相対的な優先順位を指定する vlan-id VNICをタグVLANとして使用するために ID( タグ ) を指定する zonecfg -z my-zone 'set ip-type=exclusive ; add anet ; set linkname=net0 ; set lower-link=auto ; set mac-address=random ; set link-protection=mac-nospoof ; end' zonecfg:my-zone> set ip-type=exclusive zonecfg:my-zone> add anet zonecfg:my-zone:anet> set linkname=net0 zonecfg:my-zone:anet> set lower-link=auto zonecfg:my-zone:anet> set mac-address=random zonecfg:my-zone:anet> set link-protection=mac-nospoof zonecfg:my-zone:anet> end *1 Oracle Solaris 11でサポート net ネットワークインターフェースを設定する プロパティ address IPアドレスを設定する physical ネットワークインターフェース ( 物理 NICまたはVNIC) を設定する defrouter デフォルトゲートウェイを設定する zonecfg -z my-zone 'add net ; set address=192.168.11.100/24 ; set physical=net0 ; set defrouter=192.168.11.1 ; end' zonecfg:my-zone> add net zonecfg:my-zone:net> set address=192.168.11.100/24 zonecfg:my-zone:net> set physical=net0 zonecfg:my-zone:net> set defrouter=192.168.11.1 capped-memory メモリー制限を設定する プロパティ physical 物理メモリの上限を設定する swap スワップメモリの上限を設定する locked ロックメモリの上限を設定する zonecfg -z my-zone 'add capped-memory ; set physical=512m ; set swap=1024m ; set locked=50m ; end' zonecfg:my-zone> add capped-memory zonecfg:my-zone:capped-memory> set physical=512m zonecfg:my-zone:capped-memory> set swap=1024m zonecfg:my-zone:capped-memory> set locked=50m zonecfg:my-zone:capped-memory> end dedicated-cpu ゾーン専用のCPUとして指定したCPU 数を割り当てる プロパティ ncpus CPU 数を設定する importance プールの重要性を定義する zonecfg -z my-zone 'add dedicated-cpu ; set ncpus=1 ; set importance=10 ; end ' zonecfg:my-zone> add dedicated-cpu zonecfg:my-zone:dedicated-cpu> set ncpus=1 zonecfg:my-zone:dedicated-cpu> set importance=10 zonecfg:my-zone:dedicated-cpu> end 12 Copyright 2013 FUJITSU LIMITED
attr コメントを設定する プロパティ name コメント名を指定する type Valueに設定する型を指定する ( 文字列 (string) か数字 (int, uint, boolean)) value コメントの内容を設定する zonecfg -z my-zone 'add attr ; set name=comment ; set type=string ; set value="this is Web Server" ; end' zonecfg:my-zone> add attr zonecfg:my-zone:attr> set name=comment zonecfg:my-zone:attr> set type=string zonecfg:my-zone:attr> set value="this is Web Server" zonecfg:my-zone:attr> end dataset ZFSデータセットを追加する プロパティ name ZFSデータセット名を指定する alias(*1) ZFSデータセットに別名をつける zonecfg -z my-zone 'add dataset ; set name=tank/sales ; set alias=data ; end ;' zonecfg:my-zone> add dataset zonecfg:my-zone:dataset> set name=tank/sales zonecfg:my-zone:dataset> set alias=data zonecfg:my-zone:dataset> end *1 Oracle Solaris 11でサポート device デバイスをzoneに追加する プロパティ match 追加するデバイス名を指定する zonecfg -z my-zone 'add device ; set match=/dev/rdsk/c1t0d0s0 ; end' zonecfg:my-zone> add device zonecfg:my-zone:device> set match=/dev/rdsk/c1t0d0s0 zonecfg:my-zone:device> end fs ファイルシステムのマウント方法と場所を設定する プロパティ dir ゾーン上のマウントポイントとなるディレクトリを指定する special global zoneにある マウントしたいブロック型デバイスまたはディレクトリを指定する raw マウント前にfsckを実行するrawデバイスを指定する type ファイルシステムのタイプを指定する options マウントオプションを指定する zonecfg -z my-zone 'add fs ; set dir=/mnt ; set special=/dev/dsk/c0t0d2s0 ; set raw=/dev/rdsk/c0t0d2s0 ; set type=lofs ; add options logging ; end' zonecfg:my-zone> add fs zonecfg:my-zone:fs> set dir=/mnt zonecfg:my-zone:fs> set special=/dev/dsk/c0t0d2s0 zonecfg:my-zone:fs> set raw=/dev/rdsk/c0t0d2s0 zonecfg:my-zone:fs> set type=lofs zonecfg:my-zone:fs> add options logging zonecfg:my-zone:fs> end admin(*1) ユーザー名と特定のゾーンに対するそのユーザーの承認を定義する プロパティ user 特権を委譲する一般ユーザ名を指定する auths ユーザに特権を委譲する (login manage copyfrom) zonecfg -z my-zone ' add admin ; set user=zadmin ; set auths=login,manage ; end' zonecfg:my-zone> add admin zonecfg:my-zone:admin> set user=zadmin zonecfg:my-zone:admin> set auths=login,manage zonecfg:my-zone:admin> end *1 Oracle Solaris 11でサポート 13 Copyright 2013 FUJITSU LIMITED
rctl リソースを制御するプロパティ name リソース制御名を指定する value リソース制御値を設定する zonecfg -z my-zone 'add rctl ; set name=zone.cpu-cap ; add value (priv=privileged,limit=100,action=deny) ; end' zonecfg -z my-zone 'add rctl ; set name=zone.max-lwps ; add value (priv=privileged,limit=100,action=deny) ; end' zonecfg -z my-zone 'add rctl ; set name=zone.max-msg-ids ; add value (priv=privileged,limit=512,action=deny) ; end' zonecfg -z my-zone 'add rctl ; set name=zone.max-shm-ids ; add value (priv=privileged,limit=256,action=deny) ; end' zonecfg -z my-zone 'add rctl ; set name=zone.max-shm-memory ; add value (priv=privileged,limit=1073741824,action=deny) ; end' zonecfg:my-zone>add rctl zonecfg:my-zone:rctl>set name=zone.cpu-cap zonecfg:my-zone:rctl>add value (priv=privileged,limit=100,action=deny) zonecfg:my-zone:rctl>end zonecfg:my-zone>add rctl zonecfg:my-zone:rctl>set name=zone.max-lwps zonecfg:my-zone:rctl>add value (priv=privileged,limit=100,action=deny) zonecfg:my-zone:rctl>end zonecfg:my-zone>add rctl zonecfg:my-zone:rctl>set name=zone.max-msg-ids zonecfg:my-zone:rctl>add value (priv=privileged,limit=512,action=deny) zonecfg:my-zone:rctl>end zonecfg:my-zone>add rctl zonecfg:my-zone:rctl> set name=zone.max-shm-ids zonecfg:my-zone:rctl>add value (priv=privileged,limit=256,action=deny) zonecfg:my-zone:rctl>end zonecfg:my-zone>add rctl zonecfg:my-zone:rctl>set name=zone.max-shm-memory zonecfg:my-zone:rctl>add value (priv=privileged,limit=1073741824,action=deny) zonecfg:my-zone:rctl>end max-lwps ゾーンが同時に使用できるLWP (Light Weight Process) の最大数を設定する zonecfg -z my-zone set max-lwps=100 zonecfg:my-zone>set max-lwps=100 max-msg-ids ゾーンに許容されるメッセージキュー IDの最大数を設定する zonecfg -z my-zone set max-msg-ids=512 zonecfg:my-zone>set max-msg-ids=512 max-shm-ids ゾーンに許容される共有メモリー IDの最大数を設定する zonecfg -z my-zone set max-shm-ids=256 zonecfg:my-zone>set max-shm-ids=256 max-shm-memory ゾーンに許容される共有メモリーの最大容量を設定する zonecfg -z my-zone set max-shm-memory=1g zonecfg:my-zone>set max-shm-memory=1g 14 Copyright 2013 FUJITSU LIMITED
max-sem-ids このゾーンに許容されるセマフォIDの最大数を設定する zonecfg -z my-zone set max-sem-ids=256 zonecfg:my-zone>set max-sem-ids=256 15 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) * 本リファレンスに記載の zone 名 (my-zone) は参考例です 4. zonestat(*1) zonestat 起動しているゾーンの統計情報を出力する 形式 zonestat [ オプション ] 間隔 [ レポート回数レポート期間 ] オプション -r < リソース > 指定されたリソースの統計情報を出力する -n < リソース詳細 > 各リソースうち表示したい情報のみを指定して表示する -p 結果をコロン (:) で区切った形式で出力する -P < 表示行 > (*2) -pオプションの表示結果のうち 指定した行を出力する -R < レポート形式 > 出力結果から リソースの最大使用量や合計使用率等を出力する -z < ゾーン名 > 統計情報を表示するゾーンを指定する リソース all すべてのリソースタイプの情報を出力する summary 使用率のサマリー ( デフォルト ) を出力する memory 物理メモリ 仮想メモリ lockedメモリの情報を出力する psets プロセッサごとの情報を出力する network ネットワークの情報を出力する リソース mem_default memoryのうち physical-memoryとlocked-memoryを出力する 詳細 vm_default memoryのうち virtual-memoryを出力する プロセッサセット名 指定されたプロセッサセットの情報を出力する データリンク名 指定されたネットワークリソースを出力する 表示行 header, footer レポートの上下に ヘッダとフッタを出力する total 各リソースの合計使用率を出力する system システム ( カーネルなど ) のリソース使用率を出力する zones ゾーンごとのリソース使用率を出力する レポート total 実行中の平均利用率を出力する 形式 high リソースおよびゾーンの最大使用量を出力する zonestat 1 5 zonestat -z global -r physical-memory 2 zonestat -p -P zones -r psets 5 1 zonestat -r default-pset 1 1m zonestat -q -R total,high 10s 24h 1h zonestat -r network -n net0 5 5 zonestat -n vm_default 5 2 zonestat -n pset_default 5 5 zonestat -z my-zone 5 *1 Oracle Solaris 11でサポート *2 -pオプションが必要 16 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) 5. zonep2vchk zonep2vchk 物理環境をnon-global zoneに移動できるかどうか 確認する 形式 zonep2vchk [ オプション ] zonep2vchk -V zonep2vchk [-T < リリースオプション >] -c オプション -b 移行元サーバが使用しているOracle Solarisの機能について p2v 移行による影響がないか確認する -r < 実行時間 (h m s)> 指定した時間内に実行されたプロセス等がzoneで実行できるかどうか 解析する -x コマンド実行がキャンセル (Ctl-c) されるまで -rと同様の実行時検査を実施する -s < パス > 指定されたファイルまたはディレクトリに対して zoneで使用できないシステムコールやライブラリコールを使用していないかを確認する -S < ファイル > ファイルに記載されたパスリスト (1 行につき1つ ) に対して zoneで使用できないシステムコールやライブラリコールを使用していないかを確認する -P 結果をコロン (:) で区切った形式で出力する -T < リリース > 移行先システムのOSバージョン (S10, S11) を指定する -V コマンドのバージョンを出力する -c 移行先システムでゾーンを作成する際に使用する定義ファイルを出力する zonep2vchk -bp zonep2vchk -s /opt/myapplication,/usr/local zonep2vchk -r 1h zonep2vchk -T S11 -c 17 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) 6. poolcfg poolcfg リソースプール構成ファイルを作成または変更する 形式 poolcfg < オプション1> [ オプション2 [ ファイル名 ]] ファイル名を指定しない場合 /etc/pooladm.conf を使用 オプション1 -c '< サブコマンド >' サブコマンドを実行してリソースプールを設定する -f < コマンドファイル > コマンドファイル記載されたサブコマンドを実行する -h ヘルプを表示する オプション2 -d 設定ファイルは変更せずに 実行環境の設定のみを変更する poolcfg -f poolcfg.txt poolcfg -h < サブコマンド > info リソースプールの構成情報を表示する 形式 poolcfg -c 'info [ エンティティ ]' [-d [ ファイル名 ]] エンティティ system < 構成名 > 指定されたリソースプール構成の情報を表示する pool < リソースプール名 > 指定されたリソースプールの構成情報を表示する pset < プロセッサセット名 > 指定されたプロセッサセットの構成情報を表示する cpu <CPU ID> 指定されたCPU 番号の構成情報を表示する poolcfg -c 'info system default' poolcfg -c 'info system default' /etc/pooladm.conf_01 poolcfg -c 'info pool pool_default' poolcfg -c 'info pool pool_default' /etc/pooladm.conf_01 poolcfg -c 'info pset pset_default' poolcfg -c 'info pset pset_default' /etc/pooladm.conf_01 poolcfg -c 'info cpu 1' poolcfg -c 'info cpu 1' /etc/pooladm.conf_01 create 指定されたエンティティを作成する 形式 poolcfg -c 'create < エンティティ > [( プロパティ定義 [; プロパティ定義 ; ] )]' [-d [ ファイル名 ]] エンティティ system < 構成名 > 新しいリソースプール構成を作成する pool < リソースプール名 > リソースプールを作成する 定義 pool.scheduler=" 値 " スケジューラを定義する 設定値 FSS FSS ( 公平配分スケジューラ ) を設定する 設定値 TS TS ( タイムシェアリング ) を指定する pset < プロセッサセット名 > プロセッサセットを作成する 定義 pset.min=" 値 " pset.sizeで設定できるcpuの最小数を設定する pset.max=" 値 " pset.sizeで設定できるcpuの最大数を設定する プロパティ int 64ビット符号付き整数値を設定する uint 64ビット符号なし整数値を設定する string 文字列を設定する poolcfg -c 'create system tester' poolcfg -c 'create system tester' /etc/pooladm.conf_01 poolcfg -c 'create pool pool_1 (string pool.scheduler="fss")' poolcfg -c 'create pool pool_1 (string pool.scheduler="fss")' /etc/pooladm.conf_01 poolcfg -c 'create pset pset_1 (uint pset.min=1;uint pset.max=1)' poolcfg -c 'create pset pset_1 (uint pset.min=1;uint pset.max=1)' /etc/pooladm.conf_01 18 Copyright 2013 FUJITSU LIMITED
destroy 指定されたエンティティを削除する 形式 poolcfg -c 'destroy [ エンティティ ]' [-d [ ファイル名 ]] エンティティ system < 構成名 > 指定されたリソースプール構成情報を削除する pool < リソースプール名 > 指定されたリソースプールを削除する pset < プロセッサセット名 > 指定されたプロセッサセットを削除する poolcfg -c 'destroy pool pool_1' poolcfg -c 'destroy pool pool_1' /etc/pooladm.conf_01 poolcfg -c 'destroy pset pset_1' poolcfg -c 'destroy pset pset_1' /etc/pooladm.conf_01 modify 指定されたエンティティの情報を変更する 形式 poolcfg -c 'modify < エンティティ > [( プロパティ定義 [; プロパティ定義 ; ] )]' [-d [ ファイル名 ]] エンティティ system < 構成名 > 指定されたリソースプール構成情報を変更する system.poold.objectives 設定値 wt-load 資源の使用率に合わせてPool 間で資源を =" 値 " 移動する pool < リソースプール名 > 指定されたリソースプールの情報を変更する 定義 pool.scheduler=" 値 " スケジューラを定義する 設定値 FSS FSS ( 公平配分スケジューラ ) を設定する 設定値 TS TS ( タイムシェアリング ) を指定する pset < プロセッサセット名 > 指定されたプロセッサセットの情報を削除する 定義 pset.min=" 値 " pset.sizeで設定できるcpuの最小数を設定する pset.max=" 値 " pset.sizeで設定できるcpuの最大数を設定する pset.poold.objectives=" 値 " 設定値 locality tight 距離の近いCPUやメモリを使うようにする 設定値 locality none 距離の近さに関係なくリソースを割り当てる (system.poold.objectives="wt-load" の時設定 ) プロパティ int 64ビット符号付き整数値 uint 64ビット符号なし整数値 string 文字列を指定する poolcfg -c 'modify pool pool_1 (string pool.scheduler="ts")' poolcfg -c 'modify pool pool_1 (string pool.scheduler="ts")' /etc/pooladm.conf_01 poolcfg -c 'modify pset pset_1 (uint pset.max=2)' poolcfg -c 'modify pset pset_1 (uint pset.max=2)' /etc/pooladm.conf_01 poolcfg -c 'modify pset pset_1 (string pset.poold.objectives="locality none")' associate リソースプールとプロセッサセットを関連付ける 形式 poolcfg -c 'associate < エンティティ1> (< エンティティ2>)' [-d [ ファイル名 ]] エンティティ1 pool < リソースプール名 > 指定したリソースプールにプロセッサセットを関連付ける エンティティ2 pset < プロセッサセット名 > 指定したプロセッサセットにリソースプールを関連付ける poolcfg -c 'associate pool pool_1 (pset pset_1)' poolcfg -c 'associate pool pool_1 (pset pset_1)' /etc/pooladm.conf_01 transfer プロセッサセット間でCPUリソースを動的に移動する 形式 poolcfg -c 'transfer to < エンティティ1> [(cpu ID)]' [-d [ ファイル名 ]] poolcfg -c 'transfer < 数量 > from < エンティティ2> to < 移動先プロセッサセット名 >' [-d [ ファイル名 ]] エンティティ1 pset < プロセッサセット名 > CPUの移動先のプロセッサセットを指定する エンティティ2 pset < プロセッサセット名 > CPUの移動元のプロセッサセットを指定する poolcfg -c 'transfer to pset pset_1 (cpu 0)' CPU ID 0のCPUを移動する poolcfg -c 'transfer 2 from pset pset_default to pset_1' 2CPUを移動する 19 Copyright 2013 FUJITSU LIMITED
rename エンティティ名を変更する 形式 poolcfg -c 'rename < エンティティ > to < 新しい名前 >' [-d [ ファイル名 ]] エンティティ system < 構成名 > 指定されたリソースプール構成名を変更する pool < リソースプール名 > 指定されたリソースプール名を変更する pset < プロセッサセット名 > 指定されたプロセッサセット名を変更する poolcfg -c 'rename system default to tester' poolcfg -c 'rename system default to tester' /etc/pooladm.conf_01 poolcfg -c 'rename pool pool_1 to pool_2' poolcfg -c 'rename pset pset_1 to pset_2' 20 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) 7. pooladm pooladm リソースプール設定を有効化または無効化する 形式 pooladm [ オプション ] オプション なし 現在実行中のプール構成を表示する -n [ ファイル名 ] 設定したリソースプール構成を検証する ( ファイル名を指定しない場合 /etc/pooladm.conf を使用) -s [ ファイル名 ] 設定したリソースプール構成をファイルに保存する ( ファイル名を指定しない場合 /etc/pooladm.conf を使用) -c [ ファイル名 ] ファイルに設定されたリソースプール構成を反映する ( ファイル名を指定しない場合 /etc/pooladm.conf を使用) -e リソースプールサービス (svc:/system/pools:default) を有効にする -d リソースプールサービス (svc:/system/pools:default) を無効にする -x 実行しているリソースプール構成を削除する pooladm pooladm -c pooladm -c /etc/pooladm.conf_01 pooladm -n pooladm -n -c /etc/pooladm.conf_01 pooladm -s pooladm -s /etc/pooladm.conf_01 pooladm -d pooladm -e pooladm -x 21 Copyright 2013 FUJITSU LIMITED
* < > は必須項目 [ ] は選択項目 ( 省略可能 ) 8. poolstat poolstat プールの統計情報を表示する 形式 poolstat [ オプション ] [ 間隔 [ 回数 ] ] オプション -r < リソースセット > 指定したリソースセットの統計情報を表示する -p '< プール名 [ ]>' 指定したプールの統計情報を表示する ( スペースで区切る ) -o '< 表示項目 [ ]>' 指定した項目の情報を表示する ( スペースで区切る ) -r オプションが必要 リソース all すべてのリソースセットを表示する セット pset プロセッサセットを表示する 表示項目 pool リソースプール名を表示する rset プロセッサセット (pset) 名を表示する size リソースプールに割り当てられたCPU 数 ( スレッド数 ) を表示する used CPU 使用率を表示する load CPU 負荷率を表示する poolstat poolstat -r all -p 'pool_admin pool_default' poolstat -p pool_default poolstat -p 'pool_admin pool_default' poolstat -r all -p 'pool_admin pool_default' poolstat -o pool,rset,size,load -r all 22 Copyright 2013 FUJITSU LIMITED