로컬 스토리지 오퍼레이터 - 블록
IBM Cloud Satellite® 클러스터에 로컬 볼륨을 사용하여 영구 스토리지를 설정합니다. Satellite 스토리지 템플리트를 사용하여 스토리지 구성을 작성할 수 있습니다. 클러스터에 스토리지 구성을 지정하면 선택한 스토리지 제공자의 스토리지 드라이버가 클러스터에 설치됩니다.
로컬 블록 스토리지 구성을 작성할 때 클러스터에서 지속적 볼륨(PV)으로 사용할 수 있도록 하려는 로컬 블록 스토리지 디바이스 경로를 지정합니다. 클러스터에 스토리지 구성을 지정하면 Satellite가 구성에서 지정한 로컬 디스크를 마운트하는 로컬 스토리지 오퍼레이터를 배치합니다. 오퍼레이터는 로컬 지속적 볼륨을 추가로 작성하고 지속적 볼륨 청구(PVC)를 작성하는 데 사용할 수 있는 sat-local-block-gold 스토리지 클래스를 작성합니다. 그러면 Kubernetes 워크로드에서 PVC를 참조할 수 있습니다.
Satellite 스토리지 서비스의 범위를 리소스 그룹으로 지정할 수 없습니다. 그러나 위치 및 클러스터와 같은 다른 리소스의 범위를 리소스 그룹으로 지정하는 경우에는 Satellite 리더를 추가하고 계정의 모든 리소스에 대한 관리자 역할을 연결해야 합니다.
로컬 블록 스토리지 사용을 위한 전제조건
로컬 블록 스토리지 구성을 작성하기 전에 필요한 사용 가능한 디스크가 있는 클러스터의 작업자 노드를 식별해야 합니다. 그런 다음, 로컬 스토리지 드라이버가 이러한 작업자 노드에만 설치되도록 이러한 작업자 노드에 레이블을 지정하십시오.
-
Satellite 위치를 작성하십시오.
-
스토리지 구성에 사용하려는 클러스터의 작업자 노드에 Satellite에 필요한 디스크 외에 사용 가능한 로컬 디스크가 하나 이상 있는지 확인하십시오. 여분의 디스크는 포맷되지 않아야 합니다.
-
사용 가능한 디스크가 있고 구성에 사용할 작업자 노드에 레이블을 지정하십시오. 로컬 스토리지 드라이버는 레이블이 지정된 작업자 노드에만 설치됩니다.
로컬 블록 스토리지 구성에 대한 디바이스 세부사항 가져오기
로컬 블록 스토리지 구성을 작성할 때 사용할 디바이스를 지정해야 합니다. 다음 단계에서 검색하는 디바이스 경로는 구성을 작성할 때 매개변수로 지정됩니다.
-
클러스터에 로그인하고 사용 가능한 작업자 노드 목록을 가져오십시오. 구성에 사용할 작업자 노드를 기록해 두십시오.
oc get nodes -
로컬 스토리지 구성에 사용할 각 작업자 노드에 로그인하십시오.
oc debug node/<node-name> -
디버그 팟(Pod)이 작업자 노드에 배치되면 다음 명령을 실행하여 작업자 노드에서 사용 가능한 디스크를 나열하십시오.
- 호스트 바이너리를 허용하십시오.
chroot /host ``` 1. 디바이스를 나열하십시오. ```sh {: pre} lsblk ``` 1. 디바이스의 세부사항을 가져오십시오. 사용하려는 디바이스가 마운트 해제되고 포맷되지 않았는지 확인하십시오. ```sh {: pre} fdisk -l ``` -
작업자 노드에서 사용 가능한 블록 스토리지 디스크를 나열하십시오. 로컬 스토리지 구성에 대해 마운트 해제된 디스크를 사용해야 합니다.
lsblk명령의 다음 예제 출력에서는nvme2n1디스크가 마운트 해제되고 파티션이 없습니다.NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:3 0 100G 0 disk |-nvme0n1p1 259:4 0 1M 0 part `-nvme0n1p2 259:5 0 100G 0 part / nvme1n1 259:0 0 20G 0 disk nvme2n1 259:1 0 20G 0 disk nvme3n1 259:2 0 139.7G 0 disk /var/data -
로컬 블록 스토리지 구성에 사용할 각 작업자 노드에 대해 이전 단계를 반복하십시오.
로컬 블록 스토리지를 사용할 때 작업자 노드 레이블 하입합 수니다.
구성에 사용할 디스크의 디바이스 경로를 검색한 후 디스크가 있는 작업자 노드에 레이블을 지정하십시오.
-
작업자 노드 IP 주소를 가져오십시오.
oc get nodes -
이전에 검색한 작업자 노드에 레이블을 지정하십시오. 로컬 스토리지 드라이버는 이 레이블이 있는 작업자 노드에 배치됩니다. 예제 명령에서
storage=local-block레이블을 사용하거나key=value형식으로 사용자 고유의 레이블을 작성할 수 있습니다.oc label nodes <worker-IP> <worker-IP> <worker-IP> "storage=local-block"출력 예
node/<worker-IP> labeled node/<worker-IP> labeled node/<worker-IP> labeled -
레이블이 사용할 작업자 노드에 추가되었는지 확인하십시오. 다음 명령을 실행하여 작업자 노드에 레이블을 표시하고 이전 단계에서 추가한 레이블을 강조표시하십시오.
oc get nodes --show-labels | grep --color=always storage=local-block
콘솔에서 구성 작성 및 지정
-
매개변수 참조를 검토하십시오.
-
'위치' 콘솔에서 스토리지 구성을 생성할 위치를 선택합니다.
-
스토리지 > 스토리지 구성 작성을 선택하십시오.
-
구성의 이름을 입력하십시오.
-
저장소 유형 을 선택하십시오.
-
버전을 선택한 후 ‘다음’을 클릭하세요
-
선택한 스토리지 유형 이 사용자 정의 매개변수를 허용하는 경우 매개변수 탭에서 이를 입력하십시오.
-
선택한 스토리지 유형 에 시크릿이 필요한 경우 시크릿 탭에 시크릿을 입력하십시오.
-
스토리지 클래스 탭에서 구성에 의해 배치되는 스토리지 클래스를 검토하거나 사용자 정의 스토리지 클래스를 작성하십시오.
-
서비스에 지정 탭에서 구성을 지정할 서비스를 선택하십시오.
-
완료를 클릭하여 스토리지 구성을 지정하십시오.
명령줄 인터페이스(CLI)에서 구성 생성하기
-
사용할 템플리트 버전에 대한 매개변수 참조 를 검토하십시오.
-
IBM Cloud에 로그인하십시오.
ibmcloud login -
Satellite 위치를 나열하고
Managed from열을 기록하십시오.ibmcloud sat location ls -
Satellite 위치의
Managed from지역을 대상으로 지정하십시오. 예를 들어wdc의 경우us-east를 대상으로 지정하십시오. 자세한 정보는 Satellite 지역을 참조하십시오.ibmcloud target -r us-east -
default이외의 리소스 그룹을 사용하는 경우 해당 그룹을 대상으로 지정하십시오.ibmcloud target -g RESOURCE_GROUP -
사용할 템플리트 버전에 대해 다음 예제 명령 중 하나를 복사하십시오. 명령에 대한 자세한 정보는 명령 참조 에서
ibmcloud sat storage config create의 내용을 참조하십시오.버전 4.9 구성을 작성하는 예제 명령입니다.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.9 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"버전 4.10 구성을 작성하는 예제 명령입니다.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.10 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"버전 4.11 구성을 작성하는 예제 참조십시오 있고습니다십시오.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.11 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"버전 4.12 구성을 작성하는 명령 예제입니다.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.12 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH"버전 4.13 구성을 작성하는 예제 명령입니다.
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-block --template-version 4.13 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" --param "devicepath=DEVICEPATH" -
사용하려는 설정에 따라 명령을 사용자 정의하십시오.
-
구성을 생성하려면 해당 명령을 실행하십시오.
-
설정이 정상적으로 생성되었는지 확인하십시오.
ibmcloud sat storage config get --config CONFIG
애플리케이션 프로그래밍 인터페이스(API)에서 구성 생성하기
-
API키를 생성한 후 새로 고치기 토큰을 요청하십시오. 자세한 내용은 ‘API 키를 사용하여 IAM(IBM Cloud Identity and Access Management)토큰 생성하기’를 참조하십시오.
-
사용할 템플리트 버전에 대한 매개변수 참조 를 검토하십시오.
-
다음 예제 요청 중 하나를 복사하고 사용할 변수를 대체하십시오.
버전 4.9 구성을 작성하기 위한 요청 예제입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.9\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }버전 4.10 구성을 작성하기 위한 요청 예제입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.10\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }버전 4.11 구성을 작성하기 위한 요청 예제.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.11\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }버전 4.12 구성을 작성하기 위한 요청 예제입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.12\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }버전 4.13 구성을 작성하기 위한 예제 요청입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-block\", \"storage-template-version\": \"4.13\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\",\"user-secret-parameters\": }
명령줄 인터페이스(CLI)에서 할당 생성하기
-
저장소 구성을 나열하고, 클러스터에 할당할 저장소 구성을 기록해 두십시오.
ibmcloud sat storage config ls -
저장을 할당할 클러스터, 클러스터 그룹 또는 서비스의 ID를 확인하십시오.
클러스터가 Satellite Config에 등록되어 있는지 확인하거나 그룹을 작성하려면 Satellite Config와 사용할 클러스터 설정을 참조하십시오.
클러스터 그룹을 나열하는 명령 예제입니다.
ibmcloud sat group ls클러스터를 나열하는 명령 예제입니다.
ibmcloud oc cluster ls --provider satelliteSatellite 서비스를 나열하는 예제 명령입니다.
ibmcloud sat service ls --location LOCATION -
이전에 검색한 클러스터, 그룹 또는 서비스에 스토리지 구성을 지정하십시오. 자세한 정보는
ibmcloud sat storage assignment create명령을 참조하십시오.클러스터 그룹에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME클러스터에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME서비스 클러스터에 구성을 지정하는 예제 명령입니다.
ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME -
지정이 작성되었는지 확인하십시오.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
애플리케이션 프로그래밍 인터페이스(API)에서 스토리지 할당 생성하기
-
다음 예제 요청 중 하나를 복사하십시오.
클러스터에 구성을 지정하기 위한 요청의 다른 연결입니다.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"클러스터 그룹에 구성을 지정하기 위한 요청 예제.
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}" -
변수를 세부사항으로 대체하고 요청을 실행하십시오.
-
지정을 나열하여 지정이 작성되었는지 확인하십시오.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
CLI에서 수동으로 지정 업그레이드
최신 스토리지 템플리트 개정을 사용하도록 지정을 업그레이드하십시오.
-
Satellite 스토리지 지정을 나열하고 업그레이드하려는 Satellite 지정을 기록해 두십시오.
ibmcloud sat storage assignment ls -
Satellite 스토리지 템플리트를 나열하여 사용 가능한 최신 버전을 보십시오.
ibmcloud sat storage template ls -
Satellite 지정을 업그레이드하십시오.
지정을 업그레이드하는 예제 명령입니다.
ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
CLI에서 구성 및 지정에 대한 자동 패치 업데이트 사용
sat storage assignment autopatch enable CLI를 사용하여 지정에 대한 자동 패치 업데이트를 사용으로 설정할 수 있습니다. 자동 패치 업데이트를 사용으로 설정하면 최신 스토리지 템플리트 개정 (패치) 이 자동으로 적용됩니다. 여전히 주요 업데이트를 수동으로 적용해야 합니다.
-
Satellite 스토리지 구성을 나열합니다. 구성 ID를 기록해 두십시오.
ibmcloud sat storage assignment ls -
다음 예제 명령 중 하나를 실행하여 구성 및 연관된 지정에 대한 자동 패치 업데이트를 사용으로 설정하십시오. 이전 단계에서 확인한 구성 ID를 입력하십시오.
지정에 대한 자동 패치 업데이트를 사용으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch enable --config CONFIG (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])지정된 구성에서 모든 스토리지 지정에 대한 자동 패치 업데이트를 사용으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch enable --config CONFIG --all특정 구성에서 모든 지정에 대해 자동 패치 업데이트를 사용하지 않도록 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --all단일 지정 및 특정 구성에 대한 자동 패치 업데이트를 사용 안함으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID다중 지정 및 특정 구성에 대한 자동 패치 업데이트를 사용 안함으로 설정하는 예제 명령입니다.
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
API에서 구성 및 지정 업그레이드
/v2/storage/satellite/updateAssignment API를 사용하여 새 클러스터 또는 클러스터 그룹으로 지정을 업데이트할 수 있습니다. 개정 업데이트를 적용하려면 updateConfigVersion 를 true 로 설정하십시오.
-
다음 예제 요청을 복사하고 업데이트할 클러스터 그룹 및 지정의 변수를 대체하십시오.
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}" -
요청을 실행하십시오.
-
업데이트를 확인하기 위해 지정 세부사항을 가져오십시오.
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
로컬 블록 스토리지를 사용하는 앱 배포
로컬 블록 스토리지 구성을 작성하여 클러스터에 지정한 후에는 로컬 블록 스토리지를 사용하는 앱을 작성할 수 있습니다.
지속적 볼륨에 레이블을 추가하여 특정 지속적 볼륨에 PVC를 맵핑할 수 있습니다. 자세한 정보는 선택기에 대한 Kubernetes 문서를 참조하십시오.
-
로컬 시스템
local-pvc.yaml에 다음 PVC YAML 파일을 저장하십시오.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: local-pvc spec: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk. storageClassName: sat-local-block-gold -
클러스터에 PVC를 작성하십시오.
oc create -f local-pvc.yaml -
PVC가 작성되었는지 확인하십시오.
volumeBindingMode스토리지 클래스의sat-local-block-gold는waitForFirstConsumer입니다.oc get pvc | grep local스토리지가 있는 작업자 노드에 팟이 스케줄링되었는지 확인하거나 스토리지가 필요한 앱을 다른 팟에서 선점하지 않도록
nodeAffinity를 지정하고 팟 우선순위를 설정할 수 있습니다. 자세한 정보는 팟 우선순위 및 선점 및 노드 연관관계 설정에 대한 Kubernetes 문서를 참조하십시오. -
로컬 스토리지 PVC를 사용하는 앱 팟(Pod)을 배치하십시오. 로컬 시스템
app.yaml에 다음 예제 앱 YAML을 파일로 저장하십시오. 이 예제에서nodeAffinity스펙은 지정된 레이블이 있는 작업자 노드로만 이 팟(Pod)을 스케줄할 수 있도록 합니다.apiVersion: v1 kind: Pod metadata: name: app spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: storage # Enter the 'key' of the worker node label created earlier. operator: In values: - local-block # Enter the 'value' of the worker label that you created earlier. containers: - name: nginx image: nginx volumeDevices: - name: data devicePath: "/dev/nvme2n1" # Enter the path to your local device. volumes: - name: data persistentVolumeClaim: claimName: local-pvc -
클러스터에 앱 팟(Pod)을 작성하십시오.
oc create -f app.yaml -
앱 팟(Pod)에 로그인하고 로컬 디스크에 쓸 수 있는지 확인하십시오.
kubectl exec <pod_name> -it bash -
디렉토리를
dev폴더로 변경하십시오.cd dev -
ls -lR <device-path>명령을 실행하여 디바이스 세부사항을 확인하고 애플리케이션 팟(Pod)에 명령 출력에서brw로 표시되는 블록 디바이스에 대한 읽기 및 쓰기 권한이 있을 수 있는지 확인하십시오.ls -lR /dev/nvme2n1출력 예
brw-rw-rw-. 1 root disk 202, 32 Mar 3 21:24 /dev/nvme2n1 -
선택사항 다음 명령을 실행하여 데이터를 블록 디바이스에 기록하십시오.
- 앱에 마운트한 로컬 저장 장치에
"block_data"를 기록하세요.<device-path>을 사용자의 저장 장치의 경로로 바꾸십시오. 예:/dev/nvme2n1.
kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>" ``` 2. 데이터가 디바이스에 기록되었는지 확인하십시오. `<device-path>`를 스토리지 디바이스의 경로로 바꾸십시오. 예: `/dev/nvme2n1`. ```sh {: pre} kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>" ``` 출력 예 ```sh {: screen} b l o c k _ d a t a ``` - 앱에 마운트한 로컬 저장 장치에
-
test팟(Pod)을 삭제하십시오.oc delete pod <pod_name>
CLI에서 수동으로 구성 업그레이드
Satellite 스토리지 구성을 업그레이드하여 동일한 주요 버전 내에서 최신 스토리지 템플릿 개정판을 적용할 수 있습니다.
-
Satellite 스토리지 구성을 나열하고 업그레이드하려는 Satellite 구성을 기록해 두십시오.
ibmcloud sat storage config ls -
Satellite 구성을 업그레이드하십시오. 구성만 업데이트된다는 점을 참고하십시오. 이 구성을 사용하는 지정을 업그레이드하려는 경우에는
--include-assignments옵션을 지정하거나,assignment update명령을 사용하여 각 지정을 수동으로 업데이트할 수 있습니다.구성을 최신 개정판으로 업그레이드하는 예제 명령입니다.
ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]구성 및 관련 할당을 최신 개정판으로 업그레이드하는 명령어 예시.
ibmcloud sat storage config upgrade --config CONFIG --include-assignments
콘솔에서 스토리지 지정 업데이트
Satellite 콘솔 을 사용하여 지정에 최신 패치 업데이트를 적용할 수 있습니다.
-
Satellite 콘솔의 위치 페이지에서 위치를 선택하십시오.
-
스토리지 탭을 클릭하여 구성을 보십시오.
-
업데이트하려는 구성을 클릭하세요.
-
최신 개정판 또는 패치를 적용하려면 정보 정보 (i) 아이콘을 클릭하십시오.
-
선택사항: 스토리지 지정에 대해 자동 패치 업데이트를 사용으로 설정하십시오. 자동 패치 업데이트를 사용으로 설정하면 지정에 항상 최신 보안 수정사항이 포함됩니다.
자동 패치 업데이트를 사용하는 경우에도 주요 업데이트를 수동으로 적용해야 합니다.
클러스터에서 로컬 블록 스토리지 구성 제거
더 이상 클러스터에서 로컬 블록 스토리지를 사용할 계획이 없는 경우 스토리지 구성에서 클러스터를 지정 해제할 수 있습니다.
스토리지 구성을 제거하면 로컬 스토리지 운영자 자원 및 sat-local-block-gold 스토리지 클래스가 지정된 모든 클러스터에서 설치 제거됩니다. PVC, PV 및 데이터는 제거되지 않습니다. 하지만 클러스터에 드라이버를 다시 설치하기 전까지는 데이터에 접근할 수 없습니다.
콘솔에서 로컬 블록 스토리지 구성 제거
콘솔을 사용하여 스토리지 구성을 제거하십시오.
- Satellite 스토리지 대시보드에서 삭제할 스토리지 구성을 선택하십시오.
- 조치 > 삭제를 선택하십시오.
- 스토리지 구성의 이름을 입력하십시오.
- 삭제를 선택하십시오.
명령행에서 로컬 블록 스토리지 구성 제거
-
local-storage네임스페이스에 있는 리소스를 나열하십시오. 스토리지 지정을 삭제하면 이러한 리소스가 제거됩니다.oc get all -n local-storage출력 예
NAME READY STATUS RESTARTS AGE pod/local-disk-local-diskmaker-clvg6 1/1 Running 0 29h pod/local-disk-local-diskmaker-kqddq 1/1 Running 0 29h pod/local-disk-local-diskmaker-p6z9q 1/1 Running 0 29h pod/local-disk-local-provisioner-dw5g7 1/1 Running 0 29h pod/local-disk-local-provisioner-hxd9n 1/1 Running 0 29h pod/local-disk-local-provisioner-tfg95 1/1 Running 0 29h pod/local-storage-operator-df4994656-7826l 1/1 Running 0 29h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/local-storage-operator ClusterIP 172.21.147.17 <none> 60000/TCP 29h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/local-disk-local-diskmaker 3 3 3 3 3 <none> 29h daemonset.apps/local-disk-local-provisioner 3 3 3 3 3 <none> 29h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/local-storage-operator 1/1 1 1 29h NAME DESIRED CURRENT READY AGE replicaset.apps/local-storage-operator-df4994656 1 1 1 29h -
스토리지 지정을 나열하고 클러스터에 사용한 지정을 찾으십시오.
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER) -
지정을 제거하십시오. 지정이 제거되면 로컬 스토리지 드라이버 팟(Pod) 및 스토리지 클래스가 스토리지 지정의 파트였던 모든 클러스터에서 제거됩니다.
ibmcloud sat storage assignment rm --assignment <assignment_ID> -
local-storage네임스페이스에 있는 리소스를 나열하고 로컬 스토리지 드라이버 팟(Pod)이 제거되었는지 확인하십시오.oc get all -n local-storage출력 예
No resources found in local-storage namespace. -
클러스터의 스토리지 클래스를 나열하고 로컬 스토리지 클래스가 제거되었는지 확인하십시오.
oc get sc -
선택사항: 스토리지 구성을 제거하십시오.
- 스토리지 구성을 나열하십시오.
ibmcloud sat storage config ls ``` 2. 스토리지 구성을 제거하십시오. ```sh {: pre} ibmcloud sat storage config rm --config <config_name> ``` -
PVC를 나열하고 제거할 PVC의 이름을 기록하십시오.
oc get pvc -
PVC를 현재 마운트하는 팟(Pod)을 제거하십시오.
- 삭제할 PVC를 현재 마운트하는 모든 팟(Pod)을 나열하십시오. 팟(Pod)이 리턴되지 않으면 현재 PVC를 사용하는 팟(Pod)이 없는 것입니다.
oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>" ``` 출력 예 ```sh {: screen} app sat-local-block-gold ``` 2. PVC를 사용하는 팟(Pod)을 제거하십시오. 팟(Pod)이 배치의 일부인 경우에는 배치를 제거하십시오. ```sh {: pre} oc delete pod <pod_name> ``` ```sh {: pre} oc delete deployment <deployment-name> ``` 3. 팟(Pod) 또는 배치가 제거되었는지 확인하십시오. ```sh {: pre} oc get pods ``` ```sh {: pre} oc get deployments ``` -
PVC를 삭제하십시오. 모든 IBM 제공 로컬 블록 스토리지 클래스는
Retain재확보 정책으로 지정되므로 앱 또는 배치를 삭제할 때 PV 및 PVC가 자동으로 삭제되지 않습니다.oc delete pvc <pvc-name> -
PVC가 제거되었는지 확인하십시오.
oc get pvc -
PV를 나열하고 제거할 PV의 이름을 기록하십시오.
oc get pv -
PV를 삭제하십시오. PV를 삭제하면 다른 워크로드에 사용할 수 있는 디스크가 작성됩니다.
oc delete pv <pv-name> -
PV가 제거되었는지 확인하십시오.
oc get pv
매개변수 참조
4.9 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 자동 스토리지 볼륨 감지 | auto-discover-devices |
Config | 작업자 노드에서 스토리지 볼륨을 자동으로 검색하고 사용하려면 'true'로 설정하십시오. | false |
| 노드 레이블 키 | label-key |
Config | 작업자 노드 '키=값' 레이블의 '키'입니다. | 해당사항 없음 |
| 노드 레이블 키 값 | label-value |
Config | 작업자 노드 '키=값' 레이블의 '값'입니다. | 해당사항 없음 |
| 디바이스 경로 | devicepath |
Config | 로컬 스토리지 디바이스 경로. 예: '/dev/sdc'. 'auto-discover-devices'가 'false'로 설정된 경우 필수입니다. | 해당사항 없음 |
4.10 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 자동 스토리지 볼륨 감지 | auto-discover-devices |
Config | 작업자 노드에서 스토리지 볼륨을 자동으로 검색하고 사용하려면 'true'로 설정하십시오. | false |
| 노드 레이블 키 | label-key |
Config | 작업자 노드 '키=값' 레이블의 '키'입니다. | 해당사항 없음 |
| 노드 레이블 키 값 | label-value |
Config | 작업자 노드 '키=값' 레이블의 '값'입니다. | 해당사항 없음 |
| 디바이스 경로 | devicepath |
Config | 로컬 스토리지 디바이스 경로. 예: '/dev/sdc'. 'auto-discover-devices'가 false로 설정된 경우 필수입니다. | 해당사항 없음 |
4.11 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 자동 스토리지 볼륨 감지 | auto-discover-devices |
Config | 작업자 노드에서 스토리지 볼륨을 자동으로 검색하고 사용하려면 'true'로 설정하십시오. | false |
| 노드 레이블 키 | label-key |
Config | 작업자 노드 '키=값' 레이블의 '키'입니다. | 해당사항 없음 |
| 노드 레이블 키 값 | label-value |
Config | 작업자 노드 '키=값' 레이블의 '값'입니다. | 해당사항 없음 |
| 디바이스 경로 | devicepath |
Config | 로컬 스토리지 디바이스 경로. 예: '/dev/sdc'. 'auto-discover-devices'가 false로 설정된 경우 필수입니다. | 해당사항 없음 |
4.12 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 자동 스토리지 볼륨 감지 | auto-discover-devices |
Config | 작업자 노드에서 스토리지 볼륨을 자동으로 검색하고 사용하려면 'true'로 설정하십시오. | false |
| 노드 레이블 키 | label-key |
Config | 작업자 노드 '키=값' 레이블의 '키'입니다. | 해당사항 없음 |
| 노드 레이블 키 값 | label-value |
Config | 작업자 노드 '키=값' 레이블의 '값'입니다. | 해당사항 없음 |
| 디바이스 경로 | devicepath |
Config | 로컬 스토리지 디바이스 경로. 예: '/dev/sdc'. 'auto-discover-devices'가 false로 설정된 경우 필수입니다. | 해당사항 없음 |
4.13 매개변수 참조
| 표시 이름 | CLI 옵션 | 유형 | 설명 | 기본값 |
|---|---|---|---|---|
| 자동 스토리지 볼륨 감지 | auto-discover-devices |
Config | 작업자 노드에서 스토리지 볼륨을 자동으로 검색하고 사용하려면 'true'로 설정하십시오. | false |
| 노드 레이블 키 | label-key |
Config | 작업자 노드 '키=값' 레이블의 '키'입니다. | 해당사항 없음 |
| 노드 레이블 키 값 | label-value |
Config | 작업자 노드 '키=값' 레이블의 '값'입니다. | 해당사항 없음 |
| 디바이스 경로 | devicepath |
Config | 로컬 스토리지 디바이스 경로. 예: '/dev/sdc'. 'auto-discover-devices'가 false로 설정된 경우 필수입니다. | 해당사항 없음 |
로컬 블록 스토리지에 대한 스토리지 클래스 참조
로컬 블록 스토리지의 Satellite 스토리지 클래스를 검토하십시오. 명령행에서 oc describe sc <storage-class-name> 명령을 사용하여 스토리지 클래스를 설명할 수 있습니다.
| 스토리지 클래스 이름 | 유형 | 재확보 정책 |
|---|---|---|
sat-local-block-gold |
블록 | 유지 |
로컬 블록 스토리지에 대한 도움말 및 지원 가져오기
- Red Hat OpenShift 문서에서 FAQ를 검토하십시오.
- 문제점 해결 문서 를 검토하여 공통 문제를 해결하십시오.
- 상태 페이지로 이동하여 IBM Cloud 플랫폼 및 리소스의 상태를 확인하세요.
- 스택 오버플로우 를 검토하여 다른 사용자에게 동일한 문제점이 발생했는지 확인하십시오. IBM Cloud 개발 팀에서 볼 수 있도록 ibm-cloud로 질문에 태그를 지정하십시오.
- 'Local Storage Operator - Block' 템플릿과 관련하여 문제가 발생하면, Red Hat 고객 포털에서 이슈를 등록할 수 있습니다.