Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

輸入量

共同作成者 netapp-aruldeepa

既存のストレージボリュームをKubernetes PVとしてインポートするには、 tridentctl import

概要と考慮事項

ボリュームをTridentにインポートすると、次のような効果が得られます。

  • アプリケーションをコンテナ化し、既存のデータセットを再利用する

  • 一時的なアプリケーションにデータセットのクローンを使用する

  • 障害が発生したKubernetesクラスターを再構築する

  • 災害復旧時にアプリケーションデータを移行する

考慮事項

ボリュームをインポートする前に、次の考慮事項を確認してください。

  • Trident はRW (読み取り/書き込み) タイプのONTAPボリュームのみをインポートできます。 DP (データ保護) タイプのボリュームは、 SnapMirror の宛先ボリュームです。ボリュームをTridentにインポートする前に、ミラー関係を解除する必要があります。

  • アクティブな接続なしでボリュームをインポートすることをお勧めします。アクティブに使用されているボリュームをインポートするには、ボリュームのクローンを作成してからインポートを実行します。

    警告 これは、Kubernetes が以前の接続を認識せず、アクティブなボリュームをポッドに簡単に接続できるため、ブロック ボリュームの場合に特に重要です。これによりデータが破損する可能性があります。
  • けれど `StorageClass`PVC で指定する必要がありますが、 Trident はインポート時にこのパラメータを使用しません。ストレージ クラスは、ボリュームの作成時に、ストレージ特性に基づいて利用可能なプールから選択するために使用されます。ボリュームは既に存在するため、インポート時にプールを選択する必要はありません。したがって、PVC で指定されたストレージ クラスと一致しないバックエンドまたはプールにボリュームが存在する場合でも、インポートは失敗しません。

  • 既存のボリューム サイズが決定され、PVC に設定されます。ボリュームがストレージ ドライバーによってインポートされた後、PVC への ClaimRef を使用して PV が作成されます。

    • 回収ポリシーは初期設定では `retain`PVでは。 Kubernetes が PVC と PV を正常にバインドすると、再利用ポリシーはストレージクラスの再利用ポリシーと一致するように更新されます。

    • ストレージクラスの回収ポリシーが `delete`PV が削除されると、ストレージ ボリュームも削除されます。

  • デフォルトでは、 Trident はPVC を管理し、バックエンドのFlexVol volumeと LUN の名前を変更します。あなたは合格することができます `--no-manage`管理されていないボリュームをインポートするためのフラグ。使用する場合 `--no-manage`Trident は、オブジェクトのライフサイクル中に PVC または PV に対して追加の操作を実行しません。 PV が削除されてもストレージ ボリュームは削除されず、ボリュームのクローンやボリュームのサイズ変更などの他の操作も無視されます。

    ヒント このオプションは、コンテナ化されたワークロードに Kubernetes を使用するが、それ以外の場合は Kubernetes の外部でストレージ ボリュームのライフサイクルを管理する場合に役立ちます。
  • PVC と PV に注釈が追加されます。注釈には、ボリュームがインポートされたことと、PVC と PV が管理されているかどうかを示すという 2 つの目的があります。この注釈は変更または削除しないでください。

ボリュームをインポートする

使用できます `tridentctl import`ボリュームをインポートします。

手順
  1. 永続ボリュームクレーム(PVC)ファイルを作成します(例: pvc.yaml ) は、PVC の作成に使用されます。 PVCファイルには以下を含める必要があります namenamespaceaccessModes 、 そして storageClassName。オプションで指定できます `unixPermissions`PVC 定義では。

    以下は最小仕様の例です。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: my_claim
      namespace: my_namespace
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: my_storage_class
    警告 PV 名やボリューム サイズなどの追加パラメータを含めないでください。これにより、インポート コマンドが失敗する可能性があります。
  2. 使用 `tridentctl import`ボリュームを含むTridentバックエンドの名前と、ストレージ上のボリュームを一意に識別する名前 (例: ONTAP FlexVol、Element Volume、 Cloud Volumes Serviceパス) を指定するコマンド。その `-f`PVC ファイルへのパスを指定するには引数が必要です。

    tridentctl import volume <backendName> <volumeName> -f <path-to-pvc-file>

