複数のインスタンスへのボリュームのアタッチ

ブロック・ボリュームを複数のコンピュート・インスタンスにアタッチする方法を学習します。

制限事項および考慮事項

  • ブロック・ボリューム・サービスは、複数のインスタンスにアタッチされたブロック・ボリュームに対する同時書込み操作の調整を提供しません。そのため、ブロック・ボリュームを読取り/書込みおよび共有可能として構成する場合は、共有ストレージの上にクラスタ対応システムまたはソリューションをデプロイする必要があります。読取り/書込みアクセスが可能な複数インスタンス・ボリュームのアタッチメントの構成を参照してください。

  • ブロック・ボリュームを読取り専用としてインスタンスにアタッチすると、これを他のインスタンスにアタッチできるのは、読取り専用としてのみです。ブロック・ボリュームを読取り/書込みとしてインスタンスにアタッチする場合は、ブロック・ボリュームをすべてのインスタンスからデタッチしてから、ブロック・ボリュームをインスタンスに読取り/書込みとして再アタッチします。

  • ブロック・ボリュームが読取り/書込み共有不可としてインスタンスにすでにアタッチされている場合、1番目のインスタンスからデタッチするまでこれを別のインスタンスにアタッチすることはできません。その後、そのインスタンスを読取り/書込み共有可能として、1番目と2番目のインスタンスの両方に再アタッチできます。

  • ブロック・ボリュームは、アタッチされているすべてのインスタンスからデタッチされるまで削除できません。「ボリューム詳細」ページの「リソース」セクションから、ブロック・ボリュームにアタッチされているインスタンスを表示する場合、選択したコンパートメント内のインスタンスのみが表示されることに注意してください。コンパートメントを変更して、ボリュームにアタッチされた追加のインスタンスをリストすることが必要になる場合があります。

  • ボリュームがUltra High Performanceレベルに構成されていない場合、共有ボリュームに最大32個のインスタンスをアタッチできます

  • Ultra High Performanceレベル用に構成されたボリュームには、マルチパス対応のアタッチメントが必要です。マルチパス対応アタッチメントを持つ最大25個のインスタンスを、Ultra High Performance用に構成された共有ボリュームにアタッチできます。25を超える追加のマルチパス対応添付を添付しようとすると、添付プロセスは失敗します。

  • 読取り専用としてアタッチされたブロック・ボリュームは、デフォルトで共有可能として構成されます。

  • ブロック・ボリューム・パフォーマンスで示されたパフォーマンスの特性はボリューム単位であるため、ブロック・ボリュームが複数インスタンスにアタッチされると、アタッチされたすべてのインスタンス間でパフォーマンスが共有されます。

  • Ultra High Performanceレベル用に構成されたボリュームは、複数のインスタンスにアタッチすることもできますが、Ultra High PerformanceおよびUltra High Performance以外に構成されたアタッチメントを含む、すべてのアタッチメントの合計IOPSおよびスループットは、ボリュームの制限に制限されます。詳細は、「超高パフォーマンス」および「超高パフォーマンス・ボリュームのためのアタッチメントの構成」を参照してください。

読取り/書込みアクセス権を持つ複数インスタンスのボリューム・アタッチメントの構成

ブロック・ボリューム・サービスでは、複数のインスタンスにアタッチされたボリュームに対する同時書込み操作の調整は行われません。無制御の読取り/書込み操作によるデータ破損を防止するには、ボリュームを使用する前に、クラスタ対応システムまたはソリューション(Oracle Cluster File Systemバージョン2 (OCFS2)など)を共有ストレージ上にインストールして構成する必要があります。

Oracle Cloud Infrastructureでの複数のインスタンスによるブロック・ボリュームのアタッチ機能を使用した共有ファイル・システムの作成で説明されているように、OCFS2を使用したシナリオのサンプル・ウォークスルーを確認できます。このシナリオに必要なステップのサマリーは次のとおりです:

  1. コンソール、CLIまたはAPIを使用して、ブロック・ボリュームを「読取り/書込み - 共有可能」としてインスタンスにアタッチします。

  2. OCFS2/O2CBクラスタ・ノードを設定します。

  3. OCFS2ファイル・システムおよびマウント・ポイントを作成します。

必須IAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者が、テナンシ管理者がポリシーでセキュリティ・アクセス権を付与したグループのメンバーである必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、テナンシ管理者に、どのタイプのアクセス権があり、どのコンパートメントでアクセスが作業する必要があるかを管理者に確認してください。

