Oracle Solaris 10 9/10 リリースでは、次のシステム管理機能および拡張機能が追加されました。
次のリストに、ZFS ファイルシステムの新機能の概要を示します。これらの機能の詳細については、『Oracle Solaris ZFS 管理ガイド』を参照してください。
ZFS デバイス置換の機能拡張 – このリリースでは、ベースとなるデバイスが拡張されるときにシステムイベント sysevent が発行されます。ZFS はこれらのイベントを認識するように拡張されており、autoexpand プロパティーの設定に応じて、拡張された LUN の新しいサイズをもとにストレージプールが調整されます。autoexpand プロパティーを使用すると、動的な LUN 拡張イベントが受信されたときに自動プール拡張を有効または無効にできます。
この機能によって LUN の拡張が可能となり、結果として得られるプールは、プールのエクスポートとインポートを行なったり、システムをリブートしたりしなくても、拡張されたディスク領域にアクセスできます。autoexpand プロパティーはデフォルトで無効になっているため、LUN を拡張するかどうかを決めることができます。あるいは、zpool online -e コマンドを使用して、LUN をフルサイズまで拡張することもできます。
zpool list コマンドへの変更 — このリリースでは、zpool list の出力によって領域割り当てに関するより適切な情報を得ることができます。次に例を示します。
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 136G 55.2G 80.8G 40% ONLINE - |
以前の USED および AVAIL フィールドは、ALLOC および FREE に置き換えられました。
ALLOC フィールドは、すべてのデータセットおよび内部メタデータに割り当てられている物理領域の量を特定します。FREE フィールドは、ストレージプール内の未割り当てのディスク領域の量を特定します。
ZFS スナップショットの保持 – 古いスナップショットが送信側にはもう存在しないという理由で zfs receive コマンドによってうっかり破棄されてしまうような、さまざまな自動スナップショットポリシーを実装している場合、このリリースで新しく追加されたスナップショット保持機能の使用を検討することをお勧めします。
スナップショットの保持によって、それが破棄されるのを防げます。また、この機能により、zfs destroy -d コマンドで最後のクローンが削除されるまで、削除されるクローンが含まれるスナップショットをそのままにしておけます。
1 つまたは 1 組のスナップショットを保持するには、zfs hold コマンドで keep ホールドタグを指定します。
トリプルパリティ RAID-Z (raidz3) – このリリースでは、冗長な RAID-Z 構成にシングルパリティ、ダブルパリティ、またはトリプルパリティを含めることができるようになりました。つまり、データの損失なしにそれぞれ 1 台、2 台、または 3 台のデバイス障害に持ちこたえることができます。ストレージプールの作成時に、トリプルパリティ RAID-Z 構成用の raidz3 キーワードを指定できます。
ZFS ログデバイスの拡張機能 – このリリースでは、次のログデバイスの拡張機能を利用できます。
logbias プロパティー – このプロパティーを使用して、特定のデータセットの同期要求の処理方法を ZFS に指示することができます。logbias を latency に設定すると、ZFS はストレージプール専用のログデバイス (存在する場合) を使用して低遅延で要求を処理します。logbias を throughput に設定すると、ZFS はストレージプール専用のログデバイスを使用しません。代わりに、ZFS はプール全体のスループットやリソースの有効利用に合わせて同期処理を最適化します。デフォルト値は latency です。ほとんどの構成では、デフォルト値で十分です。ただし、logbias=throughput 値に設定すると、データベースファイルへの書き込みのパフォーマンスが向上することがあります。
ログデバイスの削除 – zpool remove コマンドを使用して、ストレージプールからログデバイスを削除できるようになりました。1 台のログデバイスを削除するには、デバイス名を指定します。ミラー化ログデバイスを削除するには、ログデバイスの最上位のミラーを指定します。個別のログデバイスをシステムから削除すると、ZFS インテントログ (ZIL) トランザクションレコードがメインプールに書き込まれます。
冗長なトップレベルの仮想デバイスは、数値識別子で識別されるようになりました。たとえば、2 つのディスクからなるミラー化ストレージプールでは、トップレベルの仮想デバイスは mirror-0 になります。
ZFS ストレージプールの復旧 – ベースとなるデバイスが利用できなくなった場合、電源障害が発生した場合、または冗長な ZFS 構成でサポートされているよりも多くのデバイスが故障した場合、ストレージプールが損傷を受ける可能性があります。このリリースには、損傷したプールを復旧するための新しいコマンド機能が用意されています。ただし、この復旧機能を使用すると、プールの機能停止よりも前に発生したいくつかの最新のトランザクションが失われる可能性があります。
zpool clear および zpool import コマンドがサポートしている -F オプションを使えば、損傷したプールを復旧できる可能性があります。また、zpool status、zpool clear、および zpool import コマンドは、損傷したプールを自動的に報告します。これらのコマンドは、プールの復旧方法についても説明します。
新しい ZFS システムプロセス – このリリースでは、各ストレージプールにプロセス zpool- poolname が関連付けられています。このプロセス内のスレッドは、ストレージプールの I/O 処理スレッドで、圧縮やチェックサムの検証などの I/O タスクの処理に使われます。このプロセスの目的は、各ストレージプールの CPU 使用率を目に見えるようにすることです。このプロセスに関する情報は、ps および prstat コマンドを使って確認できます。このプロセスは、大域ゾーンでのみ利用できます。詳細は、SDC(7) のマニュアルページを参照してください。
ミラー化 ZFS ストレージプールの分割 (zpool split) – このリリースでは、zpool split コマンドを使用して、ミラー化ストレージプールを分割できます。これにより、同一のプールをもう 1 つ作成するために元のミラー化プール内のディスクが切り離されます。
高速クラッシュダンプ機能を使用すると、システムはより短時間でクラッシュダンプを保存でき、使用する容量も削減できます。クラッシュダンプの実行に必要な時間は、プラットフォームに応じて 2 倍ないし 10 倍速くなりました。クラッシュダンプを savecore ディレクトリに保存するために必要なディスク容量は、2 分の 1 ないし 10 分の 1 に削減されます。
新しいクラッシュダンプ機能では、クラッシュダンプファイルの作成と圧縮を高速化するために、大規模システム上の負荷の軽い CPU を利用します。新しいクラッシュダンプファイル vmdump.n は、vmcore.n および unix.n ファイルの圧縮版です。圧縮されたクラッシュダンプは、より迅速にネットワーク上を移動し、その後オフサイトで解析できます。ダンプファイルを mdb ユーティリティーなどのツールで使用する場合は、その前にダンプファイルを圧縮解除する必要があります。ダンプファイルの圧縮解除には、savecore コマンドをローカルまたはリモートで使用します。
また、新しい -z オプションが dumpadm コマンドに追加されました。このオプションを使用すると、ダンプを圧縮形式または非圧縮形式のどちらで保存するかを指定できます。デフォルトの形式は圧縮形式になります。
詳細は、dumpadm(1M) および savecore(1M) のマニュアルページを参照してください。また、『System Administration Guide: Advanced Administration』の「Managing System Crash Dump Information」も参照してください。
Intel Xeon プロセッサ 5600 番台では、IA32_ENERGY_PERF_BIAS MSR (Model Support Register) をサポートしています。MSR をハードウェア上の希望するエネルギーおよびパフォーマンスバイアスに設定できます。このリリースでは、ブート時にレジスタを設定できます。レジスタを設定するには、次の行を /etc/system ファイルに追加して、システムをリブートします。
set cpupm_iepb_policy = `value`
ここで、value は 0 から 15 までの数値です。
詳細は、『 Intel 64 and IS-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, part 1』 を参照してください。
複数のディスクセクターサイズを使用すると、セクターサイズが 512 バイト、1024 バイト、2048 バイト、または 4096 バイトのディスク上で Oracle Solaris OS を実行できます。
また、この機能では次の処理もサポートします。
セクターサイズの大きいディスクへの正しいラベル付け
I/O の実行 (raw とブロック)
ZFS 非ルートディスクのサポート
セクターサイズの大きいディスクを特定するためのXen および Oracle VM Server for SPARC のサポート
iSCSI イニシエータの調整可能パラメータを使用すると、iSCSI イニシエータに固有のパラメータをいくつかチューニングして、特定の iSCSI ターゲットにアクセスできます。この機能により、さまざまなネットワークシナリオでの iSCSI イニシエータの接続応答時間が大幅に向上します。特に、iSCSI イニシエータとターゲット間のネットワーク速度が遅かったり、ネットワークが不安定だったりする場合に、この機能は効果的です。これらのチューニング可能パラメータは、iscsiadm コマンドまたはライブラリ libima インタフェースを使って管理できます。
パスモードの cpio コマンドは、疎ファイル内のホールを保持します。このリリースでは、Oracle Solaris Live Upgrade などの、パスモードで cpio を利用する管理ツールによってホールが埋められなくなりました。代わりに、これらのツールはスパースファイル内のホールを正確にコピーします。
詳細は、lseek(2) および cpio(1) のマニュアルページを参照してください。
64 ビットの libc 文字列関数がストリーミング SIMD 拡張機能 (SSE) を使って拡張されました。これにより、x86 プラットフォームで実行される 64 ビットのアプリケーション用の一般的な strcmp()、strcpy()、および strlen() 関数のパフォーマンスが大幅に向上します。ただし、2M バイト以上の文字列をコピーまたは比較するアプリケーションでは、 memcpy() および memmove() 関数を代わりに使用するようにしてください。
このリリースでは、sendmail.cf および submit.mc 構成ファイルの自動再構築を行えるように、新しいプロパティーが sendmail サービスに追加されました。また、sendmail インスタンスが 2 つのインスタンスに分割されて、従来のデーモンやクライアントキューランナーをより適切に管理できるようになりました。
これらの拡張機能の詳細については、『System Administration Guide: Network Services』の「What’s New With Mail Services」を参照してください。
このリリース以降、SPARC プラットフォームでのブートアーカイブの回復は自動で行われます。
x86 プラットフォームでのブートアーカイブの自動回復をサポートするために、新しい auto-reboot-safe プロパティーがブート構成サービス svc:/system/boot-config:default に追加されました。デフォルトでは、このプロパティーの値は false に設定され、不明のブートデバイスに対してシステムが自動的にリブートを行わないようになっています。ただし、システムが BIOS ブートデバイスと、Oracle Solaris 10 OS がインストールされるデフォルトの GRUB メニューエントリを指すように設定されている場合は、プロパティーの値を true に設定できます。この値を使用すると、期限切れのブートアーカイブを回復する目的でシステムの自動リブートを実行できます。
このプロパティーの値を設定または変更するには、svccfg および svcadm コマンドを使用します。SMF サービスの設定の詳細については、svccfg(1M) および svcadm(1M) のマニュアルページを参照してください。
ブートアーカイブの自動回復の詳細については、boot(1M) のマニュアルページを参照してください。
ブートアーカイブの自動回復を使って障害を解決する手順については、『System Administration Guide: Basic Administration』の「Automatic Boot Archive Recovery」を参照してください。