サポートされているドライバーについては、次のボリューム インポート例を確認してください。

ONTAP NAS およびONTAP NAS FlexGroup

Tridentはボリュームインポートをサポートしており、 `ontap-nas`そして `ontap-nas-flexgroup`ドライバー。

メモ
  • Tridentは、 ontap-nas-economy ドライバ。

  • その `ontap-nas`そして `ontap-nas-flexgroup`ドライバーは重複したボリューム名を許可しません。

各ボリュームは、 ontap-nas`ドライバーは、 ONTAPクラスタ上のFlexVol volumeです。 FlexVolボリュームをインポートするには `ontap-nas`ドライバーは同じように動作します。 ONTAPクラスタにすでに存在するFlexVolボリュームは、 `ontap-nas PVC。同様に、 FlexGroupボリュームは次のようにインポートできます。 ontap-nas-flexgroup PVC。

ONTAP NASの例

以下に、管理対象ボリュームと管理対象外ボリュームのインポートの例を示します。

管理ボリューム

次の例では、 managed_volume`バックエンドで `ontap_nas:

tridentctl import volume ontap_nas managed_volume -f <path-to-pvc-file>

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-bf5ad463-afbb-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
管理されていないボリューム

使用する際は `--no-manage`引数が指定されていない場合、 Trident はボリュームの名前を変更しません。

次の例では、 `unmanaged_volume`上の `ontap_nas`バックエンド:

tridentctl import volume nas_blog unmanaged_volume -f <path-to-pvc-file> --no-manage

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-df07d542-afbc-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | false   |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

ONTAP SAN

Tridentはボリュームインポートをサポートしており、 ontap-san (iSCSI、NVMe/TCP、FC)および ontap-san-economy ドライバー。

Trident は、単一の LUN を含むONTAP SAN FlexVolボリュームをインポートできます。これは、 ontap-san ドライバは、各 PVC に対してFlexVol volumeを作成し、 FlexVol volume内に LUN を作成します。Trident はFlexVol volumeをインポートし、それを PVC 定義に関連付けます。Tridentは輸入できる ontap-san-economy 複数の LUN を含むボリューム。

ONTAP SANの例

以下に、管理対象ボリュームと管理対象外ボリュームのインポートの例を示します。

管理ボリューム

管理対象ボリュームの場合、 TridentはFlexVol volumeの名前を pvc-<uuid>`FlexVol volume内のフォーマットとLUNを `lun0

次の例では、 ontap-san-managed FlexVol volumeは、 `ontap_san_default`バックエンド:

tridentctl import volume ontapsan_san_default ontap-san-managed -f pvc-basic-import.yaml -n trident -d

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-d6ee4f54-4e40-4454-92fd-d00fc228d74a | 20 MiB | basic         | block    | cd394786-ddd5-4470-adc3-10c5ce4ca757 | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
管理されていないボリューム

次の例では、 `unmanaged_example_volume`上の `ontap_san`バックエンド:

tridentctl import volume -n trident san_blog unmanaged_example_volume -f pvc-import.yaml --no-manage
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-1fc999c9-ce8c-459c-82e4-ed4380a4b228 | 1.0 GiB | san-blog      | block    | e3275890-7d80-4af6-90cc-c7a0759f555a | online | false   |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

次の例に示すように、Kubernetes ノード IQN と IQN を共有する igroup にマップされた LUN がある場合は、次のエラーが表示されます。 LUN already mapped to initiator(s) in this group 。ボリュームをインポートするには、イニシエーターを削除するか、LUN のマップを解除する必要があります。

iqn およびクラスター iqn にマップされた LUN のイメージ。

要素

