3.4.6.1 ライトバックPMEMキャッシュとライトバック・フラッシュ・キャッシュの無効化

Oracle Exadata System Softwareリリース23.1.0より前のリリースでは、ライトバックPMEMキャッシュはライトバック・フラッシュ・キャッシュとの組合せでのみサポートされています。したがって、ライトバックPMEMキャッシュが有効な場合、ライトバック・フラッシュ・キャッシュを無効にするには、ライトバックPMEMキャッシュも無効にする必要があります。

この要件は、Oracle Exadata System Softwareリリース23.1.0より前に対してのみ適用されます。これはPMEMキャッシュOracle Exadata System Softwareリリース23.1.0以降のライトスルー・モードでのみ動作するためです。

ノート:

アプリケーションのパフォーマンスへの影響を抑えるには、ワークロードが低い期間にキャッシュ・モードを変更します。

次のコマンド例では、手順の対象となるストレージ・サーバーのホスト名を含むcell_groupという名前のテキスト・ファイルを使用します。

  1. 現在のPMEMキャッシュ・モード設定(pmemCacheMode)を確認します:
    # dcli –l root –g cell_group cellcli -e "list cell detail" | grep pmemCacheMode
  2. PMEMキャッシュがライトバック・モードの場合:
    1. PMEMキャッシュをフラッシュします。

      PMEMキャッシュが、すべての使用可能なPMEMセル・ディスクを使用する場合は、次に示すようにALLキーワードを使用できます。

      # dcli –l root –g cell_group cellcli ALTER PMEMCACHE ALL FLUSH

      それ以外の場合は、CELLDISK="cdisk1 [,cdisk2] ..."句を使用して特定のディスクをリストします。

    2. PMEMキャッシュを削除します。
      # dcli –l root –g cell_group cellcli DROP PMEMCACHE
    3. PMEMキャッシュをライトスルー・モードで使用するようにセルを構成します。
      # dcli –l root –g cell_group cellcli ALTER CELL pmemCacheMode=writethrough
    4. PMEMキャッシュを再作成します。

      PMEMキャッシュが使用可能なPMEMセル・ディスクをすべて使用する場合、次に示すようにALLキーワードを使用できます。それ以外の場合は、CELLDISK="cdisk1 [,cdisk2] ..."句を使用して特定のディスクをリストします。size属性を指定しない場合、PMEMキャッシュは各セル・ディスク上の使用可能な領域をすべて消費します。

      # dcli –l root –g cell_group cellcli -e CREATE PMEMCACHE ALL
    5. pmemCacheModewritethroughに設定されていることを確認します。
      # dcli –l root –g cell_group cellcli -e "list cell detail" | grep pmemCacheMode
  3. フラッシュ・キャッシュを変更する前に、すべての物理ディスクがNORMAL状態であることを検証します。
    # dcli –l root –g cell_group cellcli –e "LIST PHYSICALDISK ATTRIBUTES name,status" | grep –v NORMAL
    コマンドでは行が戻されません。
  4. フラッシュ・キャッシュ内のダーティ・データの量を確認します。
    # dcli –g cell_group –l root cellcli -e "LIST METRICCURRENT ATTRIBUTES name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\' "
  5. フラッシュ・キャッシュをフラッシュします。

    フラッシュ・キャッシュが、すべての使用可能なフラッシュ・セル・ディスクを使用する場合は、フラッシュ・ディスクをリストするかわりにALLキーワードを使用できます。

    # dcli –g cell_group –l root cellcli -e "ALTER FLASHCACHE CELLDISK=\'FD_02_dm01celadm12,
    FD_03_dm01celadm12,FD_00_dm01celadm12,FD_01_dm01celadm12\' FLUSH"
  6. フラッシュ・キャッシュのフラッシュ操作の進行状況を確認します。

    メトリックFC_BY_DIRTYがゼロになると、フラッシュ・プロセスは完了します。

    # dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\' " 

    属性flushstatusCompletedに設定されているかどうかを確認することもできます。

    # dcli -g cell_group -l root cellcli -e "LIST CELLDISK ATTRIBUTES name, flushstatus,flusherror" | grep FD 
  7. フラッシュ・キャッシュがフラッシュされた後、フラッシュ・キャッシュを削除します。
    # dcli -g cell_group -l root cellcli -e "drop flashcache" 
  8. フラッシュ・キャッシュをライトスルー・モードで使用するようにセルを構成します。
    # dcli -g cell_group -l root cellcli -e "ALTER CELL flashCacheMode=writethrough"
  9. フラッシュ・キャッシュを再作成します。

    フラッシュ・キャッシュが、すべての使用可能なフラッシュ・セル・ディスクを使用する場合は、セル・ディスクをリストするかわりにALLキーワードを使用できます。

    size属性を指定しない場合、フラッシュ・キャッシュは各セル・ディスク上の使用可能な領域をすべて消費します。

    # dcli –l root –g cell_group cellcli -e "create flashcache celldisk=\'FD_02_dm01celadm12,
    FD_03_dm01celadm12,FD_00_dm01celadm12,FD_01_dm01celadm12\'
  10. flashCacheModewritethroughに設定されていることを確認します。
    # dcli –l root –g cell_group cellcli -e "list cell detail" | grep flashCacheMode