このマニュアルでは、Solaris 10 オペレーティングシステム (OS) に含まれる機能について、Solaris 10 10/09 リリースで新しく追加または拡張された機能の概要を説明します。
Solaris 9 OS が 2002 年 5 月に初めて配布された後に導入または拡張された Solaris 10 OS のすべての機能の概要は、『Solaris 10 What’s New』を参照してください。
Solaris 10 10/09 リリースでは、次のシステム管理機能および拡張機能が追加されました。
Solaris Solaris 10 10/09 リリース以降では、最大 2T バイトのサイズのディスクに Solaris OS をインストールしてブートできます。Solaris の以前のリリースでは、1T バイトを超えるディスクに Solaris OS をインストールしてブートすることはできませんでした。
Solaris のこのリリースでは、任意のサイズのディスクに VTOC ラベルを使用できます。ただし、VTOC でアドレス指定可能な領域は 2T バイトに制限されます。この機能により、容量が 2T バイトよりも大きいディスクもブートドライブとして使用できます。ただし、ラベルで使用可能な領域は 2T バイトに制限されています。
この機能は、64 ビットカーネルを実行しているシステムでのみ使用できます。x86 ベースのシステムには、最低 1G バイトのメモリが必要です。
1T バイトを超える容量のディスクでのブートをサポートするために更新された、Solaris のディスクドライバーおよびディスクユーティリティーの詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』を参照してください。
pcitool ユーティリティーにより、システム管理者は割り込みを特定のハードウェアストランドにバインドしてパフォーマンスを向上できます。このユーティリティーは、公開されている SUNWio-tools パッケージに含まれています。pcitool の使用法の詳細は、pcitool のマニュアルページを参照してください
以降の節では、ZFS ファイルシステムの新機能を概説します。
ZFS とフラッシュインストールのサポート - Solaris 10 10/09 では、JumpStart プロファイルをセットアップして、ZFS ルートプールのフラッシュアーカイブを識別できます。詳細は、『Solaris ZFS 管理ガイド』を参照してください。
ZFS のユーザーおよびグループ割り当ての設定 - Solaris の以前のリリースでは、割り当てと予約を ZFS ファイルシステムに適用し、容量の管理と予約を実行できました。Solaris のこのリリースでは、特定のユーザーやグループが所有するファイルによって消費される容量に割り当て制限を設定できます。ユーザーやグループの数が多い環境では、ユーザーやグループに対して割り当て制限を設定するのが有効です。zfs userspace および·zfs groupspace プロパティーを次のように使用して、ユーザーやグループに割り当て制限を設定できます。
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins |
ユーザーまたはグループの現在の割り当て制限の設定は、次のようにして表示できます。
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local |
実行権用 ZFS ACL Pass Through 継承の使用 - Solaris の以前のリリースでは、ACL 継承を適用して、すべてのファイルを 0664 または 0666 アクセス権で作成することができました。このリリースでは、継承された ACL に、ファイル作成モードの実行ビットをオプションとして含めることができます。このためには、新たに追加された実行権用 Pass Through 継承を使用します。
ZFS データセットで aclinherit=passthrough-x が有効になっている場合、cc または gcc ツールから生成された出力ファイルに実行権を含めることができます。継承された ACL に実行権が含まれていない場合、コンパイラからの実行可能な出力は、chmod コマンドを使用してファイルのアクセス権を変更するまで実行できません。
ZFS ストレージプールでのキャッシュデバイスの使用 – Solaris 10 10/09 リリースでは、プールを作成し、ストレージプールのデータをキャッシュするための「キャッシュデバイス」を指定することができます。キャッシュデバイスにより、メインメモリーとディスクの間にキャッシュ層が追加されます。キャッシュデバイスを使用すると、ほぼ静的なコンテンツをランダムに読み込む作業負荷のパフォーマンスが大幅に向上します。
プールの作成時に 1 つ以上のキャッシュデバイスを指定できます。次に例を示します。
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors |
キャッシュデバイスの使用が環境に照らし合わせて適切かどうかを判定するための詳細な情報は、『Solaris ZFS 管理ガイド』を参照してください。
ZFS プロパティーの拡張機能 - Solaris 10 10/09 リリースでは、ZFS プロパティーに次のような拡張が加えられています。
プールの作成時に、ZFS ファイルシステムプロパティーを設定できます。次の例では、プールの作成時に作成される ZFS ファイルシステムについて、圧縮が有効になります。
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0 |
ZFS ファイルシステムに 2 つのプロパティーを設定することで、一次キャッシュ (ARC) または二次キャッシュ (L2ARC) にキャッシュされる内容を制御できます。キャッシュのプロパティーは、次のように設定します。
primarycache – ARC にキャッシュされる内容を制御します。
secondarycache - L2ARC にキャッシュされる内容を制御します。
これらのプロパティーは、既存のファイルシステムに設定できます。または、ファイルシステムの作成時に設定できます。次に例を示します。
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab |
一部のデータベース環境では、ユーザーデータをキャッシュしないほうが利点が得られることがあります。キャッシュプロパティーの設定が、使用している環境に照らし合わせて適切かどうかを判定する必要があります。
詳細は、『Solaris ZFS 管理ガイド』を参照してください。
容量使用のプロパティーを使用して、クローン、ファイルシステム、およびボリュームの容量使用を特定できますが、スナップショットの容量は特定できません。属性は次のとおりです。
usedbychildren - データセットの子によって使用される容量を特定します。この容量は、データベースのすべての子が破棄された場合に解放されます。このプロパティーの省略名は usedchild です。
usedbydataset - このデータセット自体によって使用される容量を特定します。この容量は、データベースが破棄された場合に解放されますが、このためには先にすべてのスナップショットを破棄し、refreservation をすべて削除する必要があります。このプロパティーの省略名は usedds です。
usedbyrefreservation - このデータセットの refreservation セットによって使用される容量を特定します。この容量は、refreservation が削除された場合に解放されます。このプロパティーの省略名は usedrefreserv です。
usedbysnapshots - このデータセットのスナップショットによって消費される容量を特定します。具体的には、これはデータセットのスナップショットがすべて破棄された場合に解放される容量です。これはスナップショットの used プロパティーの値を単純に合計した結果ではないことに注意してください。複数のスナップショットで共有されている容量も存在するためです。このプロパティーの省略名は usedsnap です。
これらの新しいプロパティーは、used プロパティーの値を、容量を消費する各種の要素に分割します。具体的には、used プロパティーの値は次のように分割されます。
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots |
これらのプロパティーは、zfs list -o space コマンドを使用して表示できます。次に例を示します。
# zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD pool 33.2G 72K 0 21K 0 51K rpool 27.0G 6.27G 20.5K 97K 0 6.27G rpool/ROOT 27.0G 4.73G 0 21K 0 4.73G rpool/ROOT/zfsBE 27.0G 4.73G 97.5M 4.63G 0 0 rpool/dump 27.0G 1.00G 16K 1.00G 0 0 rpool/export 27.0G 60K 16K 23K 0 21K rpool/export/home 27.0G 21K 0 21K 0 0 rpool/swap 27.5G 553M 0 41.5M 512M 0 |
このリリースでは、zfs list 出力からスナップショットは省かれています。listsnaps プールプロパティーは、zfs list コマンドでスナップ情報が表示されるかどうかを制御します。zfs list -t snapshots コマンドを使用すると、スナップショットの情報が表示されます。デフォルト値は off です。この設定ではスナップショット情報はデフォルトで表示されません。
ZFS ログデバイスの回復 – Solaris 10 10/09 リリースでは、zpool status コマンドで、ZFS によりインテントログ障害が識別されます。FMA は、これらのエラーも報告します。ZFS と FMA は両方とも、インテントログ障害から回復する方法を説明します。
たとえば、独立したログデバイスを持つプールへ同期書き込み操作が実行される前にシステムが突然シャットダウンする場合、インテントログに関連するエラーメッセージが zpool status 出力に表示されます。ログデバイスの障害を解決する方法の詳細は、『Solaris ZFS 管理ガイド』を参照してください。
ZFS ACL セットの使用 - Solaris 10 10/09 リリースでは、各種の ACL アクセス権を個別に適用する代わりに、NFSv4 形式の ACL をセットで適用できます。次のような ACL セットが提供されています。
full_set = すべてのアクセス権
modify_set = write_acl と write_owner を除くすべてのアクセス権
read_set = read_data、read_attributes、read_xattr、および read_acl
write_set = write_data、append_data、write_attributes、および write_xattr
これらの ACL セットは事前に定義されたものであり、変更することはできません。
これらの改善と変更の詳細は、『Solaris ZFS 管理ガイド』を参照してください。
関連する ZFS 機能については、次の新機能に関する項を参照してください。
LDAP ネームサービスが拡張され、構成済み LDAP サーバーに格納されているシャドウデータベースのデータを使用して、アカウントのロックとパスワードエージング機能がサポートされるようになりました。このサポートにより、passwd(1) ユーティリティーと pam_un x_*(5) PAM モジュールは、アカウントのロックとパスワードエージングを処理するとき、ローカルアカウントとリモート LDAP ユーザーアカウントに対してほとんど同じ動作が可能になりました。このため、LDAP ネームサービスにパスワードポリシーとアカウント制御を実装する方法は pam_ldap(5) モジュールのみではなくなりました。pam_unix_*(5) を使用して、ファイルや nisplus ネームサービスの場合と同様に、一貫した結果を得ることができます。
詳細は、『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。
SunVTSTM 7.0 パッチセット 6 は、Solaris 10 10/09 リリースに統合されています。SunVTS 7.0 パッチセット 6 は、従来の 3 層アーキテクチャーモデルに従っています。このパッチセットには、ブラウザベースのユーザーインタフェース (Browser-Based User Interface、BUI)、Java テクノロジベースの中間サーバー、および診断エージェントが含まれています。SunTVS インフラストラクチャーには、次の拡張機能が加えられています。
半導体デバイス (Solid-State Drive、SSD) のサポートを vtsk に追加しました。
システム構成サイズに適応するようデフォルトレベルの論理テストが拡張されました。
vtsk の予約スワップに最小値、最大値、または強い制限値を設けました。
論理テスト実行の順序を変更できるようにしました。
Solaris 10 10/09 リリースには、メモリーおよび CPU の診断に関する次のような拡張機能が含まれています。
X86-L3$ サポートを l3sramtest に追加しました。
vmemtest、fputest、および l2sramtest が、スワップ要件を返すコールバックを提供するように拡張されました。
x86 システムおよび UltraSPARC® T2 プロセッサベースのシステム用に論理テストをチューニングしました。
Solaris 10 10/09 リリースには、I/O の診断に関する次のような拡張機能が含まれています。
disktest が拡張され、読み取り/書き込みオプションが適用できない場合には読み取り専用モードで実行されるようになりました。
x86、UltraSPARC T2 プロセッサ、および UltraSPARC IV システム用にディスク論理テストがチューニングされました。
半導体ドライブ (Solid-State Drive、SSD) およびハードディスクドライブ (Hard Disk Drive、HDD) タスクが Disk LT で実行されるように、disktest のオプションが自動化されました。
netlbtest でのテストとオプションの選択を自動化しました。
安全と危険なテストオプションを disktest と iobustest でサポートするようにしました。
Solaris 10 10/09 リリースでは、インストールに関する次の機能が追加されました。
Solaris 10 10/09 リリース以降では、SVR4 のパッケージコマンドがより高速に実行されます。この拡張機能によって、初期インストール、アップグレード、Live Upgrade、ゾーンインストールなど、Solaris のインストールテクノロジの実行速度が大幅に向上します。
Solaris 10 10/09 リリースでは、システムリソースに関する次の機能が追加されました。
標準の Solaris 10 パッチユーティリティーにゾーンの並列パッチ拡張機能が追加されたため、複数のゾーンを持つシステムで、非大域ゾーンの並列パッチ処理が可能になり、このようなシステムでパッチを行うツールのパフォーマンスが向上します。Solaris 10 9/10 リリース以前のリリースでは、このパッチは、119254-66 以降のリビジョン (SPARC) および 119255-66 以降のリビジョン (x86) のパッチユーティリティーのパッチに実装されています。これまでどおり、大域ゾーンには、非大域ゾーンよりも前にパッチが適用されます。
詳細については、次を参照してください。
Solaris OS の Sun xVM ハイパーバイザを使用する場合、完全に仮想化されたゲストドメインが、ハードウェア補助の仮想マシン (Hardware-Assisted Virtual Machine、HVM) として参照されます。HVM + PVIO ゲストでは、PV ドライバの使用によりより優れたパフォーマンスを実現できます。
Solaris 10 10/08 以降のリリースには、Solaris PV ドライバが含まれています。Solaris 10 5/08 にはパッチが用意されています。
詳細は、『System Administration Guide: Virtualization Using the Solaris Operating System』の「Guests That Are Known to Work」の「Solaris 10 リリース」を参照してください。このガイドには、HVM 互換のマシンについても解説されています。
Solaris 10 10/09 リリースでは、次のデバイス管理機能が追加されました。
FMRI svc:/network/iscsi/initiator:default の下に、iSCSI デバイスの可用性を制御するための新しい SMF サービスが導入されました。このSMF サービスは、OS のスタートアップ時に iSCSI デバイスの検出と列挙を開始するタイミングも制御します。
iSCSI デバイスの可用性に依存するほかのサービスは、この iSCSI イニシエータサービスで、依存性をカスタマイズできます。詳細は、iscsi(7D) のマニュアルページを参照してください。
Solaris 10 10/09 以降のリリースでは、Solaris MPxIO が LSI 6180 コントローラをベースとするストレージアレイをサポートしています。
Solaris 10 10/09 リリースでは、システムパフォーマンスに関する次の機能が追加されました。
コールアウトサブシステムが再設計され、次の機能が追加されました。
パフォーマンスとスケーラビリティの強化
CPU ごとのデータ構造により、相互排他の競合を最小化
CPU ごとのコールアウト処理により、スケーラビリティを強化
イベントベースの実装により、ポーリングのオーバーヘッドを回避
高解像度のタイマーによる機能強化多くの API コールは高解像度のタイマーを使用し、システムが指定の間隔で丸めを行うため、待ち時間が発生しません。これらのタイマーには poll() や nanosleep() など、一般的に使用されるコールが含まれています。
可観測性の向上
MDB dcmd callout 用の包括的なオプションのセット
新しい MDB dcmd calloutid
新しいコールアウト kstats
Solaris 10 10/09 リリースでは、次のドライバ機能と拡張機能が追加されました。
Solaris 10 10/09 には、Solaris 10GbE ドライバの機能拡張が数多く含まれています。nxge 10GbE ドライバには、次の機能拡張が含まれています。
TCP 受信スループットが、接続数が 8 のときに 40%、接続数が 32、100、400、および 1000 のときに 90% を超えるまで向上しています。
TCP 送信スループットが、接続数が 8 のときにほぼ 80%、それ以上の接続数でのテストでは 100% を超えるまで向上しています。
UDP 送信スループットが、64 バイトのメッセージでは 80%、8K バイトのメッセージでは 160% を超えるまで向上しています。
x86 システム上の ixgbe ドライバには、次の機能拡張が含まれています。
TCP 送信スループットが、接続数が 8 以上のときにほぼ 100% になるまで向上しています。
TCP 受信速度は、接続数が 8、32、100、400、および 1000 のときに 10G ビットの回線速度となっています。
最大 UDP 送信スループットは 2 倍になり、10G ビットの回線速度となっています。
メッセージのサイズが 64 バイトから 512 バイトに増えると、ピンポンデータ転送率が 2 倍から 3 倍に向上します。
Solaris 10GbE ドライバは、回線のデータ転送率に近い速度を実現し、10 ギガビットネットワーク上で最適なパフォーマンスを提供するようになりました。
Solaris 10 10/09 リリースには、次の InfiniBand 関連の機能拡張が含まれています。
InfiniBand ホストチャネルアダプタ (HCA) – Solaris 10 10/09 リリースには、大幅に機能拡張された Mellanox ConnectX HCA 用の InfiniBand ドライバが含まれています。この InfiniBand ドライバを使用すると、InfiniBand プロトコルは、Double Data Rate (DDR) ファブリックおよび Quad Data Rate (QDR) InfiniBand ファブリックの両方で動作します。また、このドライバは、障害管理のために Solaris FMA フレームワークにも統合されていて、SPARC システム上でリラックスオーダリングをサポートします。
InfiniBand トランスポートフレームワーク (IBTF) – Solaris 10 10/09 には、大幅に機能強化された IBTF 実装が含まれており、Solaris で RDMA ベースの InfiniBand プロトコルを実行するための拡張サポートを提供します。SPARC 用の InfiniBand が、PCI Dynamic Reconfiguration (DR) をサポートするようになりました。
Internet Protocol over InfiniBand (IPoIB) – Solaris 10 10/09 リリースには、インターネットの RFC 4391 および 4392 をサポートする大幅に機能向上した IPoIB ドライバ (ibd) が含まれています。Solaris 10 10/09 リリースの IPoIB ドライバは、ユーザーデータグラム (User Datagram、UD) モードでの操作、IPv4 および IPv6 のアドレス指定をサポートし、ConnectX HCA のハードウェアオフロードを利用して、低い CPU 使用率でのスループットの向上を実現します。IPoIB-UD により、Double Data Rate (DDR) と Quad Data Rate (QDR) InfiniBand ファブリック上の両方で、SSH、HTTP、FTP、NFS、iSCSI などの任意の TCP/IP アプリケーションプロトコルを使用できます。SPARC および x86 プラットフォーム用のこの新しい IPoIB ドライバでは、これまでの使用可能なドライバに比べて大幅にパフォーマンスが向上しています。
ソケット直接プロトコル (SDP) – Solaris 10 10/09 リリースには、大幅に機能向上した SDP ドライバと sockfs 実装が含まれています。SDP は、Infiniband Transport Framework (IBTF) の上の層にあるトランスポートプロトコルです。SDP は、Infiniband Architecture Specification Vol1 の Annex 4 に基づく標準実装です。SDP プロトコルは、信頼性の高いバイトストリーム、伝送制御プロトコル (Transmission Control Protocol、TCP) と同様なフロー制御された双方向のデータ伝送を実現します。InfiniBand プログラマは、アプリケーションプログラムへのソケットベースの SOCK_STREAM インタフェースをサポートする libsdp C ライブラリで SDP を使用できます。SDP プロトコルは、緩やかな開放 (Graceful Close)、IPv4 および IPv6 のアドレス指定、接続/受け入れ接続モデル、帯域外 (OOB) データおよび一般的なソケットオプションをサポートします。また、SDP プロトコルは、カーネルをバイパスしたデータ転送、および送信上位層プロトコル (Upper-Layer-Lrotocol、ULP) バッファーから受信 ULP バッファーへのデータ転送をサポートします。
Reliable Datagram Sockets (RDS) – Solaris 10 10/09 リリースには、Oracle RAC (Real Application Clusters) 10gR2 での使用を認定された RDSv1 ドライバの機能強化版が含まれています。
User-Level Direct Access Programming Library (uDAPL) – Solaris 10 10/09 リリースには、最新の Direct Access Transport (DAT) Collaborative uDAPL 1.2 仕様準拠の更新された uDAPL over InfiniBand API が含まれています。
mpt_sas(7D) ドライバは、SAS、SATA、SMP 物理デバイスをサポートし、統合 RAID 機能の使用によって仮想デバイスもサポートします。SAS ドライバの新しいアーキテクチャーは、次の機能をサポートします。
SAS イニシエータポート (iports)
SAS、SATA、および SMP ターゲットの動的再構成
FWARC 2008/013 準拠のデバイスの表現
マルチパス化
詳細は、mpt_sas(7D) のマニュアルページを参照してください。
Solaris 10 10/09 リリースには、bcm5716c や bcm5716s などの新しいチップセットのサポートが含まれています。
Solaris 10 10/09 リリースでは割り込み再マッピングテーブルが提供されています。これにより、少なくとも Intel Nehalem プラットフォームでは割り込みが分離され、デバイスが許可された割り込みだけを使用できることと、割り込みのターゲットが正しく設定されることが保証されます。この機能により、システムの信頼性、可用性、および保守性 (RAS) が向上します。
AHCI ドライバで SATA テープデバイスがサポートされるようになりました。ユーザーは、SATA ケーブルまたは eSATA ケーブルにより、SATA テープドライブを AHCI コントローラにホットプラグ接続できます。CD、DVD、テープなどの SATA ATAPI デバイスについて、エラー処理の機構も強化されています。
詳細は、ahci(7D) のマニュアルページを参照してください。
mr_sas MegaRAID SAS2.0 コントローラホストバスアダプタドライバは、SCSA 準拠の連結ドライバで、LSI MegaRAID SAS 92xx シリーズ、StorageTek 6Gb/s SAS RAID HBA シリーズ、および LSI Meg RAID SAS 92xx シリーズのコントローラをサポートしています。
サポートされている RAID 機能の一部を次に示します。
RAID レベル 0、1、5、および 6、および RAID スパン 10、50、および 60
オンライン容量拡張 (OCE)
オンライン RAID レベル移行 (RLM)
アレイ再構築 (OCE または RLM) 中に発生したシステム電源断後の自動再開
最大 1M バイトの構成可能ストライプサイズ
バックグラウンドデータの完全性をチェックする機能
メディアを走査して修復するための巡回読み取り
64 台の論理ドライブのサポート
最大 64 TB の LUN のサポート
自動再構築と、大域および専用のホットスペアのサポート
Solaris 10 10/09 以降のリリースでは、ixgbe ドライバが Intel 82599 10Gb PCI Express Ethernet コントローラチップセットをサポートしています。
Solaris 10 10/09 以降のリリースでは、ixgbe ドライバが Intel 82598 10Gb PCI Express Ethernet コントローラチップセットをサポートしています。
Solaris 10 10/09 リリースでは、次のフリーウェア機能と拡張機能が追加されました。
Solaris 10 10/09 リリースには、拡張認証、IPv6、およびより高いパフォーマンスをサポートする、時間情報プロトコルの最新バージョンが含まれています。詳細は、ntpdate(1M) のマニュアルページを参照してください。
Solaris 10 10/09 リリースは、PostgreSQL Version 8.1.17、8.2.13、および 8.3.7 をサポートしています。
Solaris 10 10/09 リリースは、Samba 3.0.35 をサポートしています。