JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 カーネルのチューンアップ・リファレンスマニュアル     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris システムのチューニングの概要

2.  Oracle Solaris カーネルチューニング可能パラメータ

3.  Oracle Solaris ZFS チューニング可能パラメータ

チューニング可能パラメータ情報の記載箇所

ZFS のチューニングの考慮事項

ZFS ARC パラメータ

zfs_arc_min

zfs_arc_max

ZFS ファイルレベルプリフェッチ

zfs_prefetch_disable

ZFS デバイスの入出力キューの深さ

zfs_vdev_max_pending

フラッシュストレージ使用時の ZFS のチューニング

ZFS ログデバイスまたはキャッシュデバイスとしてのフラッシュデバイスの追加

フラッシュおよび NVRAM ストレージデバイスの適切なキャッシュフラッシュ動作の保証

フラッシュデバイスの SCSI マッピング解除に関する考慮事項

データベース製品に対する ZFS のチューニング

Oracle データベース用の ZFS のチューニング

ZFS を MySQL と一緒に使用するときの考慮事項

4.  NFS チューニング可能パラメータ

5.  インターネットプロトコル群のチューニング可能パラメータ

6.  システム機能のパラメータ

A.  チューニング可能パラメータの変更履歴

B.  このマニュアルの改訂履歴

索引

フラッシュストレージ使用時の ZFS のチューニング

次の情報は、Flash SSD、F20 PCIe Accelerator カード、F40 PCIe Accelerator カード、および F5100 フラッシュストレージアレイに適用されます。

フラッシュストレージで ZFS を使用する場合は、次の一般的なコメントを確認してください。

ZFS ログデバイスまたはキャッシュデバイスとしてのフラッシュデバイスの追加

ZFS ログデバイスまたはキャッシュデバイスとしてフラッシュデバイスを追加する場合は、次の推奨事項を確認してください。

フラッシュデバイス c4t1d0 を ZFS ログデバイスとして追加できます。

# zpool add pool log c4t1d0

2 つのフラッシュデバイスを使用できる場合は、ミラー化されたログデバイスを追加できます。

# zpool add pool log mirror c4t1d0 c4t2d0

使用可能なフラッシュデバイスを読み取り用のキャッシュデバイスとして追加できます。

# zpool add pool cache c4t3d0

キャッシュデバイスはミラー化できず、まとめてストライプ化されます。

# zpool add pool cache c4t3d0 c4t4d0

フラッシュおよび NVRAM ストレージデバイスの適切なキャッシュフラッシュ動作の保証

ZFS は、ディスクレベルキャッシュを管理するストレージデバイスと一緒に動作するように設計されています。ZFS は一般的にストレージデバイスに対し、キャッシュフラッシュをリクエストすることによって、データを安定したストレージ上に安全に配置するよう要求します。JBOD ストレージの場合、これは設計どおりに動作するため問題はありません。NVRAM ベースの多くのストレージアレイでは、アレイがキャッシュフラッシュリクエストを取得し、それを無視せずに何らかの処理を実際に行う場合、パフォーマンスの問題が発生することがあります。一部のストレージアレイでは、NVRAM 保護によってこれらのキャッシュが安定したストレージと同様に維持されているにもかかわらず、大量のキャッシュをフラッシュします。

ZFS は uberblock 更新のあと、頻繁でないフラッシュを (5 秒程度の間隔で) 実行します。頻繁でないフラッシュはあまり重要でないため、このチューニングの根拠とはなりません。ZFS はまた、アプリケーションが同期書き込みをリクエストするたびフラッシュを実行します (O_DSYNCfsync、NFS コミットなど)。このタイプのフラッシュが終了するまでアプリケーションが待機するため、パフォーマンスに影響します。実際には、大きく影響します。パフォーマンスの観点からは、これにより NVRAM ベースのストレージを使用するメリットが相殺されます。

