プロビジョニング
Tridentでのプロビジョニングには2つのフェーズがあります。最初のフェーズでは、ストレージクラスを適切なバックエンドストレージプールのセットに関連付け、プロビジョニング前の必要な準備として実行します。2番目のフェーズではボリュームの作成自体が行われ、保留状態のボリュームのストレージクラスに関連付けられたストレージプールの中からストレージプールを選択する必要があります。
ストレージクラスの関連付け
バックエンドストレージプールをストレージクラスに関連付けるには、ストレージクラスの要求された属性と、 additionalStoragePools`の `excludeStoragePools`リストの両方が `storagePools`必要です。ストレージクラスを作成すると、 Trident はバックエンドごとに提供される属性とプールを、ストレージクラスから要求された属性とプールと比較します。ストレージプールの属性および名前が要求されたすべての属性およびプール名と一致すると、Tridentはそのストレージクラスに適した一連のストレージプールにそのストレージプールを追加します。さらに、Tridentは、リストに表示されているすべてのストレージプールをそのセットに追加します `additionalStoragePools
。これは、ストレージクラスの要求された属性のすべてまたはいずれかを属性が満たさない場合でも同様です。このリストを使用して、ストレージクラスでのストレージプールの使用を無効にしたり削除したりする必要があり `excludeStoragePools`ます。Tridentでは、新しいバックエンドを追加するたびに同様のプロセスが実行され、そのストレージプールが既存のストレージクラスのストレージクラスを満たしているかどうかがチェックされ、除外としてマークされているものは削除されます。
ボリュームの作成
Tridentでは、ストレージクラスとストレージプールの関連付けを使用して、ボリュームのプロビジョニング先を決定します。ボリュームを作成すると、Tridentはまずそのボリュームのストレージクラスに対応する一連のストレージプールを取得します。ボリュームにプロトコルを指定すると、要求されたプロトコルを提供できないストレージプールはTridentによって削除されます(たとえば、NetApp HCI / SolidFireバックエンドではファイルベースのボリュームを提供できず、ONTAP NASバックエンドではブロックベースのボリュームを提供できません)。Tridentは、この結果セットの順序をランダム化してボリュームを均等に分散し、その順序を繰り返して各ストレージプールでボリュームのプロビジョニングを試みます。成功した場合は正常に返され、プロセスで発生したエラーが記録されます。Tridentは、要求されたストレージクラスとプロトコルで使用可能な*すべての*ストレージプールでのプロビジョニングに失敗した場合にのみ、エラー*を返します。