3.9.2.1 EDVアタッチメントの作成
ボリュームを使用するには、ボリューム・アタッチメントを作成する必要があります。Exascaleダイレクト・ボリューム(EDV)アタッチメントは、RAWブロック・ストレージ・デバイスとして使用することも、ファイル・システムをサポートするために使用することもできます。Exascaleブロック・ボリューム・ストレージにOracle Advanced Cluster File System (ACFS)を実装するには、EDVアタッチメントを使用する必要があります。
ノート:
Oracle Exadata Deployment Assistant (OEDA)を使用した初期システム・デプロイメント時に、Exascale Direct Volume (EDV)サービスが各Exadataコンピュート・ノード(ベア・メタルまたはVM)に構成され、Oracle Grid Infrastructure (GI)クラスタを管理するExascaleユーザーの権限で実行されます。EDVアタッチメントを作成するには、EDVサービスにリンクされたExascaleユーザーを使用する必要があります。
GIクラスタがOracle OSユーザー・アカウントを1つ含む非ロール別ユーザー構成を使用する場合、関連付けられたExascaleユーザーはEDVサービスに関連付けられます。GIクラスタがGrid OSユーザー・アカウントおよびOracle OSユーザー・アカウントを含むロール別構成を使用する場合、EDVサービスはGrid OSアカウントに関連付けられたExascaleユーザーにリンクされます。
EDVサービスにリンクされたExascaleユーザーを検出するには、ESCLI lsinitiatorコマンドを--detailオプションとともに使用し、user属性を調べます。
EDVアタッチメントを作成するには、EDVサービスにリンクされたExascaleユーザーとしてESCLIに接続します。次に、mkvolumeattachmentコマンドを実行して、次を指定します:
-
ボリューム識別子。
lsvolumeコマンドを使用すると、各ボリュームの識別子を検出できます。 -
アタッチメントとともに使用するデバイス名。これはユーザーが指定した名前で、アタッチメントに関連付けられたデバイス・ファイルに適用されます。アタッチ後、対応するデバイス・ファイルは
/dev/exc/にあります。 -
アタッチメントが存在するクラスタ識別子(
giClusterId)または特定のEDVイニシエータ識別子(initiator)。lsinitiatorコマンドを使用すると、クラスタ識別子およびEDVイニシエータ識別子を検出できます。クラスタ全体のアタッチメントを作成すると、Oracle Grid Infrastructure (GI)クラスタのすべてのノードにEDVデバイス・ファイルが作成されます。ノード固有のアタッチメントを作成すると、対応するEDVデバイス・ファイルは、指定したEDVイニシエータに関連付けられたノードにのみ作成されます。
たとえば、次のコマンドでは、ノード固有のEDVアタッチメントを作成します:
@> mkvolumeattachment vol0001_8e4fbaff261440b493e0a5e5e6808e66 my-vol --attributes initiator=1fd9b363-079a-84e2-1fd9-b363079a84e2
この例では:
-
ボリューム識別子は
vol0001_8e4fbaff261440b493e0a5e5e6808e66です。 -
アタッチメントとともに使用するデバイス名は
my-volで、対応するデバイス・ファイルは/dev/exc/my-volにあります。 -
EDVイニシエータ識別子は、
1fd9b363-079a-84e2-1fd9-b363079a84e2です。この値は、EDVアタッチメントをホストする特定のクラスタ・ノード(サーバー)を識別します。
ノート:
-
各EDVアタッチメントには、
/dev/exc-devNにカーネル・デバイス・ファイルもあります(Nは、デバイスのマイナー番号です)。カーネル・デバイス名はEDVアタッチメントの属性として含まれ、ESCLIlsvolumeattachmentコマンドを使用して確認できます。iostatなどのほとんどのLinuxツールでは/dev/exc-devNのカーネル・デバイス・ファイルが表示され、Exascaleコマンドではユーザー命名のデバイス・ファイル(/dev/exc/の下)が使用されることに注意してください。カーネル・デバイス・ファイルとユーザー命名デバイス・ファイルの関係もudevデータベースに記録され、次のLinuxコマンドを使用して確認できます:
# udevadm info device-fileudevadmコマンドでは、device-file値に対して、カーネル・デバイス・ファイル(/dev/exc-devN)またはユーザー命名デバイス・ファイル(/dev/exc/の下)を指定できます。 -
デフォルトでは、EDVデバイス・ファイルへの読取り/書込みアクセスは、
rootオペレーティング・システム・ユーザーおよびdiskグループのメンバーのみが利用できます。ユースケースによっては、EDVデバイス・ファイルを使用する前に、ファイルに対する権限の変更が必要になる場合があります。たとえば、
/dev/exc/my-volのEDVデバイス・ファイルをoracleユーザーおよびdbaグループによって読取り/書込み可能にするには、次のようなudevルールを使用して構成できます:# cat /etc/udev/rules.d/57-edv-user.rules KERNEL=="exc-*", ENV{EXC_ALIAS}=="my-vol", OWNER="oracle", GROUP="dba", MODE="0660" -
EDVデバイスに関連するudevルールの管理を容易にするために、各EDVクライアント・ノードは、要件を満たすように変更できる
/etc/udev/rules.d/57-edv-user.rulesのテンプレートudevルール・ファイルを使用して構成されます。既存のudevルールを維持するために、EDVクライアント・ソフトウェアが更新されるたびに、/etc/udev/rules.d/57-edv-user.rulesは保持されます。 -
各EDVクライアント・ノードは、同時に最大3000個のアタッチメントのサポートが可能です。この制限には、サーバーに関連するすべてのクラスタ・アタッチメントの合計と、サーバーに固有のローカル・アタッチメントが含まれます。
-
単純なケースでは、
edvmkvolコマンドを使用して、Exascaleボリュームおよび関連するExascaleダイレクト・ボリューム(EDV)アタッチメントの作成を合理化できます。
親トピック: ボリューム・アタッチメントの管理