1 Oracle ASMLIBについて

Oracle ASMLIBは、Oracle Databaseの自動ストレージ管理機能のオプションのサポート・ライブラリです。自動ストレージ管理(ASM)は、データベース管理を簡素化し、オープン・ファイル記述子の数などのカーネル・リソースの使用量を削減します。ASMでは、DBAが多数のOracleデータベース・ファイルを直接管理する必要がなくなり、Oracle Databaseに割り当てられたディスクのグループの管理のみが必要になります。ASMLIBにより、ASMを使用するOracle Databaseが、使用しているディスク・グループに効率的にアクセスできるようになります。

Oracle ASMLIBに関するその他の技術情報は、次のリソースを参照してください。

Oracle ASMLIB 3.0リリース・ノート

Oracle ASMLIBの以前のリリースでは、長年にわたりoracleasmドライバによって実装された複数のバージョンのインタフェースをサポートしていました。ライブラリは、実行時にカーネルによって報告されたoracleasmバージョンに基づいて正しいインタフェースを選択しました。したがって、1つのライブラリ・バイナリを様々なカーネル・リリースで使用できました。

ASMLIBバージョン3.0以降、ライブラリに別のI/O送信インタフェースが追加されました。新しいI/O送信インタフェースは、最新のLinuxカーネルで使用可能な高パフォーマンスのio_uringインタフェースを利用します。oracleasmドライバがロードされていないシステムにASMLIBバージョン3.0がロードされ、io_uringが有効化されているカーネルが実行されており、最新の十分なバージョンのio_uringがサポートされている場合は、io_uringインタフェースを使用して、oracleasmのかわりにI/Oがカーネルに送信されます。

単一のASMLIBバージョン3.0バイナリは、io_uringに加えて、以前のすべてのI/O送信インタフェース・バージョンを処理するため、io_uringが有効になっていないカーネルと有効になっているカーネルを切り替える場合、構成の変更は必要ありません。

ライブラリは、実行中のカーネルに適切なインタフェースを自動的に使用します。

既知の問題

  • データ整合性パススルーは、io_uringインタフェースではサポートされていません。

    カーネルの制限のため、io_uringインタフェースを使用する場合、データ整合性パススルーはサポートされていません。この問題は、以降のカーネル・バージョンで解決される可能性があります。

    この制限は、UEK R6でoracleasmドライバを使用してASMLIBバージョン3.0を実行する場合には適用されません。

  • Arm用のASMLIBバージョン3.0は、Oracle Database 19cでのみサポートされています

oracleasm-support 3.0リリース・ノート

oracleasm-supportパッケージは、ASMLIBのバージョン3.0で動作するように拡張されています。ASMLIBでは、汎用io_uringインタフェースを使用して、この機能を含むカーネル上のASMディスクを管理します。更新されたoracleasm-supportパッケージは、下位互換性により古いカーネルで引き続き機能します。コマンド構文は、実行中のカーネルに関係なく同じままです。

UEK R7またはRHCKを使用するOracle Linux 9を実行しているシステムでは、oracleasm-supportによって自動的にI/Oフィルタが追加され、ASMディスクが誤って上書きされないように保護されます。フィルタは、ASMによって起動されていない書込み操作を拒否し、ディスクがインスタンス化された後のddなどの管理コマンドによるASMディスクへの書込みを防止します。I/Oフィルタ・マップを管理するために、新しいユーザー・レベルのコマンドは必要ありません。ディスク・デバイスに有効なASMディスク・ラベルがあることが判明した場合、フィルタ・マップ・エントリが自動的に追加されます。

oracleasm構成には、システムで使用できるASMディスクの最大数を指定する新しいパラメータORACLEASM_CONFIG_MAX_DISKSがあります。このパラメータは、I/Oフィルタ・マップのサイズを計算するために使用されます。

I/Oフィルタリングは、カーネル内のBPF (Berkeley Packet Filter)機能に依存します。