Skip to main content
Active IQ Unified Manager
9.7
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

LUNのプロビジョニング

ストレージ仮想マシン(SVM)に LUN をプロビジョニングするには、Active IQ Unified Manager の一部として提供されるプロビジョニング API を使用します。このプロビジョニングワークフローでは、LUN を作成する前に、SVM、パフォーマンスサービスレベル、およびストレージ効率ポリシーのキーを取得する手順を詳しく説明します。

次の図は、LUNのプロビジョニング ワークフローの手順を示しています。

LUN を作成する
メモ

このワークフローは、ONTAP クラスターが Unified Manager に追加され、クラスターキーが取得済みであることを前提としています。このワークフローでは、SVM がすでにクラスター上に作成されていることを前提としています。

  1. 「クラスタ上の SVM の検証」ワークフローのトピックで説明されている手順に従って、LUN を作成する SVM の SVM キーを取得します。

  2. 次のAPIを実行し、応答からパフォーマンス サービス レベルのキーを取得します。

    カテゴリ HTTP動詞 パス

    storage-provider

    GET

    /storage-provider/performance-service-levels

    メモ

    システム定義のパフォーマンスサービスレベルの詳細を取得するには、 `system_defined`入力パラメータを `true`に設定します。出力結果から、LUNに適用するパフォーマンスサービスレベルのキーを取得します。

  3. 必要に応じて、次のAPIを実行し、応答からLUNに適用するストレージ効率化ポリシーのキーを取得します。

    カテゴリ HTTP動詞 パス

    storage-provider

    GET

    /storage-provider/storage-efficiency-policies

  4. 作成するLUNターゲットへのアクセスを付与するイニシエータ グループ(igroup)が作成されているかどうかを確認します。

    カテゴリ HTTP動詞 パス

    datacenter

    GET

    /datacenter/protocols/san/igroups /datacenter/protocols/san/igroups/{key}

    igroupがアクセス権を有するSVMをパラメータ値として入力する必要があります。また、特定のigroupを照会する場合は、入力パラメータとしてigroup名(キー)を指定します。

  5. アクセスを付与するigroupが出力に見つかった場合は、そのキーを取得します。見つからない場合はigroupを作成します。

    カテゴリ HTTP動詞 パス

    datacenter

    POST

    /datacenter/protocols/san/igroups

    作成するigroupの詳細を入力パラメータとして指定する必要があります。これは同期呼び出しであり、igroupの作成を出力で確認できます。エラーが発生した場合はエラー メッセージが表示されるため、トラブルシューティングして要求を再実行します。

  6. LUNを作成

    カテゴリ HTTP動詞 パス

    storage-provider

    POST

    /storage-provider/luns

    LUNを作成する場合は、取得した値を必須パラメータとして指定する必要があります。

    メモ

    ストレージ効率化ポリシーは、LUNの作成ではオプションのパラメータです。

    サンプルcURL

    作成するLUNのすべての詳細を入力パラメータとして指定する必要があります。

    curl -X POST "https://<hostname>/api/storage-provider/luns" -H "accept: application/json" -H
        "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d
        "{ \"name\": \"MigrationLunWithVol\", \"os_type\": \"windows\",
        \"performance_service_level\": { \"key\": \"7873dc0d-0ee5-11ea-82d7-fa163ea0eb69\" },
        \"space\": { \"size\": 1024000000 }, \"svm\": { \"key\":
        \"333fbcfa-0ace-11ea-9d6d-00a09897cc15:type=vserver,uuid=4d462ec8-0f56-11ea-9d6d-00a09897cc15\"
        }}"

    JSON出力にジョブ オブジェクト キーが表示され、作成したLUNの検証に使用できます。

  7. ジョブの照会で返されたジョブ オブジェクト キーを使用して、LUNの作成を確認します。

    カテゴリ HTTP動詞 パス

    management-server

    GET

    /management-server/jobs/{key}

    応答の末尾に、作成されたLUNのキーが表示されます。

        {
          "name": "lunKey",
          "value": "key": "f963839f-0f95-11ea-9963-00a098884af5:type=lun,uuid=71f3187e-bf19-4f34-ba34-b1736209b45a"
        }
     ],
     "_links": {
        "self": {
          "href": "/api/management-server/jobs/fa7c856d29e2b80f%3A-8d3325d%3A16e9eb5ed6d%3A-548b"
        }
     }
    }
  8. 返されたキーを指定して次のAPIを実行し、LUNの作成を確認します。

    カテゴリ HTTP動詞 パス

    storage-provider

    GET

    /storage-provider/luns/{key}

    JSON出力例

    POST メソッドでは、 /storage-provider/luns`内部的に各関数に必要なすべての API を呼び出し、オブジェクトを作成します。たとえば、LUN にパフォーマンスサービスレベルを割り当てるために `/storage-provider/performance-service-levels/ API を呼び出します。

    {
      "key": "f963839f-0f95-11ea-9963-00a098884af5:type=lun,uuid=71f3187e-bf19-4f34-ba34-b1736209b45a",
      "name": "/vol/NSLM_VOL_LUN_1574753881051/LunForTesting1",
      "uuid": "71f3187e-bf19-4f34-ba34-b1736209b45a",
      "cluster": {
        "uuid": "f963839f-0f95-11ea-9963-00a098884af5",
        "key": "f963839f-0f95-11ea-9963-00a098884af5:type=cluster,uuid=f963839f-0f95-11ea-9963-00a098884af5",
        "name": "sti2552-4451574693410",
        "_links": {
          "self": {
            "href": "/api/datacenter/cluster/clusters/f963839f-0f95-11ea-9963-00a098884af5:type=cluster,uuid=f963839f-0f95-11ea-9963-00a098884af5"
          }
        }
      },
      "svm": {
        "uuid": "7754a99c-101f-11ea-9963-00a098884af5",
        "key": "f963839f-0f95-11ea-9963-00a098884af5:type=vserver,uuid=7754a99c-101f-11ea-9963-00a098884af5",
        "name": "Testingsvm1",
        "_links": {
          "self": {
            "href": "/api/datacenter/svm/svms/f963839f-0f95-11ea-9963-00a098884af5:type=vserver,uuid=7754a99c-101f-11ea-9963-00a098884af5"
          }
        }
      },
      "volume": {
        "uuid": "961778bb-2be9-4b4a-b8da-57c7026e52ad",
        "key": "f963839f-0f95-11ea-9963-00a098884af5:type=volume,uuid=961778bb-2be9-4b4a-b8da-57c7026e52ad",
        "name": "NSLM_VOL_LUN_1574753881051",
        "_links": {
          "self": {
            "href": "/api/datacenter/storage/volumes/f963839f-0f95-11ea-9963-00a098884af5:type=volume,uuid=961778bb-2be9-4b4a-b8da-57c7026e52ad"
          }
        }
      },
      "assigned_performance_service_level": {
        "key": "861f6e4d-0c35-11ea-9d73-fa163e706bc4",
        "name": "Value",
        "peak_iops": 75,
        "expected_iops": 75,
        "_links": {
          "self": {
            "href": "/api/storage-provider/performance-service-levels/861f6e4d-0c35-11ea-9d73-fa163e706bc4"
          }
        }
      },
      "recommended_performance_service_level": {
        "key": null,
        "name": "Idle",
        "peak_iops": null,
        "expected_iops": null,
        "_links": {}
      },
      "assigned_storage_efficiency_policy": {
        "key": null,
        "name": "Unassigned",
        "_links": {}
      },
      "space": {
        "size": 1024458752
      },
      "os_type": "linux",
      "_links": {
        "self": {
          "href": "/api/storage-provider/luns/f963839f-0f95-11ea-9963-00a098884af5%3Atype%3Dlun%2Cuuid%3D71f3187e-bf19-4f34-ba34-b1736209b45a"
        }
      }
    }

