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アタッチメントの属性として含まれ、ESCLI lsvolumeattachmentコマンドを使用して確認できます。

    iostatなどのほとんどのLinuxツールでは/dev/exc-devNのカーネル・デバイス・ファイルが表示され、Exascaleコマンドではユーザー命名のデバイス・ファイル(/dev/exc/の下)が使用されることに注意してください。

    カーネル・デバイス・ファイルとユーザー命名デバイス・ファイルの関係もudevデータベースに記録され、次のLinuxコマンドを使用して確認できます:

    # udevadm info device-file

    udevadmコマンドでは、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)アタッチメントの作成を合理化できます。