TridentはNetApp ElementソフトウェアとNetApp HCIボリュームのインポートをサポートしています。 `solidfire-san`ドライバ。

メモ Element ドライバーは重複したボリューム名をサポートします。ただし、ボリューム名が重複している場合、 Trident はエラーを返します。回避策として、ボリュームのクローンを作成し、一意のボリューム名を指定して、クローンされたボリュームをインポートします。
要素の例

次の例では、 element-managed`バックエンドのボリューム `element_default

tridentctl import volume element_default element-managed -f pvc-basic-import.yaml -n trident -d

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-970ce1ca-2096-4ecd-8545-ac7edc24a8fe | 10 GiB | basic-element | block    | d3ba047a-ea0b-43f9-9c42-e38e58301c49 | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+

Google Cloud Platform

Tridentはボリュームインポートをサポートしており、 `gcp-cvs`ドライバ。

メモ Google Cloud Platform でNetApp Cloud Volumes Serviceによってバックアップされたボリュームをインポートするには、ボリューム パスでボリュームを識別します。ボリュームパスは、ボリュームのエクスポートパスの :/。たとえば、エクスポートパスが 10.0.0.1:/adroit-jolly-swift`ボリュームパスは `adroit-jolly-swift
Google Cloud Platform の例

次の例では、 gcp-cvs`バックエンドのボリューム `gcpcvs_YEppr`ボリュームパスの `adroit-jolly-swift

tridentctl import volume gcpcvs_YEppr adroit-jolly-swift -f <path-to-pvc-file> -n trident

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-a46ccab7-44aa-4433-94b1-e47fc8c0fa55 | 93 GiB | gcp-storage   | file     | e1a6e65b-299e-4568-ad05-4f0a105c888f | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+

Azure NetApp Files

Tridentはボリュームインポートをサポートしており、 `azure-netapp-files`ドライバ。

メモ Azure NetApp Filesボリュームをインポートするには、ボリューム パスでボリュームを識別します。ボリュームパスは、ボリュームのエクスポートパスの :/。たとえば、マウントパスが 10.0.0.2:/importvol1`ボリュームパスは `importvol1
Azure NetApp Files の例

次の例では、 azure-netapp-files`バックエンドのボリューム `azurenetappfiles_40517`ボリュームパス `importvol1

tridentctl import volume azurenetappfiles_40517 importvol1 -f <path-to-pvc-file> -n trident

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-0ee95d60-fd5c-448d-b505-b72901b3a4ab | 100 GiB | anf-storage   | file     | 1c01274f-d94b-44a3-98a3-04c953c9a51e | online | true    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

Google Cloud NetApp Volumes

Tridentはボリュームインポートをサポートしており、 `google-cloud-netapp-volumes`ドライバ。

Google Cloud NetApp Volumes の例

次の例では、 google-cloud-netapp-volumes`バックエンドのボリューム `backend-tbc-gcnv1`ボリュームとともに `testvoleasiaeast1

tridentctl import volume backend-tbc-gcnv1 "testvoleasiaeast1" -f < path-to-pvc> -n trident

+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS        | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+
| pvc-a69cda19-218c-4ca9-a941-aea05dd13dc0 |  10 GiB | gcnv-nfs-sc-identity | file     | 8c18cdf1-0770-4bc0-bcc5-c6295fe6d837 | online | true    |
+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+

次の例では、 `google-cloud-netapp-volumes`同じリージョンに 2 つのボリュームが存在する場合のボリューム:

tridentctl import volume backend-tbc-gcnv1 "projects/123456789100/locations/asia-east1-a/volumes/testvoleasiaeast1" -f <path-to-pvc> -n trident

+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS        | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+
| pvc-a69cda19-218c-4ca9-a941-aea05dd13dc0 |  10 GiB | gcnv-nfs-sc-identity | file     | 8c18cdf1-0770-4bc0-bcc5-c6295fe6d837 | online | true    |
+------------------------------------------+---------+----------------------+----------+--------------------------------------+--------+---------+