7장. 확인된 문제
이 섹션에서는 Red Hat OpenShift Container Storage 4.8의 알려진 문제에 대해 설명합니다.
Arbiter 노드는 OpenShift Container Storage 노드 레이블을 사용하여 라벨을 지정할 수 없습니다.
arbiter 노드는 OpenShift Container Storage 노드 레이블 cluster.ocs.openshift.io/openshift-storage
로 레이블이 지정된 경우 유효한 비 할당자 노드로 간주됩니다. 즉, 할당되지 않은 리소스의 배치는 결정되지 않습니다. 이 문제를 해결하려면 중재자 노드에 OpenShift Container Storage 노드 레이블을 지정하지 말고 중재자 리소스만 Arbiter 노드에 배치합니다.
디스크 교체 후 Ceph 상태가 HEALTH_WARN입니다.
디스크를 교체한 후에는 모든 OSD 포드 가 실행 중인 경우에도 최근 경고 1 데몬이
충돌합니다. 이 경고로 인해 Ceph 상태가 변경됩니다. Ceph 상태는 HEALTH_WARN 대신 HEALTH_OK여야 합니다. 이 문제를 해결하려면 ceph-tools Pod로 이동하여 경고를 음소거하면 Ceph 상태가 HEALTH_OK로 돌아갑니다.
CephCluster
리소스에서 사양 모니터링이 재설정됨
ocs-operator
를 다시 시작하거나 업그레이드하는 동안 모니터링 사양이 비어 있게 됩니다. 기능에는 영향을 미치지 않지만 모니터링 엔드포인트 세부 정보를 찾는 경우 비어 있습니다.
이 문제를 해결하려면 4.7에서 4.8로 업그레이드한 후 rook-ceph-external-cluster-details
시크릿을 업데이트하여 활성 MGR의 쉼표로 구분된 IP 주소(예: 활성 MGR의 쉼표로 구분된 IP 주소)가 "MonitoringEndpoint" 데이터 키로 업데이트되도록 합니다. 또한 새로 업그레이드된 클러스터와 업그레이드된 클러스터의 끝점 수의 차이로 인해 향후 발생하는 문제를 방지할 수 있습니다.
noobaa-db-pg-0 문제
호스팅 노드가 중단되면 NooBaa-db-pg-0 Pod가 다른 노드로 마이그레이션되지 않습니다. 노드가 noobaa-db-pg-0 포드의 마이그레이션이 차단된 경우 NooBaa가 작동하지 않습니다.
플러그인 Pod가 삭제되면 노드 재시작이 수행될 때까지 데이터에 액세스할 수 없게 됩니다.
이 문제는 the csi-cephfsplugin
포드를 다시 시작할 때 마운트의 netns
가 삭제되므로 in csi-cephfsplugin
이 마운트된 모든 볼륨을 잠그기 때문입니다. 이 문제는 multus를 사용하여 활성화된 클러스터에서만 볼 수 있습니다.
삭제 후 which csi-cephfsplugin
에서 노드를 다시 시작하면 문제가 해결됩니다.
스냅샷에서 볼륨을 복원하기 위해 암호화 암호는 소스 KMS에 저장됩니다.
상위 및 복원된 PVC에 KMS 설정에서 다른 백엔드 경로가 있는 스토리지 클래스가 다르면 복원된 PVC가 Bound
상태로 전환되고 스냅샷에서 KMS 설정의 백엔드 경로에 암호화 암호가 생성됩니다. 암호화 암호 확인에서 2 StorageClass 경로에서 연결된 설정을 사용하므로 복원된 PVC를 Pod에 연결할 수 없습니다. 여기서 암호화 암호를 백엔드 경로에서 찾을 수 없습니다.
이 문제를 방지하려면 스냅샷을 생성하고 복원할 때 PVC에서 항상 동일한 KMS 설정을 사용해야 합니다.
kv-v2
시크릿 엔진을 사용하는 동안 암호화된 PVC를 삭제한 후에도 Vault에 키가 계속 나열됩니다.
HsheetCorp Vault는 저장된 키를 삭제하면 삭제된 키의 메타데이터가 별도의 단계에서 제거되지 않은 경우 내용을 복구할 수 있는 키-값 저장소 v2의 기능을 추가했습니다. H¢corp Vault의 시크릿에 키-값 v2 스토리지를 사용할 때 볼륨 삭제는 KMS에서 암호화 암호의 메타데이터를 제거하지 않습니다. 나중에 암호화 암호를 복원할 수 있습니다. 부분적으로 삭제된 이러한 키는 KMS에 의해 자동으로 정리되지 않습니다.
제거된 키의 메타데이터를 수동으로 삭제하여 이 문제를 해결할 수 있습니다. metadata에 delete _time
이 설정된 키는 키-값 스토리지 v1을 사용했지만 v2를 사용할 수 있는 경우 삭제된 것으로 가정할 수 있습니다.
상위 PVC보다 크기가 더 큰 스냅샷/복제 작업으로 되돌리면 루프가 생성됩니다.
Ceph CSI는 스냅샷 복원 또는 상위 PVC보다 큰 크기의 복제본 생성을 지원하지 않습니다. 따라서 더 큰 크기의 Snapshot/Clone 작업을 복원하면 루프가 생성됩니다. 이 문제를 해결하려면 보류 중인 PVC를 삭제합니다. 더 큰 PVC를 가져오려면 사용 중인 작업을 기반으로 다음 중 하나를 완료합니다. 스냅샷을 사용하는 경우 기존 스냅샷을 복원하여 상위 PVC와 동일한 크기의 볼륨을 생성한 다음 Pod에 연결하고 PVC를 필요한 크기에 확장합니다. 자세한 내용은 볼륨 스냅샷을 참조하십시오. Clone을 사용하는 경우 상위 PVC를 복제하여 상위 PVC와 동일한 크기의 볼륨을 생성한 다음 Pod에 연결하고 PVC를 필요한 크기에 확장합니다. 자세한 내용은 Volume cloning을 참조하십시오.
스냅샷에서 복원하거나 씩 프로비저닝된 PVC에서 복제된 PVC는 씩 프로비저닝되지 않습니다.
씩 프로비저닝된 PVC의 스냅샷이 씩 프로비저닝
된 스토리지 클래스를 사용하여 복원되면 복원된 볼륨이 씩 프로비저닝되지 않습니다. 복원된 PVC는 씩 프로비저닝 없이 Bound
상태에 도달합니다. 이 문제는 RHCS-5.x를 사용하는 경우에만 수정할 수 있습니다. 이전 Ceph 버전에서는 0으로 채워진 데이터 블록(씩 프로비저닝 시 사용)의 복사를 지원하지 않습니다.
현재 RHCS-4.x 기반 배포 관련 문제를 해결하려면 씩 프로비저닝된 볼륨의 PVC 복제 및 스냅샷 복구를 제한 사항으로 표시하는 것입니다. 새로 만든 볼륨은 씬 프로비저닝됩니다.
씩 프로비저닝이 진행되는 동안 보류 중인 PVC 및 RBD 프로비저너 리더 Pod를 삭제하면 오래된 이미지와AP 메타데이터가 유지됩니다.
RBD PVC가 씩 프로비저닝되면 PVC(영구 볼륨 클레임)가 보류 중
상태입니다. RBD 프로비저너 리더와 PVC 자체가 삭제되면 RBD 이미지와 ICAP 메타데이터는 삭제되지 않습니다.
이 문제를 해결하려면 씩 프로비저닝이 진행되는 동안 PVC를 삭제하지 마십시오.
스토리지 클러스터 사용률이 85%에 도달하거나 PVC를 삭제한 후에도 프로비저닝 시도가 중지되지 않았습니다.
RBD 씩 PVC가 프로비저닝되는 동안 스토리지 클러스터 사용률이 85%에 도달하면 보류 중인 PVC를 삭제하여 프로비저닝 시도가 자동으로 중지되지 않으며 보류 중인 PVC를 삭제한 후에도 RBD 이미지가 삭제되지 않습니다.
요청된 크기가 사용 가능한 스토리지 이외의 경우 최상의 방법은 프로비저닝을 시작하지 않습니다.
kv-v2
를 사용하는 경우 Vault의 OSD 키는 제거 중에 삭제되지 않습니다
키 암호화 키 데이터는 Vault K/V Secret 엔진이 버전 2인 경우 클러스터 삭제 중에 Vault에서 소프트 삭제됩니다. 즉, 모든 버전의 키를 검색할 수 있으므로 삭제가 취소됩니다. 키를 복원할 수 있도록 메타데이터가 계속 표시됩니다. 이로 인해 불편한 경우 "destroy" 인수와 함께 vault 명령을 사용하여 키를 수동으로 삭제할 수 있습니다.
CephBlockPool
삭제가 중단되어 새 풀 생성을 차단합니다.
Multus 활성화된 클러스터에서는 Rook Operator에 네트워크 주석이 없으므로 OSD 네트워크에 액세스할 수 없습니다. 즉, 풀 정리 중에 "rbd" 유형 명령을 실행할 때 OSD에 연결할 수 없기 때문에 명령이 중단됩니다. 해결방법은 toolbox를 사용하여 CephBlockPool
을 수동으로 삭제하는 것입니다.
장치 교체 작업은 암호화된 OpenShift Container Storage 클러스터의 사용자 인터페이스를 통해 수행할 수 없습니다.
암호화된 OpenShift Container Storage 클러스터에서 검색 결과 CR은 Ceph 경고에 보고된 것과 다르게 Ceph OSD(Object Storage Daemon)에서 지원하는 장치를 검색합니다. 경고를 클릭하면 사용자에게 Disk not found 메시지가 표시됩니다. 불일치로 인해 콘솔 UI는 OpenShift Container Storage 사용자에 대해 디스크 교체 옵션을 활성화할 수 없습니다. 이 문제를 해결하려면 장치 교체 가이드에서 실패한 장치 교체를 위해 CLI 절차를 사용하십시오.
volumeMode를 블록으로 사용하는 PVC의 잘못된 경고
Kubernetes가 변경되어 OpenShift Container Platform에 대한 Prometheus 경고의 회귀 문제가 발생합니다. 이 변경 사항은 다음 사항에 영향을 미쳤습니다.
경고: KubePersistentVolumeFillingUp.
PVCs: volumeMode의 PVC: 블록
네임스페이스에서 정규 표현식 일치: "(openshift-.|kube-.|default|logging)"
Metric: kubelet_volume_stats_available_bytes
결과적으로 경고, kubelet_volume_stats_available_bytes는 PVC 생성 시점부터 사용 가능한 크기를 0으로 보고하고 volumeMode의 모든 PVC에 대해 false 경고가 실행됩니다. 정규 표현식 "(openshift-.|kube-.|default|logging)"과 일치하는 네임스페이스의 차단. 이는 내부 및 내부 연결 모드와 Amazon Web Services, VMware, Baremetal 등과 같은 다양한 인프라에 배포된 OpenShift Container Storage의 OSD 장치 세트에 대해 생성된 모든 PVC에 영향을 미칩니다. 이는 고객 워크로드 PVC에도 영향을 미칩니다.
현재 OpenShift Container Platform 4.8.z의 향후 마이너 릴리스 중 하나에서 수정될 때까지 이 문제의 해결방법이 없습니다. 따라서 OpenShift Container Storage의 스토리지 용량과 관련된 모든 경고를 매우 신속하고 긴급하게 처리합니다.
스토리지 클러스터 재설치 중에 ceph objectstore
의 ceph 오브젝트 사용자가 생성되지 않으면 Arbiter 스토리지 클러스터를 설치한 후 위험 경보 알림이 전송됩니다.
CephCluster 및 하나 이상의 Ceph
ObjectStore가 포함된 스토리지 클러스터에서 Ceph
Cluster
리소스가 모두 삭제되기 전에 CephCluster 리소스가
완전히 삭제되면 Rook Operator는 여전히 CephObjectStore에 대한 연결 세부 정보를 메모리에 보관할 수 있습니다. 동일한 CephCluster
및 CephObjectStore가 다시 생성되면 CephObjectStore가 "실패" 상태가 될 수 있습니다.
이 문제를 방지하려면 CephCluster를 제거하기 전에 CephObjectStore를 완전히 삭제합니다.
- CephObjectStore가 삭제될 때까지 기다리지 않으려면 Rook Operator(Operator Pod를 삭제하여)를 다시 시작하면 제거 후 문제가 발생하지 않습니다.
-
이 문제가 적극적으로 발생하는 경우 Rook Operator를 다시 시작하면 Operator의 이전
CephObjectStore
연결 세부 정보 메모리를 지워 해결됩니다.