NetApp ONTAP NFS 구성
NFS를 통해 NetApp ONTAP 스토리지 시스템과의 Trident 통합을 활성화하려면 스토리지 시스템과의 통신을 지원하는 백엔드를 생성해야 합니다. 이 솔루션에 기본 백엔드를 구성하지만, 보다 맞춤화된 옵션을 원할 경우 설명서를 참조하십시오 "여기".
ONTAP에서 SVM을 생성합니다
-
ONTAP System Manager에 로그인하고 스토리지 > 스토리지 VM으로 이동한 다음 추가를 클릭합니다.
-
SVM의 이름을 입력하고 NFS 프로토콜을 설정한 다음 Allow NFS Client Access 확인란을 선택하고, 워크로드 클러스터에서 볼륨을 PVS로 마운트하도록 허용하는 엑스포트 정책 규칙에 작업자 노드가 있는 서브넷을 추가합니다.
NSX-T를 사용하여 NAT로 구축된 사용자 클러스터 또는 워크로드 클러스터를 사용하는 경우 송신 서브넷(TKGS0의 경우 또는 TKGI의 경우 부동 IP 서브넷)을 엑스포트 정책 규칙에 추가해야 합니다. -
데이터 LIF와 SVM 관리 계정에 대한 세부 정보를 제공한 다음 저장을 클릭합니다.
-
SVM에 애그리게이트를 할당합니다. Storage > Storage VMs 로 이동하고 새로 생성된 SVM 옆에 있는 줄임표를 클릭한 다음 Edit 를 클릭합니다. Limit Volume Creation to Preferred Local Tiers 확인란을 선택하고 필요한 애그리게이트를 이 체크박스에 연결합니다.
-
Trident가 설치될 사용자 또는 워크로드 클러스터의 NAT가 구축된 경우 SNAT로 인해 비표준 포트에서 스토리지 마운트 요청이 도착할 수 있습니다. 기본적으로 ONTAP에서는 루트 포트에서 시작된 볼륨 마운트 요청만 허용합니다. 따라서 ONTAP CLI에 로그인하고 설정을 수정하여 비표준 포트의 마운트 요청을 허용합니다.
ontap-01> vserver nfs modify -vserver tanzu_svm -mount-rootonly disabled
백엔드 및 StorageClasses를 생성합니다
-
NFS를 지원하는 NetApp ONTAP 시스템의 경우 backendName, managementLIF, datLIF, svm, 사용자 이름을 사용하여 jumphost에 백엔드 구성 파일을 생성합니다. 암호 및 기타 세부 정보
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nas+10.61.181.221", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.221", "svm": "trident_svm", "username": "admin", "password": "password" }
사용자 지정 backendName 값을 storageDriverName 과 NFS를 함께 사용하여 쉽게 식별할 수 있도록 하는 데이터 LIF를 함께 정의하는 것이 좋습니다. -
다음 명령을 실행하여 Trident 백엔드를 생성합니다.
[netapp-user@rhel7]$ ./tridentctl -n trident create backend -f backend-ontap-nas.json +-------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +-------------------------+----------------+--------------------------------------+--------+---------+ | ontap-nas+10.61.181.221 | ontap-nas | be7a619d-c81d-445c-b80c-5c87a73c5b1e | online | 0 | +-------------------------+----------------+--------------------------------------+--------+---------+
-
백엔드가 생성되면 다음 번에 스토리지 클래스를 생성해야 합니다. 다음 샘플 저장소 클래스 정의에서는 필수 및 기본 필드를 강조 표시합니다. 매개 변수 'backendType'은 새로 생성된 Trident 백엔드의 스토리지 드라이버를 반영해야 합니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-nfs provisioner: csi.trident.netapp.io parameters: backendType: "ontap-nas"
-
kubeck 명령을 실행하여 스토리지 클래스를 생성합니다.
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-nfs.yaml storageclass.storage.k8s.io/ontap-nfs created
-
스토리지 클래스를 생성한 후 첫 번째 영구 볼륨 클레임(PVC)을 생성해야 합니다. 다음은 샘플 PVC 정의입니다. 'torageClassName' 필드가 방금 만든 스토리지 클래스의 이름과 일치하는지 확인합니다. 프로비저닝 워크로드에 따라 필요에 따라 PVC 정의를 추가로 사용자 지정할 수 있습니다.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-nfs
-
kubbeck 명령을 실행하여 PVC를 생성한다. 생성 중인 백업 볼륨의 크기에 따라 생성 시간이 다소 걸릴 수 있으므로 완료 시 프로세스를 확인할 수 있습니다.
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-b4370d37-0fa4-4c17-bd86-94f96c94b42d 1Gi RWO ontap-nfs 7s