管理者用: ユーザーがコンピュート・インスタンスを起動するのポリシーで、既存のブロック・ボリュームをアタッチ/デタッチできることが指定されています。ボリューム管理者がブロック・ボリューム、バックアップおよびボリューム・グループを管理するのポリシーを使用すると、指定したグループはブロック・ボリュームおよびバックアップに関するすべての操作を実行できますが、インスタンスを起動することはできません。

ポリシーを初めて使用する場合は、アイデンティティ・ドメインの管理および共通ポリシーを参照してください。インスタンス、クラウド・ネットワークまたは他のCore Services APIリソースのポリシーの記述に関する参照資料については、コア・サービスの詳細を参照してください。
  • \
    ノート

    インスタンスの詳細ページから複数のインスタンスにボリュームをアタッチするには、複数のインスタンスへのボリュームのアタッチを参照してください。
    1. ナビゲーション・メニューを開き、「記憶域」を選択します。「ブロック・ストレージ」で、「ブロック・ボリューム」を選択します。
    2. 「ブロック・ボリューム」リストで、インスタンスにアタッチするブロック・ボリュームを選択します。

    3. 「リソース」セクションで、「アタッチされたインスタンス」を選択します。

    4. 「インスタンスにアタッチ」を選択します。

    5. ボリューム・アタッチメント・タイプとして「iSCSI」または「準仮想化」を選択します。

      詳細は、ボリューム・アタッチメント・タイプを参照してください。

    6. ボリューム・アクセス・タイプを選択します。複数のインスタンスに対して読取り/書込みアタッチを有効化する場合は「読取り/書込み- 共有可能」を、複数のインスタンスに対する読取り専用アタッチメントを有効化する場合には「読取り専用- 共有可能」を選択します。

      詳細は、ボリューム・アクセス・タイプを参照してください。

    7. 「インスタンスの選択」ドロップダウン・リストで、インスタンスを選択します。
      • インスタンスがリストされたデフォルトとは異なるコンパートメントにある場合は、「コンパートメントの変更」を選択します。
      • OCIDを使用してインスタンスを指定する場合、ENTER INSTANCE OCIDオプションを選択し、テキストボックスにOCIDをコピーします。
    8. インスタンスで一貫性のあるデバイス・パスが関連付けられている場合は、アタッチ時に「デバイス・パス」ドロップダウン・リストからパスを選択する必要があります。これにより、インスタンスの再起動後も一貫性を保つデバイス・パスをボリューム・アタッチメントに対して指定できます。

      この機能およびそれをサポートするインスタンスの詳細は、一貫性のあるデバイス・パスを使用したボリュームへの接続を参照してください

      ヒント

      コンソールからボリュームをアタッチする場合、デバイス・パスの選択が必要です。CLI、REST APIsまたはSDKを使用してボリュームをアタッチする場合、デバイス・パスの指定がオプションです。
    9. 仮想マシン(VM)インスタンス上の準仮想化ボリューム・アタッチメントの場合は、オプションで、インスタンスとブロック・ボリューム・サービスのストレージ・サーバー間で転送されるデータを暗号化できます。これを行うには、「転送中暗号化の使用」チェック・ボックスを選択します。ボールト・サービスを使用して管理する暗号化キーを使用するようにボリュームを構成した場合、このキーが転送中暗号化に使用されます。それ以外の場合は、Oracle提供の暗号化キーが使用されます。

      転送中暗号化をサポートするベア・メタル・インスタンス上のiSCSIアタッチメントの場合、転送中暗号化はデフォルトで有効であり、構成はできません。

      転送中暗号化の詳細は、ブロック・ボリュームの暗号化を参照してください。

    10. 「添付」を選択します。

      ボリュームのアイコンに「アタッチ中」と表示されなくなった場合、アタッチメント・タイプが「準仮想化」であれば、そのボリュームを使用できます。アタッチメント・タイプが「iSCSI」の場合、まずボリュームに接続する必要があります。詳細は、ブロック・ボリュームへの接続に関する項を参照してください。

      Linuxベース・インスタンスで、インスタンスの起動時にブロック・ボリュームを自動的にマウントする場合は、/etc/fstabファイル内に特定のオプションを設定する必要があります。そうしない場合、インスタンスの起動に失敗することがあります。これは、iSCSIアタッチメント・タイプと準仮想化アタッチメント・タイプの両方に適用されます。一貫性のあるデバイス・パスを使用しているボリュームについては、一貫性のあるデバイス・パスを使用したブロック・ボリューム用のfstabオプションを参照してください。それ以外のすべてのボリュームについては、従来のfstabオプションを参照してください。

    インスタンスの詳細ページからボリュームを複数のインスタンスにアタッチするには

    インスタンスの詳細ページからボリュームを複数のインスタンスにアタッチするには

    1. ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
    2. 「インスタンス」リストで、ボリュームをアタッチするインスタンスをクリックします。

    3. 「リソース」で、「アタッチされたブロック・ボリューム」をクリックします。

    4. 「ブロック・ボリュームのアタッチ」をクリックします。

    5. ボリューム・アタッチメント・タイプとして「iSCSI」または「準仮想化」を選択します。

      詳細は、ボリューム・アタッチメント・タイプを参照してください。

    6. ボリューム・アクセス・タイプを選択します。複数のインスタンスに対する読取り/書込みアタッチメントを有効化する場合は「読取り/書込み - 共有可能」を、複数のインスタンスに対する読取り専用アタッチメントを有効化する場合は「読取り専用 - 共有可能」を選択します。

      詳細は、ボリューム・アクセス・タイプを参照してください。

    7. 「ブロック・ボリューム・コンパートメント」ドロップダウン・リストで、コンパートメントを選択します。

    8. アタッチするボリュームを指定します。ボリューム名を使用するには、「ボリュームの選択」を選択し、「ブロック・ボリューム」ドロップダウン・リストからボリュームを選択します。ボリュームOCIDを指定するには、「ボリュームOCIDの入力」を選択し、「ブロック・ボリュームOCID」フィールドにOCIDを入力します。

    9. インスタンスで一貫性のあるデバイス・パスがサポートされている場合は、アタッチ時に「デバイス・パス」ドロップダウン・リストからパスを選択します。これは必須であり、これにより、インスタンスの再起動後も一貫性を保つデバイス・パスをボリューム・アタッチメントに対して指定できます。

      この機能およびそれをサポートするインスタンスの詳細は、一貫性のあるデバイス・パスを使用したボリュームへの接続を参照してください

      ヒント

      コンソールからボリュームをアタッチする場合、デバイス・パスの選択はオプションではなく必須です。CLI、REST APIまたはSDKを使用してボリュームをアタッチする場合、デバイス・パスの指定はオプションです。
    10. 仮想マシン(VM)インスタンス上の準仮想化ボリューム・アタッチメントでは、オプションで、インスタンスとブロック・ボリューム・サービスのストレージ・サーバー間で転送されるデータを暗号化できます。これを行うには、「転送中暗号化の使用」チェック・ボックスを選択します。ボールト・サービスを使用して管理する暗号化キーを使用するようにボリュームを構成した場合、このキーが転送中暗号化に使用されます。それ以外の場合は、Oracle提供の暗号化キーが使用されます。

      転送中暗号化をサポートするベア・メタル・インスタンス上のiSCSIアタッチメントの場合、転送中暗号化はデフォルトで有効であり、構成はできません。

      転送中暗号化の詳細は、ブロック・ボリュームの暗号化を参照してください。

    11. 「アタッチ」をクリックします。

      ボリュームのアイコンに「アタッチ中」と表示されなくなった場合、アタッチメント・タイプが「準仮想化」であれば、そのボリュームを使用できます。アタッチメント・タイプが「iSCSI」の場合、まずボリュームに接続する必要があります。詳細は、ブロック・ボリュームへの接続に関する項を参照してください。

      Linuxベース・インスタンスで、インスタンスの起動時にブロック・ボリュームを自動的にマウントする場合は、/etc/fstabファイル内に特定のオプションを設定する必要があります。そうしない場合、インスタンスの起動に失敗することがあります。これは、iSCSIアタッチメント・タイプと準仮想化アタッチメント・タイプの両方に適用されます。一貫性のあるデバイス・パスを使用しているボリュームについては、一貫性のあるデバイス・パスを使用したブロック・ボリューム用のfstabオプションを参照してください。それ以外のすべてのボリュームについては、従来のfstabオプションを参照してください。

    ブロック・ボリュームの詳細ページからボリュームを複数のインスタンスにアタッチするには

    ブロック・ボリュームの詳細ページからボリュームを複数のインスタンスにアタッチするには

    1. ナビゲーション・メニューを開き、「記憶域」を選択します。「ブロック・ストレージ」で、「ブロック・ボリューム」を選択します。
    2. 「ブロック・ボリューム」リストで、インスタンスにアタッチするブロック・ボリュームをクリックします。

    3. 「リソース」で、「アタッチされたインスタンス」をクリックします。

    4. 「インスタンスにアタッチ」をクリックします。

    5. ボリューム・アタッチメント・タイプとして「iSCSI」または「準仮想化」を選択します。

      詳細は、ボリューム・アタッチメント・タイプを参照してください。

    6. ボリューム・アクセス・タイプを選択します。複数のインスタンスに対する読取り/書込みアタッチメントを有効化する場合は「読取り/書込み - 共有可能」を、複数のインスタンスに対する読取り専用アタッチメントを有効化する場合は「読取り専用 - 共有可能」を選択します。

      詳細は、ボリューム・アクセス・タイプを参照してください。

    7. 「インスタンスの選択」ドロップダウン・リストで、インスタンスを選択します。インスタンスがリストされたデフォルトのコンパートメントとは異なるコンパートメントにある場合は、「コンパートメントの変更」をクリックします。OCIDを使用してインスタンスを指定する場合、ENTER INSTANCE OCIDオプションを選択し、テキストボックスにOCIDをコピーします。

    8. インスタンスで一貫性のあるデバイス・パスがサポートされている場合は、アタッチ時に「デバイス・パス」ドロップダウン・リストからパスを選択します。これは必須であり、これにより、インスタンスの再起動後も一貫性を保つデバイス・パスをボリューム・アタッチメントに対して指定できます。

      この機能およびそれをサポートするインスタンスの詳細は、一貫性のあるデバイス・パスを使用したボリュームへの接続を参照してください

      ヒント

      コンソールからボリュームをアタッチする場合、デバイス・パスの選択はオプションではなく必須です。CLI、REST APIまたはSDKを使用してボリュームをアタッチする場合、デバイス・パスの指定はオプションです。
    9. 仮想マシン(VM)インスタンス上の準仮想化ボリューム・アタッチメントでは、オプションで、インスタンスとブロック・ボリューム・サービスのストレージ・サーバー間で転送されるデータを暗号化できます。これを行うには、「転送中暗号化の使用」チェック・ボックスを選択します。ボールト・サービスを使用して管理する暗号化キーを使用するようにボリュームを構成した場合、このキーが転送中暗号化に使用されます。それ以外の場合は、Oracle提供の暗号化キーが使用されます。

      転送中暗号化をサポートするベア・メタル・インスタンス上のiSCSIアタッチメントの場合、転送中暗号化はデフォルトで有効であり、構成はできません。

      転送中暗号化の詳細は、ブロック・ボリュームの暗号化を参照してください。

    10. 「アタッチ」をクリックします。

      ボリュームのアイコンに「アタッチ中」と表示されなくなった場合、アタッチメント・タイプが「準仮想化」であれば、そのボリュームを使用できます。アタッチメント・タイプが「iSCSI」の場合、まずボリュームに接続する必要があります。詳細は、ブロック・ボリュームへの接続に関する項を参照してください。

      Linuxベース・インスタンスで、インスタンスの起動時にブロック・ボリュームを自動的にマウントする場合は、/etc/fstabファイル内に特定のオプションを設定する必要があります。そうしない場合、インスタンスの起動に失敗することがあります。これは、iSCSIアタッチメント・タイプと準仮想化アタッチメント・タイプの両方に適用されます。一貫性のあるデバイス・パスを使用しているボリュームについては、一貫性のあるデバイス・パスを使用したブロック・ボリューム用のfstabオプションを参照してください。それ以外のすべてのボリュームについては、従来のfstabオプションを参照してください。

  • oci compute volume-attachment attachコマンドを使用して、--instance-id--type--volume-idread-onlyおよび--is-shareableパラメータを指定し、読取り/書込み権限で共有可能なボリュームをインスタンスにアタッチします。

    oci compute volume-attachment attach --instance-id <instance_ID> --type <attachment_type> --volume-id <volume_ID>  --read-only true/false  --is-shareable true

    例:

    oci compute volume-attachment attach --instance-id ocid1.instance.oc1..<unique_ID> --type iscsi --volume-id ocid1.volume.oc1..<unique_ID> --read-only false --is-shareable true

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • AttachVolume操作を実行し、AttachVolumeDetailsリソースのisShareable属性を指定します。

その他のリソース

Oracle Cloud Infrastructureでの共有ファイル・システムのデプロイメント例は、次のリンクを参照してください。

  • BeeGFS: oci-beegfsの自動化されたterraformデプロイメント用のGitHubプロジェクト

  • Lustre: oci-lustreの自動化されたterraformデプロイメント用のGitHubプロジェクト

  • GitHubプロジェクト: Oracle Cloud InfrastructureでのIBM Spectrum Scale (GPFS)分散パラレル・ファイル・システムの自動化されたterraformデプロイメント用のoci-IBM-spectrum-scale