ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris のシステム管理 (Oracle Solaris ゾーン、Oracle Solaris 10 ゾーン、およびリソース管理) Oracle Solaris 11 Information Library (日本語) |
10. リソース上限デーモンによる物理メモリーの制御 (概要)
読み取り専用ルートゾーンの file-mac-profile プロパティー
共有 IP 非大域ゾーンと排他的 IP 非大域ゾーンのセキュリティーの相違
18. 非大域ゾーンのインストール、停止処理、停止、アンインストール、クローニングについて (概要)
19. 非大域ゾーンのインストール、ブート、停止処理、停止、アンインストール、およびクローニング (手順)
22. ゾーンの移行と zonep2vchk ツールについて
23. Oracle Solaris システムの移行と非大域ゾーンの移行 (タスク)
24. ゾーンがインストールされている Oracle Solaris 11 システムでの自動インストールおよびパッケージ
25. Oracle Solaris ゾーンの管理 (概要)
26. Oracle Solaris ゾーンの管理 (手順)
28. Oracle Solaris ゾーンで発生するさまざまな問題の解決
30. Oracle Solaris 10 システムの評価とアーカイブの作成
31. (省略可能) Oracle Solaris 10 ゾーンへの Oracle Solaris 10 native 非大域ゾーンの移行
このセクションでは、構成できる必須および省略可能なゾーンコンポーネントについて説明します。ゾーン名とゾーンのパスだけが必要です。詳細は、「ゾーン構成データ」を参照してください。
ゾーンの名前とパスを選択する必要があります。ゾーンは、ZFS データセット上に存在する必要があります。ZFS データセットは、ゾーンのインストール時または接続時に自動的に作成されます。ZFS データセットを作成できない場合、ゾーンのインストールや接続は行われません。ゾーンのパスの親ディレクトリは、データセットでもなければならないことに注意してください。
autoboot プロパティーの設定は、大域ゾーンのブート時にゾーンが自動的にブートされるかどうかを決定します。ゾーンサービス svc:/system/zones:default も有効になっている必要があります。
solaris ゾーンでは、file-mac-profile は読み取り専用ルートでゾーンを構成するために使用します。
詳細は、第 27 章不変ゾーンの構成と管理を参照してください。
admin 設定を使用すると、ゾーン管理の承認を設定できます。承認を定義するための推奨の方法は、zonecfg コマンドによる方法です。
ユーザー名を指定します。
ユーザー名に対して承認を指定します。
役割によるアクセス制御 (RBAC) を使用中の場合は、solaris.zone.login/zonename の承認が対話型ログインに必要です。ゾーン内では、パスワード認証が実行されます。
RBAC を使用中の場合、非対話型ログイン、またはパスワード認証の省略のために solaris.zone.manage/ zonename の承認が必要です。
RBAC を使用中の場合、別のゾーンのコピーを作成するサブコマンドは solaris.zone.clonefrom/ source_zone の承認を必要とします。
第 13 章リソースプールの作成と管理 (手順)の説明に従ってシステムでリソースプールを構成した場合は、ゾーンを構成するときに pool プロパティーを使用して、リソースプールの 1 つにゾーンを関連付けることができます。
リソースプールが構成されていない場合でも、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てるよう、dedicated-cpu リソースを使用して指定できます。ゾーンの実行中に使用される一時プールが動的に作成されます。zonecfg によって指定すると、移行時にプールの設定が伝達されます。
注 - pool プロパティーによって設定される持続的プールを使用するゾーン構成と、dedicated-cpu リソースによって構成される一時プールには、互換性がありません。これら 2 つのプロパティーは、どちらか 1 つしか設定できません。
dedicated-cpu リソースは、非大域ゾーンの実行中にシステムのプロセッサの一部をそのゾーン専用に割り当てることを指定します。ゾーンのブート時に、ゾーンの実行中に使用される一時プールが動的に作成されます。
zonecfg で指定すると、移行時にプールの設定が伝達されます。
dedicated-cpu リソースは、ncpus の制限を設定し、必要に応じて importance も設定します。
CPU の数を指定するか、CPU の数の範囲を 2–4 などと指定します。リソースプールの動的な動作を得るために範囲を指定する場合は、次の手順も実行してください。
importance プロパティーを設定します。
poold サービスを有効にします。手順については、「svcadm を使用して動的リソースプールサービスを有効にする方法」を参照してください。
動的な動作を得るために CPU 範囲を使用する場合は、importance プロパティーも設定してください。importance は「省略可能な」プロパティーであり、プールの相対的な重要性を定義します。このプロパティーが必要となるのは、ncpus に範囲を指定した場合で、poold によって管理される動的リソースプールを使用しているときだけです。poold が実行されていない場合、importance は無視されます。poold が実行されている場合、importance が設定されていないと、importance はデフォルト値の 1 になります。詳細は、「 pool.importance プロパティーの制約」を参照してください。
注 - capped-cpu リソースと dedicated-cpu リソースには互換性がありません。cpu-shares リソース制御と dedicated-cpu リソースには互換性がありません。
capped-cpu リソースは、1 つのプロジェクトまたは 1 つのゾーンで消費可能な CPU リソース量に対して絶対的できめの細かい制限を設けます。プロセッサセットと組み合わせて使用すると、CPU キャップはセット内の CPU 使用率を制限します。capped-cpu リソースには、小数点第 2 位までの正の小数である 1 つの ncpus プロパティーがあります。このプロパティーは、CPU のユニット数に対応しています。このリソースには範囲を指定できません。このリソースには小数を指定できます。ncpus を指定する場合、1 の値は 1 つの CPU の 100% を意味します。1.25 の値は 125% を意味します。100% がシステム上の 1 つの CPU の上限となります。
注 - capped-cpu リソースと dedicated-cpu リソースには互換性がありません。
公平配分スケジューラ (FSS) を使用すると、使用可能な CPU リソースのゾーン間での割り当てを、ゾーンの重要性に基づいて制御できます。この重要性は、各ゾーンに割り当てる CPU リソースの「配分」で表します。CPU リソースのゾーン間での割り当てを管理するために FSS を使用していない場合でも、ゾーン内のプロジェクトに配分を設定するために FSS を使用するよう、ゾーンのスケジューリングクラスを設定することができます。
cpu-shares プロパティーを明示的に設定すると、公平配分スケジューラ (FSS) はそのゾーンのスケジューリングクラスとして使用されます。ただし、この場合に望ましい FSS の使用方法は、dispadmin コマンドを使用して、FSS をシステムのデフォルトのスケジューリングクラスに設定する方法です。このようにすると、すべてのゾーンがシステムの CPU リソースの公平配分を受けることができます。ゾーンに対して cpu-shares が設定されていない場合、そのゾーンはシステムのデフォルトのスケジューリングクラスを使用します。ゾーンのスケジューリングクラスは、次の処理によって設定されます。
zonecfg の scheduling-class プロパティーを使ってゾーンのスケジューリングクラスを設定できます。
リソースプール機能を使ってゾーンのスケジューリングクラスを設定できます。ゾーンがプールに関連付けられている場合、そのプールの pool.scheduler プロパティーに有効なスケジューリングクラスが設定されていれば、ゾーンで実行されるプロセスは、デフォルトでそのスケジューリングクラスで実行されます。「リソースプールの紹介」 および 「プールをスケジューリングクラスに対応付ける方法」を参照してください。
cpu-shares リソース制御が設定されている場合で、別の処理を通して FSS がゾーンのスケジューリングクラスとして設定されていないときは、ゾーンのブート時に zoneadmd によってスケジューリングクラスが FSS に設定されます。
ほかの処理を通してスケジューリングクラスが設定されていない場合、ゾーンはシステムのデフォルトのスケジューリングクラスを継承します。
priocntl (priocntl(1) のマニュアルページに記載) を使用すると、デフォルトのスケジューリングクラスの変更やリブートを行うことなく、実行中のプロセスを別のスケジューリングクラスに移動できます。
capped-memory リソースは、physical、swap、および locked メモリーの制限を設定します。各制限は省略可能ですが、少なくとも 1 つは設定する必要があります。capped-memory リソースを使用するには、resource-cap パッケージが大域ゾーン内にインストールされている必要があります。
大域ゾーンから rcapd を使用してゾーンのメモリー上限を設定する場合は、このリソースの値を決定します。capped-memory リソースの physical プロパティーは、ゾーンの max-rss 値として rcapd で使用されます。
capped-memory リソースの swap プロパティーは、zone.max-swap リソース制御を設定するための望ましい方法です。
capped-memory リソースの locked プロパティーは、zone.max-locked-memory リソース制御を設定するための望ましい方法です。
注 - 通常はアプリケーションが多量のメモリーをロックすることはありませんが、ゾーンのアプリケーションによってメモリーがロックされることがわかっている場合は、ロックされるメモリーを設定するとよいでしょう。ゾーンの信頼が問題になる場合は、ロックされるメモリーの上限を、システムの物理メモリーの 10 パーセントまたはゾーンの物理メモリー上限の 10 パーセントに設定することもできます。
詳細は、第 10 章リソース上限デーモンによる物理メモリーの制御 (概要)、第 11 章リソース上限デーモンの管理 (手順)、および 「ゾーンの構成方法」を参照してください。ゾーンに一時的なリソース上限を設定する方法については、「ゾーンに一時的なリソース上限を指定する方法」を参照してください。
ネットワーク接続を提供するために zonecfg ユーティリティーによって構成されるゾーンネットワークインタフェースは、ゾーンのブート時に自動的に設定されてゾーン内に配置されます。
インターネットプロトコル (IP) 層は、ネットワークのパケットの受信と配信を行います。この層には、IP ルーティング、アドレス解決プロトコル (ARP)、IP セキュリティーアーキテクチャー (IPsec)、および IP フィルタが含まれます。
非大域ゾーンに使用できる IP タイプには、共有 IP と排他的 IP の 2 種類があります。排他的 IP がデフォルトの IP タイプです。共有 IP ゾーンは、大域ゾーンとネットワークインタフェースを共有します。大域ゾーン内の構成は、共有 IP ゾーンを使用するために ipadm ユーティリティーによって実行する必要があります。排他的 IP ゾーンには専用のネットワークインタフェースが必要です。anet リソースを使用して排他的 IP ゾーンを構成すると、専用の VNIC が自動的に作成され、そのゾーンに割り当てられます。自動化された anet リソースを使用することによって、大域ゾーン内にデータリンクを作成および構成し、非大域ゾーンにデータリンクを割り当てる必要がなくなります。次のことを行うには、anet リソースを使用します。
大域ゾーンの管理者が、非大域ゾーンに割り当てられたデータリンク用の特定の名前を選択できるようにする
複数のゾーンで同じ名前のデータリンクを使用できるようにする
下位互換性を維持するために、事前構成済みのデータリンクを非大域ゾーンに割り当てることができます。
各タイプの IP 機能については、「共有 IP 非大域ゾーンにおけるネットワーク」および 「排他的 IP 非大域ゾーンにおけるネットワーク」を参照してください。
注 - リンク保護 (『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』の第 20 章「仮想化環境でのリンク保護の使用」に記載) が、ゾーンを実行するシステム上で使用できます。この機能は、大域ゾーン内で構成されます。
データリンクとは、OSI プロトコルスタックのレイヤー 2 インタフェースのことです。このインタフェースは、システム内で STREAMS DLPI (v2) インタフェースとして表されます。このようなインタフェースは、TCP/IP などのプロトコルスタックの下で接続できます。データリンクは、「物理インタフェース」 (たとえば、ネットワークインタフェースカード (NIC)) とも呼ばれます。データリンクは、zonecfg(1M) を使用して構成される physical プロパティーです。physical プロパティーは、VNIC (『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』のパート III「ネットワーク仮想化およびリソース管理」に記載) にすることも可能です。
データリンクの例としては、物理インタフェース (e1000g0 や bge1 など)、NIC (bge3 など)、集積 (aggr1、aggr2 など)、VLAN タグ付きインタフェース (e1000g123000 と bge234003 (それぞれ e1000g0 上の VLAN 123、および bge3 上の VLAN 234) など) があります。
共有 IP ゾーンは、大域ゾーンからの既存の IP インタフェースを使用します。ゾーンには、1 つ以上の専用の IP アドレスが保持されている必要があります。共有 IP ゾーンは、IP 層の構成と状態を大域ゾーンと共有します。次の両方の条件が満たされる場合、ゾーンは共有 IP インスタンスを使用すべきです。
大域ゾーンと非大域ゾーンが同じサブネット上に存在するかどうかに関係なく、非大域ゾーンが大域ゾーンによって使用されるデータリンクと同じデータリンクを使用する計画である。
排他的 IP ゾーンによって提供されるその他の機能は必要でない。
共有 IP ゾーンには、zonecfg コマンドの net リソースを使用して、1 つ以上の IP アドレスを割り当てます。大域ゾーンでデータリンク名も構成する必要があります。
zonecfg net リソースで、address と physical のプロパティーを設定する必要があります。defrouter プロパティーは省略可能です。
大域ゾーン内で共有 IP タイプのネットワーク接続構成を使用するには、自動ネットワーク構成ではなく ipadm を使用する必要があります。ネットワーク接続構成を ipadm によって行うかどうかを決定するには、次のコマンドを実行します。表示される応答は、DefaultFixed でなければなりません。
# svcprop -p netcfg/active_ncp svc:/network/physical:default DefaultFixed
共有 IP ゾーンに割り当てられる IP アドレスは、論理ネットワークインタフェースに関連付けられます。
大域ゾーンから ipadm コマンドを使用すると、稼働中のゾーンの論理インタフェースの割り当てまたは削除を行うことができます。
インタフェースを追加するには、次のコマンドを使用します。
global# ipadm set-addrprop -p zone=my-zone net0/addr1
インタフェースを削除するには、次のコマンドのいずれかを使用します。
global# ipadm set-addrprop -p zone=global net0/addr
または
global# ipadm reset-addrprop -p zone net0/addr1
詳細は、「共有 IP ネットワークインタフェース」を参照してください。
排他的 IP は、非大域ゾーンのデフォルトのネットワーク接続構成です。
排他的 IP ゾーンには、独自の IP に関連付けられた状態と 1 つ以上の専用のデータリンクが保持されます。
排他的 IP ゾーン内では、次の各機能を使用できます。
TCP/UDP/SCTP および IP/ARP レベルのノブを設定するための ipadm
IP セキュリティー (IPsec) と Internet Key Exchange (IKE)。これは、IPsec セキュリティーアソシエーション用の認証済み鍵材料のプロビジョニングを自動化する
排他的 IP ゾーンを構成する方法には、次の 2 つがあります。
zonecfg ユーティリティーの anet リソースを使用して、ゾーンのブート時にゾーンに対して一時的な VNIC を自動的に作成し、またゾーンの停止時にそれを削除します。
大域ゾーン内にデータリンクを事前構成し、排他的 IP ゾーンにそれを割り当てます。これは、zonecfg ユーティリティーの net リソースを使用して行います。データリンクは、net リソースの physical プロパティーを使用して指定します。physical プロパティーは、VNIC (『Oracle Solaris 管理: ネットワークインタフェースとネットワーク仮想化』のパート III「ネットワーク仮想化およびリソース管理」に記載) にすることも可能です。net リソースの address プロパティーは設定されません。
排他的 IP ゾーンは、デフォルトでは関連付けられたインタフェース上のすべての IP アドレスを構成および使用できます。必要に応じて、allowed-address プロパティーを使用して IP アドレスのコンマ区切りリストを指定することもできます。排他的 IP ゾーンは、allowed-address リスト内にない IP アドレスを使用することはできません。また、ゾーンのブート時に、allowed-address リスト内のすべてのアドレスが排他的 IP ゾーンに対して自動で持続的に構成されます。このインタフェース構成が不要な場合、 configure-allowed-address プロパティーを false に設定する必要があります。デフォルト値は true です。
データリンクを割り当てると snoop コマンドが使用可能になります。
dladm コマンドを show-linkprop サブコマンドとともに使用して、実行中の排他的 IP ゾーンに対するデータリンクの割り当てを表示できます。dladm コマンドを set-linkprop サブコマンドとともに使用すると、実行中のゾーンに対して追加のデータリンクを割り当てることができます。使用例については、「排他的 IP 非大域ゾーンでのデータリンクの管理」を参照してください。
独自のデータリンクセットが割り当てられた、実行中の排他的 IP ゾーン内では、ipadm コマンドを使用して IP を構成できます。このコマンドには、論理インタフェースの追加または削除を行う機能が備わっています。ゾーンの IP 構成は、大域ゾーン内の場合と同様に sysconfig インタフェース (sysconfig(1M) のマニュアルページに記載) を使用して設定できます。
排他的 IP ゾーンの IP 構成は、大域ゾーンから zlogin コマンドを使用することによってのみ表示できます。
global# zlogin zone1 ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 nge0/_b dhcp ok 10.134.62.47/24 lo0/v6 static ok ::1/128 nge0/_a addrconf ok fe80::2e0:81ff:fe5d:c630/10
共有 IP ゾーン内のアプリケーションは、スーパーユーザーも含め、zonecfg ユーティリティーを介してゾーンに割り当てられた IP アドレス以外をソース IP アドレスとしてパケットを送信することはできません。このタイプのゾーンには、任意のデータリンク (レイヤー 2) パケットを送受信するアクセス権はありません。
一方、排他的 IP ゾーンの場合は、zonecfg によって指定されたデータリンク全体がゾーンに対して許可されます。結果として、排他的 IP ゾーン内では、スーパーユーザーまたは必要な権利プロファイルを持つユーザーは、大域ゾーン内と同様に、それらのデータリンク上でなりすましのパケットを送信できます。IP アドレスのなりすましは、allowed-address プロパティーを設定することによって使用不可にできます。anet リソースの場合、link-protection プロパティーを設定することによって、mac-nospoof や dhcp-nospoof などの追加の保護を有効にできます。
共有 IP ゾーンは常に IP 層を大域ゾーンと共有し、排他的 IP ゾーンは常に独自の IP 層インスタンスを持っています。共有 IP ゾーンと排他的 IP ゾーンの両方を同じマシンで使用することができます。
各ゾーンには、デフォルトでそのゾーンに委任された ZFS データセットが保持されています。このデフォルトの委任されたデータセットは、デフォルトの大域ゾーンのデータセットレイアウトのデータセットレイアウトを模倣します。 .../rpool/ROOT というデータセットは、ブート環境を含んでいます。このデータセットは、直接操作しないでください。存在する必要がある rpool データセットは、デフォルトで ... /rpool にマウントされます。.../rpool/export、および .../rpool/export/home データセットは /export と /export/home にマウントされます。これらの非大域ゾーンには、対応する大域ゾーンのデータセットと同じ使用法があり、同様に管理できます。ゾーン管理者は、.../rpool, .../rpool/export および ... /rpool/export/home のデータセット内に追加のデータセットを作成できます。
通常、ゾーンでマウントされるファイルシステムには、次のものが含まれます。
仮想プラットフォームの初期化時にマウントされる一連のファイルシステム
アプリケーション環境自体の内部からマウントされる一連のファイルシステム
これらのセットには、たとえば次のようなファイルシステムが含まれます。
none または legacy 以外の mountpoint があり、また canmount プロパティーに yes の値が保持された ZFS ファイルシステム。
ゾーンの /etc/vfstab ファイルで指定されたファイルシステム。
AutoFS によるマウントおよび AutoFS によってトリガーされるマウント。autofs プロパティーは、sharectl (sharectl(1M) に記載) を使用して設定します。
ゾーン管理者が明示的に実行するマウント
また、稼働中のゾーン内でのファイルシステムのマウント権限は、zonecfg fs-allowed プロパティーで定義します。このプロパティーは、zonecfg add fs リソースまたは add dataset リソースを使用してゾーンにマウントされたファイルシステムには適用されません。デフォルトでは、ゾーンのデフォルトの委任されたデータセットである hsfs ファイルシステム内でのファイルシステム、および NFS などのネットワークファイルシステムのマウントだけが、ゾーン内で許可されます。
注意 - アプリケーション環境内部から実行される、デフォルト以外のマウントには、いくつかの制限事項があります。これらの制限事項は、ほかのゾーンに悪影響を与えないようにするために、ゾーン管理者がシステムのほかの部分に対するサービスを拒否できないようにします。 |
一部のファイルシステムについては、ゾーン内部からマウントする場合にセキュリティー制限があります。ほかのファイルシステムは、ゾーン内でマウントされたときに特有の動作を行います。詳細は、「ファイルシステムと非大域ゾーン」を参照してください。
非大域ゾーンでは、大域ゾーンの hostid とは異なる hostid プロパティーを設定できます。これはたとえば、別のシステム上のゾーンに移行されたマシンなどの場合に行います。このゾーン内に現在あるアプリケーションは、元の hostid に依存している場合があります。詳細は、「リソースタイプとプロパティー」を参照してください。
zonecfg コマンドは、規則照合方式を使って、特定のゾーンにどのデバイスを配置するかを指定します。いずれかのルールに一致するデバイスは、ゾーンの /dev ファイルシステムに追加されます。詳細は、「ゾーンの構成方法」を参照してください。
ディスクのパーティション分割と uscsi コマンドの使用は、zonecfg ツールを使用して有効にします。例については、「リソースタイプのプロパティー」の device を参照してください。uscsi コマンドの詳細は、uscsi(7I) を参照してください。
委任は、solaris ゾーンでサポートされるだけです。
ディスクは、-D オプションを指定した prtconf コマンドを使用して表示される sd ターゲットを使用する必要があります。prtconf(1M) を参照してください。
大域管理者または適切な承認を持つユーザーは、ゾーン規模の特権付きリソース制御をゾーンに対して設定できます。ゾーン規模のリソース制御は、ゾーン内のすべてのプロセスエンティティーによる総リソース消費を制限します。
これらの制限は、大域ゾーンと非大域ゾーンのどちらに対しても、zonecfg コマンドを使用して指定します。「ゾーンの構成方法」を参照してください。
ゾーン規模のリソース制御を設定するためのより簡単な推奨される方法は、cpu-cap などの rctl リソースではなく、capped-cpu などのプロパティー名またはリソースを使用することです。
zone.cpu-cap リソース制御は、1 つのゾーンで消費可能な CPU リソースの量に対する絶対的な制限を設定します。設定と同様、100 の値は 1 つの CPU の 100% を意味します。125 の値は 125% になります。CPU キャップの使用時は、100% がシステム上の 1 つの CPU の上限となります。
注 - capped-cpu リソースを設定する場合は、単位に小数を使用できます。この値は zone.cpu-cap リソース制御と相互に関連していますが、設定値はその 100 分の 1 になります。設定値 1 はリソース制御の設定値 100 に等しくなります。
zone.cpu-shares リソース制御は、公平配分スケジューラ (FSS) の CPU 配分の制限をゾーンに対して設定します。CPU 配分は、まずゾーンに対して割り当てられたあとで、project.cpu-shares エントリの指定に従って、ゾーン内のプロジェクトに分配されます。詳細は、「ゾーンがインストールされている Oracle Solaris システムでの公平配分スケジューラの使用」を参照してください。この制御のグローバルプロパティー名は cpu-shares です。
zone.max-locked-memory リソース制御は、1 つのゾーンで使用できる、ロックされた物理メモリーの量に制限を設定します。ゾーン内のプロジェクト間でのロックされたメモリーリソースの割り当ては、project.max-locked-memory リソース制御を使用して制御できます。詳細は、表 6-1 を参照してください。
zone.max-lofi リソース制御は、1 つのゾーンで作成可能な lofi デバイスの数を制限します。
1 つのゾーンの LWP が多くなりすぎると、ほかのゾーンに影響を与えることがあります。zone.max-lwps リソース制御は、これを防ぐことで、リソースの隔離を向上させます。ゾーン内のプロジェクト間での LWP リソースの割り当ては、project.max-lwps リソース制御を使用して制御できます。詳細は、表 6-1 を参照してください。この制御のグローバルプロパティー名は max-lwps です。
zone.max-processes リソース制御は、1 つのゾーン内のあまりに多くの LWP が他のゾーンに影響を与えることを防ぐことによって、リソースの隔離性を高めます。ゾーン内の各プロジェクトに対するプロセステーブルスロットリソースの割り当ては、project.max-processes リソース制御 (「使用可能なリソース制御」に記載) を使用して設定できます。この制御のグローバルプロパティー名は max-processes です。zone.max-processes リソース制御は、zone.max-lwps リソース制御を含むこともできます。zone.max-processes が設定されていて zone.max-lwps が設定されていない場合、zone.max-lwps はゾーンのブート時に暗黙的に zone.max-processes の値の 10 倍に設定されます。正常なプロセスとゾンビプロセスの両方がプロセステーブルスロットを占有するため、max-processes 制御がプロセステーブルを消費しつくすゾンビプロセスから保護します。ゾンビプロセスには本来 LWP がないため、max-lwps でこの可能性から保護することはできません。
zone.max-msg-ids、zone.max-sem-ids、zone.max-shm-ids、および zone.max-shm-memory の各リソース制御は、ゾーン内のすべてのプロセスで使用される System V リソースを制限します。ゾーン内のプロジェクト間での System V リソースの割り当ては、これらのリソース制御の project バージョンを使用して制御できます。これらの制御のグローバルプロパティー名は、max-msg-ids、max-sem-ids、max-shm-ids、および max-shm-memory です。
zone.max-swap リソース制御は、ゾーン内のユーザープロセスのアドレス空間マッピングと tmpfs マウントで消費されるスワップを制限します。prstat -Z の出力は「スワップ」列を表示します。報告されるスワップは、ゾーンのプロセスと tmpfs マウントで消費されるスワップの合計量です。この値により、各ゾーンで予約されているスワップを監視しやすくなり、適切な zone.max-swap 設定を選択することができます。
表 16-1 ゾーン規模のリソース制御
|
prctl コマンドを使用すると、実行中のプロセスに対してこれらの制限を指定できます。例については、「prctl コマンドを使用して大域ゾーンの FSS 配分を設定する方法」を参照してください。prctl コマンドで指定された制限には持続性がありません。システムがリブートされると、制限は無効になります。
ゾーンのブート時に、safe 特権のデフォルトセットが構成に含められます。これらの特権は、ゾーン内の特権プロセスがシステムのほかの非大域ゾーン内のプロセスや大域ゾーン内のプロセスに影響を及ぼすことを防ぐため、安全と見なされます。 zonecfg コマンドを使用して、次の操作を実行できます。
デフォルトの特権セットに追加します。ただし、この種の変更を行うと、あるゾーン内のプロセスがグローバルリソースを制御できるようになって、ほかのゾーン内のプロセスに影響する場合があります。
デフォルトの特権セットから削除します。ただし、この種の変更を行うと、実行に必要な特権がないため一部のプロセスが正しく動作しなくなる場合があります。
注 - わずかですが、この時点でゾーンのデフォルト特権セットから削除できない特権があります。同じように、特権セットに追加できない特権もあります。
詳細は、「非大域ゾーン内の特権」、「ゾーンの構成方法」、および privileges(5) のマニュアルページを参照してください。
attr リソースの型を使ってゾーンのコメントを追加できます。詳細は、「ゾーンの構成方法」を参照してください。