※本ページは、”Exascale Storage Fundamentals“の翻訳です。
(訳注:本記事はオンプレミス環境のExascaleでの内容になります。Exadata Cloud 環境の Exascale 環境には適用されません。)
Exascaleは、マルチテナンシ、リソース・プーリング、エラスティック・データベース・インフラストラクチャと、データ・インテリジェントなExadataストレージ、リモート・ダイレクト・メモリー・アクセス(RDMA)のパフォーマンスを組み合せた次世代のストレージ管理です。この記事シリーズは、Exascaleの基礎を紹介することで、すぐに開始できるようにすることを目的としています。この記事では、物理ディスクからデータベースファイルまで、ExadataストレージがExascaleによってどのように管理されているかをデモンストレーションを通して示します。
最下位レイヤーであるストレージ・サーバー内の物理ドライブのストレージ・メディアから始めましょう。物理ドライブは、グリッド・ディスクまたはプール・ディスクとしてパーティション化され、フォーマットされます。ストレージ・プールは、同じストレージ・サーバー・タイプ(HCまたはEF)のプール・ディスクのコレクションです。Exascaleボールトはメタデータで、データベースまたは仮想マシンで利用されるストレージ・プール、フラッシュ・キャッシュ、RDMAメモリー、フラッシュ・ログをどのように使用するかに関するルールと割当ての集合であす。テンプレートは、各データベース・ファイルのタイプ毎に冗長性とストレージ・メディア・タイプ、ブロックをディスクに書き込むために使用するパフォーマンス・プロファイルを決定します。

