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)機能に依存します。