LUNの作成またはマッピングに失敗した場合のトラブルシューティング手順

このワークフローを完了したあとも引き続きLUNの作成に失敗することがあります。LUNの作成に成功しても、LUNを作成したノードにSAN LIFまたはアクセス エンドポイントがないためにigroupとのLUNマッピングが失敗することがあります。エラーが発生した場合は、次のメッセージが表示されます。

The nodes <node_name> and <partner_node_name> have no LIFs configured with the iSCSI or FCP protocol for Vserver <server_name>. Use the access-endpoints API to create a LIF for the LUN.

このエラーを回避するには、次のトラブルシューティング手順を実行します。

  1. LUNを作成しようとしたSVMに、ISCSI/FCPプロトコルをサポートするアクセス エンドポイントを作成します。

    カテゴリ HTTP動詞 パス

    storage-provider

    POST

    /storage-provider/access-endpoints

    サンプルcURL

    作成するアクセス エンドポイントの詳細を、入力パラメータとして指定する必要があります。

    メモ

    入力パラメータに、LUNのホームノードを示す `address`とホームノードのパートナーノードを示す `ha_address`が追加されていることを確認してください。この操作を実行すると、ホームノードとパートナーノードの両方にアクセスエンドポイントが作成されます。

    curl -X POST "https://<hostname>/api/storage-provider/access-endpoints" -H "accept:
        application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d "{ \"data_protocols\": [ \"iscsi\" ], \"ip\": {
        \"address\": \"10.162.83.126\", \"ha_address\": \"10.142.83.126\", \"netmask\":
        \"255.255.0.0\" }, \"lun\": { \"key\":
        \"e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=lun,uuid=b8e0c1ae-0997-47c5-97d2-1677d3ec08ff\" },
        \"name\": \"aep_example\" }"
  2. JSON出力で返されたジョブ オブジェクト キーを使用してジョブを照会し、SVMにアクセス エンドポイントを追加するジョブが正常に実行されたこと、およびSVMでiSCSI/FCPサービスが有効になっていることを確認します。

    カテゴリ HTTP動詞 パス

    management-server

    GET

    /management-server/jobs/{key}

    JSON出力例

    出力の最後に、作成されたアクセスエンドポイントのキーが表示されます。以下の出力では、 `"name": "accessEndpointKey"`の値は、LUN のホームノード上に作成されたアクセスエンドポイントを示し、そのキーは `9c964258-14ef-11ea-95e2-00a098e32c28`です。 `"name": "accessEndpointHAKey"`の値は、ホームノードのパートナーノード上に作成されたアクセスエンドポイントを示し、そのキーは `9d347006-14ef-11ea-8760-00a098e3215f`です。

      "job_results": [
        {
          "name": "accessEndpointKey",
          "value": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=network_lif,lif_uuid=9c964258-14ef-11ea-95e2-00a098e32c28"
        },
        {
          "name": "accessEndpointHAKey",
          "value": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=network_lif,lif_uuid=9d347006-14ef-11ea-8760-00a098e3215f"
        }
      ],
      "_links": {
        "self": {
          "href": "/api/management-server/jobs/71377eeea0b25633%3A-30a2dbfe%3A16ec620945d%3A-7f5a"
        }
      }
    }
  3. LUNを変更してigroupマッピングを更新します。ワークフローの変更に関する詳細については、「Modifying storage workloads」を参照してください。

    カテゴリ HTTP動詞 パス

    storage-provider

    PATCH

    /storage-provider/lun/{key}

    入力で、LUNマッピングの更新に使用するigroupキーと、LUNキーを指定します。

    サンプルcURL

    curl -X PATCH "https://<hostname>/api/storage-provider/luns/e4f33f90-f75f-11e8-9ed9-00a098e3215f%3Atype%3Dlun%2Cuuid%3Db8e0c1ae-0997-47c5-97d2-1677d3ec08ff"
    -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <Base64EncodedCredentials>" -d
    "{ \"lun_maps\": [ { \"igroup\":
    { \"key\": \"e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28\" },
    \"logical_unit_number\": 3 } ]}"

    JSON出力にジョブ オブジェクト キーが表示され、マッピングが成功したかどうかの検証に使用できます。

  4. LUNキーを指定して照会することで、LUNマッピングを確認します。

    カテゴリ HTTP動詞 パス

    storage-provider

    GET

    /storage-provider/luns/{key}

    JSON出力例

    出力を見ると、LUN が igroup (キー d19ec2fa-fec7-11e8-b23d-00a098e32c28)で正常にマッピングされたことがわかります。これは最初にプロビジョニングされた際に使用されていたものです。

    {
      "key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=lun,uuid=b8e0c1ae-0997-47c5-97d2-1677d3ec08ff",
      "name": "/vol/NSLM_VOL_LUN_1575282642267/example_lun",
      "uuid": "b8e0c1ae-0997-47c5-97d2-1677d3ec08ff",
      "cluster": {
        "uuid": "e4f33f90-f75f-11e8-9ed9-00a098e3215f",
        "key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=cluster,uuid=e4f33f90-f75f-11e8-9ed9-00a098e3215f",
        "name": "umeng-aff220-01-02",
        "_links": {
          "self": {
            "href": "/api/datacenter/cluster/clusters/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=cluster,uuid=e4f33f90-f75f-11e8-9ed9-00a098e3215f"
          }
        }
      },
      "svm": {
        "uuid": "97f47088-fa8e-11e8-9ed9-00a098e3215f",
        "key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=vserver,uuid=97f47088-fa8e-11e8-9ed9-00a098e3215f",
        "name": "NSLM12_SVM_ritu",
        "_links": {
          "self": {
            "href": "/api/datacenter/svm/svms/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=vserver,uuid=97f47088-fa8e-11e8-9ed9-00a098e3215f"
          }
        }
      },
      "volume": {
        "uuid": "a1e09503-a478-43a0-8117-d25491840263",
        "key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=volume,uuid=a1e09503-a478-43a0-8117-d25491840263",
        "name": "NSLM_VOL_LUN_1575282642267",
        "_links": {
          "self": {
            "href": "/api/datacenter/storage/volumes/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=volume,uuid=a1e09503-a478-43a0-8117-d25491840263"
          }
        }
      },
      "lun_maps": [
        {
          "igroup": {
            "uuid": "d19ec2fa-fec7-11e8-b23d-00a098e32c28",
            "key": "e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28",
            "name": "lun55_igroup",
            "_links": {
              "self": {
                "href": "/api/datacenter/protocols/san/igroups/e4f33f90-f75f-11e8-9ed9-00a098e3215f:type=igroup,uuid=d19ec2fa-fec7-11e8-b23d-00a098e32c28"
              }
            }
          },
          "logical_unit_number": 3
        }
      ],
      "assigned_performance_service_level": {
        "key": "cf2aacda-10df-11ea-bbe6-fa163e599489",
        "name": "Value",
        "peak_iops": 75,
        "expected_iops": 75,
        "_links": {
          "self": {
            "href": "/api/storage-provider/performance-service-levels/cf2aacda-10df-11ea-bbe6-fa163e599489"
          }
        }
      },
      "recommended_performance_service_level": {
        "key": null,
        "name": "Idle",
        "peak_iops": null,
        "expected_iops": null,
        "_links": {}
      },
      "assigned_storage_efficiency_policy": {
        "key": null,
        "name": "Unassigned",
        "_links": {}
      },
      "space": {
        "size": 1073741824
      },
      "os_type": "linux",
      "_links": {
        "self": {
          "href": "/api/storage-provider/luns/e4f33f90-f75f-11e8-9ed9-00a098e3215f%3Atype%3Dlun%2Cuuid%3Db8e0c1ae-0997-47c5-97d2-1677d3ec08ff"
        }
      }
    }