ストレージ・メディア
ExascaleストレージはExadataストレージ・サーバーによって提供され、各ストレージ・デバイスはメディア・タイプに従って分類されます。サポートされているメディア・タイプは次のとおりです。
- High Capacity (HC)– ハードディスクドライブ(HDD)を使用する大容量ストレージメディアを識別
- Extreme Flash (EF)– 容量最適化フラッシュ・デバイスを使用する極端なフラッシュ・ストレージ・メディアを識別
ストレージ・サーバーのセル・ディスクを作成すると、Exadataシステム・ソフトウェアで使用する物理ディスクが予約されます。セル・ディスクは、物理ディスクと1対1の関係にあります。グリッド・ディスクまたはプール・ディスクを作成すると、ASMまたはExascaleで使用されるセル・ディスクの一部またはすべてが予約されます。グリッド・ディスクはASMディスク・グループに追加できます。プール・ディスクは、Exascaleストレージ・プールに追加できます。
プール・ディスク
Exascaleは、プール・ディスクとストレージ・プールを使用して、Exadataストレージ・サーバーによって提供される物理ストレージを編成します。プール・ディスクは、Exascaleで使用するために予約されているストレージ・サーバーのディスク割当てです。escliのlsgriddiskコマンドは、作成された、ExascaleクラスタからアクセスできるすべてのExadataグリッド・ディスクとプール・ディスクを表示します。この例では、プールディスクにはpoolの接頭辞のラベルが付けられています。DATA、RECOという接頭辞が付いたグリッド・ディスクもあります。これは、このストレージ・サーバーがASMディスク・グループでも使用されていることを示します。
@>lsgriddisk size diskType cellDisk status name 3298534883328 HardDisk CD_00_cell01 active DATAC1_CD_00_cell01 3298534883328 HardDisk CD_01_cell01 active DATAC1_CD_01_cell01 ... 2199023255552 HardDisk CD_00_cell01 active RECOC1_CD_00_cell01 2199023255552 HardDisk CD_01_cell01 active RECOC1_CD_01_cell01 ... 14300596928512 HardDisk CD_00_cell01 active pool1_CD_00_cell01 14300596928512 HardDisk CD_01_cell01 active pool1_CD_01_cell01 ...
Exascaleストレージ・プールに属するグリッド・ディスクのみを表示する場合は、問合せにフィルタ( –filter )を追加できます。ASMグリッド・ディスクでは、storagePool属性に値がありません。
@>lsgriddisk --filter storagePool size diskType cellDisk status name 14300596928512 HardDisk CD_00_cell01 active pool1_CD_00_cell01 14300596928512 HardDisk CD_01_cell01 active pool1_CD_01_cell01 ...
–detailパラメータを使用してプール・ディスクの詳細を表示すると、プール・ディスクとグリッド・ディスクの両方に共通する追加情報が表示されます。
@>lsgriddisk --detail --filter name="pool1_CD_00_cell01" id pool1_CD_00_cell01@cell01 name pool1_CD_00_cell01 cachedBy FD_02_cell01 cachingPolicy default cell cell01 cellDisk CD_00_cell01 creationTime 1970-01-01T00:00:00-00:00 diskType HardDisk poolDiskStatus online size 14300596928512 spaceUsed 42147774464 status active storagePool pool1 uuid e09863fc-279a-48c3-924f-5a1a7eeeaf00
escliコマンドのlspooldiskコマンドは、lsgriddiskコマンドと同様の情報を表示しますが、プール・ディスクとして割り当てられたストレージ・パーティションのみを表示します。
@>lspooldisk --detail --count 1 id 148 name cell01_.28_5042_8/pool1_CD_00_cell01 cellId 73 gdName pool1_CD_00_cell01 healthy true incarnation 13 size 13.006317138671875T state Uninitialized status ONLINE storagePool pool1
ストレージ・プール
ストレージ・プールは、Exascaleボールトと、ファイルの永続物理ストレージを提供するプール・ディスクの集合体です。各ストレージ・プールは、1つのストレージ・タイプのストレージ・メディア(High Capacity (HC)またはExtreme Flash (EF)のいずれか)のみを使用するプール・ディスクのコレクションです。ストレージメディアタイプが混在するプールディスクを使用してストレージプールを定義することはできません。
Exascaleクラスタには、1つ以上のストレージ・プールがあります。ストレージ・プールには、様々な世代のExadataストレージ・サーバー・ハードウェアに存在するプール・ディスクを含めることができます。これにより、新しい世代のExadataハードウェアに簡単に拡張できます。
escliコマンドのlsstoragepoolコマンドは、ストレージ・プールに関するかなりの詳細を表示します。この例では、Exascaleクラスタ内にpool1というストレージ・プールが1つのみ存在します。cellsCount属性およびdisksCount属性は、5つの異なるストレージ・サーバーがあり、その中に合計60個のグリッド・ディスクがこのストレージ・プールに割り当てられていることを示しています。mediaType属性は、このストレージ・プールが大容量(HC)ストレージ・ディスクで構成されていることを示します。
@>lsstoragepool --detail id pool1 name pool1 cellOfflineTimerInMins 1440 cellsCount 5 diskOfflineTimerInMins 120 disksCount 60 flashCacheProvisionableSize 86.94542255174383171834051609039306640625T flashCacheProvisionedSize 0 guid 4081be6e-e54f134d-dd230bf-d6722bd5 highDataStatus available highRecoStatus available inReconfig false iopsProvisionable 3520560 iopsProvisioned 0 iopsRaw 3520560 mediaType HC normalDataStatus available normalRecoStatus available spaceProvisionable 780.3790283203125T spaceProvisioned 50T spaceRaw 780.3790283203125T spaceUsed 2.572264492511749267578125T sysDataStorePresent true sysDataStoreShardsCount 20 xrmemCacheProvisionableSize 4.4261037441538064740598201751708984375T xrmemCacheProvisionedSize 0
ファイル
Exascaleは、Oracle Database、Oracle Grid Infrastructureに関連付けられたファイルを直接格納および管理するように最適化されています。Exascaleは、管理しているファイルのタイプを自動的に理解します。ファイル・タイプに関連付けられたテンプレートを使用することで、Exascaleは適切なファイル・ストレージ属性を自動的に適用します。このプロセスは、ファイルを格納するストレージプールを間接的に判断します。ASMとは異なり、Exascaleでは、異なる冗長性、パフォーマンス、ディスク配置特性を必要とするファイルのディスク・グループなどの個別の記憶域エンティティは必要ありません。たとえば、データファイルには、高冗長性の特性、大容量ディスク・ストレージへの配置、オンライン・ログ・ファイルから個別の物理ドライブに配置されるエクステントを割り当てることができます。オンライン・ログ・ファイルには、高冗長性の特性、容量最適化フラッシュ・ストレージへの配置、データファイルとは別の物理ドライブに配置されるエクステントを割り当てることができます。これらのファイルはどちらも同じ論理ストレージ・コンテナ(Exascale ボールト)に作成でき、エクステントがストレージに書き込まれる場所と読み取る方法はExascaleによって処理されます。
Exascale ボールト
Exascaleボールトは、ストレージ・サーバーによって提供されるストレージ・リソースをグループ化および制限する論理コンテナです。管理者およびOracle Databaseにとって、Exascaleボールトはファイルを含む最上位ディレクトリのように表示されます。完全修飾Exascaleファイル・パスは、常にアンパサンド(@)文字とボールト名で始まり、その後に残りのファイル・パス(@MYVAULT/myexample/myfilenameなど)が続きます。
Exascaleボールト(およびそのボールトにアクセスできるすべてのデータベース/VM)は、デフォルトで、クラスタ内のすべてのストレージ・プール内のすべてのストレージ・リソースを使用できます。たとえば、次の例のExascaleクラスタには、HCストレージ・プールとEFストレージ・プールの両方があります。属性なしでMYVAULT_ALLボールトを作成すると、両方のストレージ・プールのすべての容量およびパフォーマンス・リソースにアクセスできます。
@>mkvault MYVAULT_ALL Vault @MYVAULT_ALL created. @>lsvault --detail MYVAULT_ALL id MYVAULT_ALL flashCacheProv unlimited flashLogProv true iopsProvEF unlimited iopsProvHC unlimited spaceProvEF unlimited spaceProvHC unlimited xrmemCacheProvEF unlimited xrmemCacheProvHC unlimited
escliコマンドのmkvault MYVAULT_HC_UNLIMITED –attributes spaceProvHC=unlimitedは、spaceProvHC属性を追加することで、Exascaleボールトからアクセス可能なストレージ・リソースのタイプと量を制限します。Vault属性は、ストレージ・プールごとに明示的です。つまり、mkvaultコマンドに属性を追加すると、ボールトはそれらのストレージ・プール・リソースのみに制限されます。MYVAULT_HC_UNLIMITEDボールトは、spaceProvHC=unlimited属性を追加することで、HCストレージ・プールの容量とパフォーマンス・リソースにのみ無制限にアクセスできます。または、mkvault MYVAULT_HC_UNLIMITED –attributes spaceProvEF=0、iopsProvEF=0コマンドでも同じ結果が得られます。
@>mkvault MYVAULT_HC_UNLIMITED --attributes spaceProvHC=unlimited Vault @MYVAULT_HC_UNLIMITED created. @>lsvault --detail MYVAULT_HC_UNLIMITED id MYVAULT_HC_UNLIMITED flashCacheProv unlimited flashLogProv true iopsProvEF 0 iopsProvHC unlimited spaceProvEF 0 spaceProvHC unlimited xrmemCacheProvEF 0 xrmemCacheProvHC unlimited
属性を追加すると、Exascaleボールトで使用可能なストレージ・リソースがさらに制限されます。
@>mkvault MYVAULT_HC_LIMITED --attributes spaceProvHC=1T,iopsProvHC=1000000,flashCacheProv=500G,xrmemCacheProvHC=500G Vault @MYVAULT_HC_LIMITED created. @>lsvault --detail MYVAULT_HC_LIMITED id MYVAULT_HC_LIMITED flashCacheProv 500G flashLogProv true iopsProvEF 0 iopsProvHC 1000000 spaceProvEF 0 spaceProvHC 1T xrmemCacheProvEF 0 xrmemCacheProvHC 500G
テンプレート
Exascaleテンプレートは、ファイル・ストレージ属性設定の名前付きコレクションです。Exascaleでファイルが作成されると、そのファイル・タイプに関連付けられたテンプレートによって、ファイルの格納方法と管理方法が決まります。
テンプレートは次の2つのレベルで定義されます。
クラスタ・テンプレートはクラスタ・レベルで定義されます。クラスタ・テンプレートは、それをオーバーライドするボールト・レベルのテンプレートが存在しない場合に使用されます。
ボールト・テンプレートはボールトレベルで定義されます。ボールト・テンプレートは、対応するクラスタ・テンプレートをオーバーライドするボールト固有の属性を定義します。
テンプレートでは、冗長性、メディア・タイプ、コンテンツ・タイプを定義します。次に、見慣れたファイル・タイプ・テンプレートの一部を示します。
@>lstemplate --cluster redundancy mediaType contentType name high HC RECO ARCHIVELOG high HC DATA DATAFILE high HC DATA ONLINELOG high HC DATA PARAMETERFILE high HC DATA PASSWORD ...
ボールトが作成されると、クラスタ・テンプレートが使用されますが、ボールト・テンプレートを作成することで、ボールト・レベルで各テンプレートをオーバーライドできます。たとえば、データファイルがEF記憶域に格納されるように、MYVAULT_HC_AND_EF_UNLIMITEDボールトのDATAFILEテンプレートをオーバーライドできます。
@>mktemplate --vault MYVAULT_HC_AND_EF_UNLIMITED --file-type DATAFILE --media-type EF --redundancy high --content-type DATA Template created: MYVAULT_HC_AND_EF_UNLIMITED/DATAFILE
クラスタ・レベル・テンプレートをオーバーライドするボールト・レベルのDATAFILEテンプレートが1つあることがわかります。
@>lstemplate --vault-level-only --vault MYVAULT_HC_AND_EF_UNLIMITED redundancy mediaType contentType name high EF DATA DATAFILE
表領域がMYVAULT_HC_UNLIMITEDボールトに作成されると、そのデータファイルはクラスタ・レベルのDATAFILEテンプレートに従って格納され、データファイルはHCストレージ・プールに格納されます。表領域がMYVAULT_HC_AND_EF_UNLIMITEDボールトに作成されると、そのデータファイルはボールト・レベルのDATAFILEテンプレートに従って格納され、データファイルはEFストレージ・プールに格納されます。
@>ls @MYVAULT_HC_UNLIMITED/ --attributes id,contentType,fileType,mediaType id contentType fileType mediaType @MYVAULT_HC_UNLIMITED/.../DATAFILE/MYTBSHC.OMF.776DDAB1 DATA DATAFILE HC @MYVAULT_HC_UNLIMITED/.../DATAFILE/MYTBSHC.OMF.074E62A8 DATA DATAFILE HC @MYVAULT_HC_UNLIMITED/.../DATAFILE/MYTBSHC.OMF.0331B5F7 DATA DATAFILE HC @>ls @MYVAULT_HC_AND_EF_UNLIMITED/ --attributes id,contentType,fileType,mediaType id contentType fileType mediaType @MYVAULT_HC_AND_EF_UNLIMITED/.../DATAFILE/MYTBSEF.OMF.6B04ABFE DATA DATAFILE EF @MYVAULT_HC_AND_EF_UNLIMITED/.../DATAFILE/MYTBSEF.OMF.3A3B1E63 DATA DATAFILE EF @MYVAULT_HC_AND_EF_UNLIMITED/.../DATAFILE/MYTBSEF.OMF.0D42E7F8 DATA DATAFILE EF
次のステップ
Exadata Exascaleは、コンテナ・データベース(CDB)、スマート・スキャン、Real Application Clusters (RAC)、Exadata自体など、以前から利用可能な画期的なイノベーションと同様に、データベースのパフォーマンスとスケーラビリティにアプローチするための強力な新しい方法を導入しています。Exascaleは豊富な新機能を提供し、最適化と効率化のためのエキサイティングな可能性を開きます。この一連のExascale記事は、あなたの旅をスムーズにするために設計されており、Exascaleテクノロジの潜在能力を迅速に活用するのに役立ちます。
Exadata Exascaleシリーズ
