프로비저닝
Trident 의 프로비저닝은 두 가지 주요 단계로 구성됩니다. 첫 번째 단계에서는 스토리지 클래스를 적합한 백엔드 스토리지 풀 세트와 연결하며 프로비저닝 전에 필요한 준비 작업으로 진행됩니다. 두 번째 단계에는 볼륨 생성 자체가 포함되며 보류 중인 볼륨의 스토리지 클래스와 연관된 스토리지 풀 중에서 스토리지 풀을 선택해야 합니다.
스토리지 클래스 연결
백엔드 스토리지 풀을 스토리지 클래스와 연결하는 것은 스토리지 클래스의 요청된 속성과 해당 속성 모두에 의존합니다. storagePools , additionalStoragePools , 그리고 excludeStoragePools 기울기. 스토리지 클래스를 생성하면 Trident 각 백엔드에서 제공하는 속성과 풀을 스토리지 클래스에서 요청한 속성과 풀과 비교합니다. 스토리지 풀의 속성과 이름이 요청된 모든 속성 및 풀 이름과 일치하면 Trident 해당 스토리지 풀을 해당 스토리지 클래스에 적합한 스토리지 풀 세트에 추가합니다. 또한 Trident 다음에 나열된 모든 스토리지 풀을 추가합니다. additionalStoragePools 해당 속성이 저장 클래스의 요청된 속성 중 일부 또는 전부를 충족하지 않더라도 해당 집합에 대한 목록을 작성합니다. 당신은 사용해야 합니다 excludeStoragePools 스토리지 클래스에 대한 스토리지 풀 사용을 재정의하고 제거하기 위한 목록입니다. Trident 새로운 백엔드를 추가할 때마다 비슷한 프로세스를 수행하여 스토리지 풀이 기존 스토리지 클래스의 스토리지 풀을 충족하는지 확인하고 제외된 것으로 표시된 스토리지 풀을 제거합니다.
볼륨 생성
그런 다음 Trident 스토리지 클래스와 스토리지 풀 간의 연결을 사용하여 볼륨을 프로비저닝할 위치를 결정합니다. 볼륨을 생성하면 Trident 먼저 해당 볼륨의 스토리지 클래스에 대한 스토리지 풀 세트를 가져오고, 볼륨에 대한 프로토콜을 지정하면 Trident 요청된 프로토콜을 제공할 수 없는 스토리지 풀을 제거합니다(예: NetApp HCI/ SolidFire 백엔드는 파일 기반 볼륨을 제공할 수 없고 ONTAP NAS 백엔드는 블록 기반 볼륨을 제공할 수 없습니다). Trident 볼륨을 균등하게 분배하기 위해 결과 집합의 순서를 무작위로 지정한 다음 이를 반복하여 각 스토리지 풀에 볼륨을 차례로 프로비저닝하려고 시도합니다. 둘 중 하나에 성공하면 성공적으로 반환하고, 프로세스에서 발생한 모든 실패를 기록합니다. Trident 요청된 스토리지 클래스 및 프로토콜에 사용 가능한 모든 스토리지 풀을 프로비저닝하지 못한 경우에만 실패를 반환합니다.