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 1:8e4fbaff261440b493e0a5e5e6808e66 myvol --attributes initiator=1fd9b363-079a-84e2-1fd9-b363079a84e2

この例では:

  • ボリューム識別子は、1:8e4fbaff261440b493e0a5e5e6808e66です。

  • アタッチメントとともに使用するデバイス名はmyvolで、対応するデバイス・ファイルは/dev/exc/myvolにあります。

  • EDVイニシエータ識別子は、1fd9b363-079a-84e2-1fd9-b363079a84e2です。この値は、EDVアタッチメントをホストする特定のクラスタ・ノード(サーバー)を識別します。

ノート:

  • 各EDVアタッチメントには、/dev/exc-devNにカーネル・デバイス・ファイルもあります(Nは、デバイスのマイナー番号です)。カーネル・デバイス名はEDVアタッチメントの属性として含まれ、ESCLI lsvolumeattachmentコマンドを使用して確認できます。カーネル・デバイス・ファイルと(/dev/exc/の下の)ユーザー命名デバイス・ファイルの関係もudevデータベースに記録され、次のLinuxコマンドを使用して確認できます:

    # udevadm info device-file

    device-file値には、カーネル・デバイス・ファイル(/dev/exc-devN)または(/dev/exc/の下の)ユーザー命名デバイス・ファイルを指定できます。

  • デフォルトでは、EDVデバイス・ファイルへの読取り/書込みアクセスは、rootオペレーティング・システム・ユーザーおよびdiskグループのメンバーのみが利用できます。ユースケースによっては、EDVデバイス・ファイルを使用する前に、ファイルに対する権限の変更が必要になる場合があります。

    たとえば、/dev/exc/myvolのEDVデバイス・ファイルをoracleユーザーおよびdbaグループによって読取り/書込み可能にするには、次のようなudevルールを使用して構成できます:

    # cat /etc/udev/rules.d/57-edv-user.rules
    KERNEL=="exc-*", ENV{EXC_ALIAS}=="myvol", 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クライアント・ノードでは、同時に最大1024個のアタッチメントをサポートできます。この制限には、サーバーに関連するすべてのクラスタ・アタッチメントの合計と、サーバーに固有のローカル・アタッチメントが含まれます。

  • 単純なケースでは、edvmkvolコマンドを使用して、Exascaleボリュームおよび関連するExascaleダイレクト・ボリューム(EDV)アタッチメントの作成を合理化できます。