キャッシュフラッシュのチューニングは、ログデバイスとして使用された場合のフラッシュデバイスのパフォーマンス向上に役立つことが最近示されました。ZFS に公開されているすべての LUN が NVRAM で保護されたストレージアレイのものであり、かつ保護されていない LUN が将来追加されないことが手順によって保証される場合は、zfs_nocacheflush を設定することによって、フラッシュリクエストを発行しないように ZFS をチューニングできます。ZFS に公開された一部の LUN が NVRAM によって保護されていない場合、このチューニングによって、データ損失、アプリケーションレベルの破壊、またはプールの破壊が生じる可能性があります。NVRAM 保護されている一部のストレージアレイでは、キャッシュフラッシュコマンドは無操作であるため、このような状況でチューニングしてもパフォーマンスに差はありません。

最新の OS 変更ではフラッシュリクエストの意味が限定され、ストレージデバイスが適切に保護されている場合は、それらのデバイスにこのリクエストを無視するよう指示されます。この変更には、ディスクドライバに対する修正と、NVRAM デバイスでこの更新内容をサポートするための修正が必要です。NVRAM デバイスがこの機能強化を認識しない場合は、次の手順を使用して、アレイにキャッシュ同期化コマンドを送信しないよう Solaris OS に指示します。この手順を使用する場合は、すべてのターゲット LUN が実際に NVRAM で保護されていることを確認してください。

フラッシュおよび NVRAM デバイスが未対応のデバイスであることや、キャッシュをフラッシュする必要がないことを OS に正しく通知しない場合があります。キャッシュのフラッシュは負荷の大きい操作です。場合によっては、不必要なフラッシュによってパフォーマンスが大幅に低下する場合があります。

次のチューニングエントリを適用する前に、次の zfs_nocacheflush 構文の制限を確認してください。


注意

注意 - デバイスによって、すべてのキャッシュ同期化コマンドが無視されます。自己責任において使用してください。


  1. format ユーティリティーを使用して、ストレージアレイの LUN で inquiry サブコマンドを実行します。例:

    # format
    .
    .
    .
    Specify disk (enter its number): x
    format> inquiry
    Vendor:   ATA     
    Product:  Marvell      
    Revision: XXXX
    format>
  2. アーキテクチャーに基づいて、次のいずれかを選択します。

    • F40 フラッシュデバイスの場合は、/kernel/drv/sd.conf に次のエントリを追加します。次のエントリで、「ATA 」が 8 文字にパディングされ、「3E128-TS2-550B01」に 16 文字が含まれていることを確認してください。文字列の全体の長さは 24 です。

      sd-config-list="ATA     3E128-TS2-550B01","disksort:false, cache-non:true";
    • F20 および F5100 フラッシュデバイスの場合は、アーキテクチャーに基づいて、次のいずれかを選択します。次のエントリでは、「ATA 」が 8 文字にパディングされ、「MARVELL SD88SA02」に 16 文字が含まれています。文字列の全体の長さは 24 です。

    • 多くの SPARC アーキテクチャー – /kernel/drv/ssd.conf に次のエントリを追加します。

      ssd-config-list = "ATA     MARVELL SD88SA02","throttle-max:32, disksort:false, cache-non:true";
    • x64 およびいくつかの SPARC ドライバ – /kernel/drv/sd.conf に次のエントリを追加します。

      ssd-config-list="ATA     MARVELL SD88SA02","throttle-max:32, disksort:false, cache-non:true";
  3. 示されているように、sd-config-list エントリでベンダー ID (VID) (ここでは ATA) の長さが 8 文字になり、製品 ID (PID) (ここでは MARVELL) の長さが 16 文字になるように、注意深く空白を追加します。

  4. システムをリブートします。

    パフォーマンスに悪影響を与えることなく、zfs_nocacheflush を元のデフォルト値 (0) にチューニングできます。

フラッシュデバイスの SCSI マッピング解除に関する考慮事項

Solaris 11.1 OS には、SCSI マッピング解除ルーチンの過剰な呼び出しを発生させていた問題があります。この特定の問題は、フラッシュのパフォーマンスに悪影響を与えます。回避方法として、次のようにマッピング解除機能を無効にします。