5.3 릴리스 노트
Red Hat Ceph Storage 5.3 릴리스 노트
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat Ceph Storage 설명서에 대한 피드백 제공
문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 이를 개선할 수 있는지 알려 주십시오. 이렇게 하려면 Bugzilla 티켓을 생성합니다.
- Bugzilla 웹 사이트로 이동합니다.
- 구성 요소 드롭다운에서 문서를 선택합니다.
- Sub-Component 드롭다운 목록에서 적절한 하위 구성 요소를 선택합니다.
- 문서의 적절한 버전을 선택합니다.
- 요약 및 설명 필드에 개선을 위한 제안 사항을 입력하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
- 선택 사항: 있는 경우 첨부 파일을 추가합니다.
- 버그 제출을 클릭합니다.
1장. 소개
Red Hat Ceph Storage는 Ceph 스토리지 시스템의 가장 안정적인 버전을 Ceph 관리 플랫폼, 배포 유틸리티 및 지원 서비스와 결합하는 대규모 확장이 가능한 오픈 소프트웨어 정의 스토리지 플랫폼입니다.
Red Hat Ceph Storage 문서는 https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/5 에서 확인할 수 있습니다.
2장. 감사 인사
Ceph Storage 프로젝트는 Ceph 커뮤니티의 개인 및 조직의 품질 및 기여 횟수에 큰 영향을 미치고 있습니다. Red Hat Ceph Storage 팀의 모든 구성원, Ceph 커뮤니티의 개별 기여자 모두 다음과 같은 조직의 기여도에 대해 감사의 말씀을 전합니다.
- Intel®
- Fujitsu®
- UnitedStack
- Cryostat ™
- Ubuntu Kylin
- Mellanox ®
- CERN ™
- Deutsche Telekom
- Mirantis ®
- SanDisk ™
- SUSE
3장. 새로운 기능
이 섹션에는 Red Hat Ceph Storage 릴리스에 도입된 모든 주요 업데이트, 개선 사항 및 새로운 기능이 나열되어 있습니다.
3.1. Cephadm 유틸리티
Grafana 서비스 사양에 설정된 경우 cephadm
은 대시보드 Grafana 암호를 자동으로 업데이트합니다.
이전에는 사양을 적용한 후 사용자가 Grafana 암호를 수동으로 설정해야 했습니다.
이번 개선된 기능을 통해 initial_admin_password
가 적용된 Grafana 사양에 설정된 경우 cephadm
은 ceph dashboard set-grafana-api-password
명령을 실행하는 것과 동일한 대시보드 Grafana 암호를 자동으로 업데이트하여 Grafana를 완전히 설정하는 프로세스를 간소화합니다. 사용자는 암호가 포함된 사양을 적용한 후 더 이상 대시보드 Grafana 암호를 수동으로 설정할 필요가 없습니다.
OSD는 새 mon
위치로 Ceph 구성 파일을 자동으로 업데이트
이번 개선된 기능을 통해 monmap
변경이 감지될 때마다 cephadm
은 각 OSD의 Ceph 구성 파일을 새 mon
위치로 자동으로 업데이트합니다.
OSD가 많은 경우 이 개선 사항을 통해 모든 OSD에서 업데이트하는 데 다소 시간이 걸릴 수 있습니다.
3.2. Ceph 대시보드
블록 장치 이미지 테이블이 페이지가 매겨져 있습니다.
이번 개선된 기능을 통해 블록 장치 이미지에 대한 정보를 검색하는 데 비용이 많이 들기 때문에 블록 장치 이미지 테이블이 10000개 이상의 이미지 스토리지 클러스터와 함께 사용하도록 페이지가 매겨집니다.
새로 추가된 cross_origin_url
옵션은 교차 원본 리소스 공유를 허용합니다.
이전 버전에서는 IBM 개발자는 Red Hat의 REST API에 설정된 CORS(Cross Origin Resource Sharing) 정책으로 인해 프런트 엔드를 사용하여 REST API를 ping하려고 할 때 스토리지 인사이트 제품에 문제가 발생했습니다.
이번 개선된 기능을 통해 CORS는 특정 URL로 설정할 수 있는 cross_origin_url
옵션을 추가하여 허용됩니다 - ceph config set mgr/dashboard/cross_origin_url localhost
및 REST API는 해당 URL과만 통신할 수 있습니다.
3.3. Ceph 파일 시스템
사용자는 CephFS 하위 볼륨 스냅샷의 임의의 메타데이터를 저장할 수 있습니다.
이번 개선된 기능을 통해 Ceph File System(CephFS) 볼륨 사용자는 CLI(명령줄 인터페이스) 명령 세트를 사용하여 CephFS 하위 볼륨 스냅샷의 키-값 쌍 형식으로 임의의 메타데이터를 저장할 수 있습니다.
3.4. Ceph Object Gateway
역할의 STS max_session_duration
을 업데이트할 수 있음
이번 개선된 기능을 통해 역할의 STS max_session_duration
은 radosgw-admin
명령줄 인터페이스를 사용하여 업데이트할 수 있습니다.
ListBucket
S3 작업에서 JSON 출력을 생성
이번 개선된 기능을 통해 통합에 대한 고객의 요청에 따라 요청에 Accept: application/json
헤더가 포함된 경우 ListBucket
S3 작업이 기본 XML 대신 JSON 형식의 출력을 생성합니다.
libcurl
에서 관리하는 TCP keepalive를 활성화하는 옵션이 추가되었습니다.
이번 개선된 기능을 통해 libcurl
에서 관리하는 HTTP 클라이언트 소켓에서 TCP keepalive를 활성화하는 옵션이 추가되어 Ceph Object Gateway에서 시작한 기타 작업이 네트워크 불안정에 더 탄력적으로 유지됩니다. 이는 HTTP 프런트 엔드에서 수신한 연결뿐만 아니라 인증을 위해 Keystone에서 보낸 HTTP 요청, 다중 사이트의 요청을 동기화하고 SSE용 키 관리 서버에 대한 요청에만 적용됩니다.
radosgw-admin
명령의 결과 코드 2002가 명시적으로 2로 변환됩니다.
이전 버전에서는 내부 NoSuchBucket
의 S3 오류 변환의 변경으로 인해 radosgw-admin 버킷 통계
명령에서 오류 코드가 실수로 변경되어 해당 radosgw-admin
명령의 쉘 결과 코드를 확인하는 프로그램이 다른 결과 코드를 볼 수 있었습니다.
이 향상된 기능을 통해 결과 코드 2002는 명시적으로 2로 변환되어 사용자가 원래 동작을 볼 수 있습니다.
이제 유용한 오류와 함께 버킷 정책을 사용할 수 있습니다.
오류 표시가 잘못되었기 때문에 버킷 정책을 사용하기 어려웠습니다. 또한 보안 주체를 자동으로 삭제하면 업그레이드 중에 문제가 발생합니다. 이번 업데이트를 통해 정책 구문 분석기에서 유용한 오류와 rgw 정책이 잘못된 principals=true 매개변수를 사용하여 유효하지 않은 주체를 거부하는
플래그가 도입되었습니다.
3.5. 다중 사이트 Ceph Object Gateway
버킷 동기화 실행
명령은 자세한 정보를 제공합니다.
이번 개선된 기능을 통해 버킷 동기화 실행
명령에 대한 사용자 친화적인 진행 보고서가 추가되어 사용자가 작업 진행 상황을 보다 쉽게 파악할 수 있습니다. 사용자가 --extra
사용자는 생성 동기화 시작 및 동기화된 각 오브젝트에 대한 메시지를 받습니다.
-info
플래그를 사용하여 radosgw-admin 버킷 동기화 명령을 실행하면
Red Hat 지원팀에 연락하지 않고 버킷 동기화 실행
명령을 사용하지 않는 것이 좋습니다.
다중 사이트 구성에서는 동적 버킷 인덱스 복구 지원
이전에는 다중 사이트 구성에 대한 버킷을 수동으로 재하드하는 경우에만 지원되었습니다.
이번 개선된 기능을 통해 다중 사이트 구성에서 동적 버킷 재하드가 지원됩니다. 스토리지 클러스터가 업그레이드되면 resharding
기능, 영역 수준 및 영역 그룹을 활성화합니다. radogw-admin 버킷 reshard 명령을 사용하여 버킷을 수동으로 재하드
하거나 스토리지 클러스터의 다른 영역과 관계없이 동적 재하드를 사용하여 자동으로 재하드할 수 있습니다.
사용자는 다중 사이트 아카이브 영역을 사용하여 동적으로 버킷 인덱스를 복구할 수 있습니다.
이번 개선된 기능을 통해 해당 영역에 동적 재하드를 활성화하면 멀티 사이트 아카이브 영역 버킷 인덱스를 동적으로 재하드할 수 있습니다.
3.6. RADOS
throttle 제한에 대해 사용자에게 경고하기 위해 낮은 수준의 로그 메시지가 도입됨
이전에는 throttle 제한이 발생하여 이러한 경우 네트워킹 문제가 잘못 발생했음을 나타내는 낮은 수준의 로깅 표시가 없었습니다.
이번 개선된 기능을 통해 낮은 수준의 로그 메시지가 도입되어 throttle 제한이 훨씬 더 명확해집니다.
3.7. RADOS 블록 장치(RBD)
이제 복제된 이미지를 자체 암호화 형식 및 암호를 사용하여 암호화할 수 있습니다.
이번 개선된 기능을 통해 각 복제된 각 이미지를 자체 암호화 형식 및 암호로 암호화할 수 있도록 계층화된 클라이언트 측 암호화가 지원됩니다. 포맷되지 않은 일반 복제 이미지에 대한 효율적인 COW(Copy-On-Write) 의미 체계가 유지됩니다.
4장. 사용되지 않는 기능
이 섹션에서는 Red Hat Ceph Storage 릴리스까지 모든 마이너 릴리스에서 더 이상 사용되지 않는 기능에 대한 개요를 제공합니다.
더 이상 사용되지 않는 기능은 Red Hat Ceph Storage 5가 종료될 때까지 계속 지원됩니다. 사용되지 않는 기능은 이 제품의 향후 주요 릴리스에서 지원되지 않을 가능성이 높으며 새로운 배포에 구현하는 것은 권장되지 않습니다. 특정 주요 릴리스 내에서 더 이상 사용되지 않는 기능의 최신 목록은 최신 릴리스 노트를 참조하십시오.
CephFS에 대한 NFS 지원이 더 이상 사용되지 않음
CephFS에 대한 NFS 지원은 이제 OpenShift Data Foundation에서 향후 NFS 가용성에 더 이상 사용되지 않습니다. OpenStack Manila에서 NFS에 대한 Red Hat Ceph Storage 지원은 영향을 받지 않습니다. 더 이상 사용되지 않는 기능은 현재 릴리스의 라이프 사이클 동안 버그 수정만 제공되며 향후 릴리스에서 제거될 수 있습니다. 이 기술 관련 문서는 "제한된 가용성"으로 식별됩니다.
iSCSI 지원이 더 이상 사용되지 않음
향후 NVMEoF 지원 대신 iSCSI 지원이 더 이상 사용되지 않습니다. 더 이상 사용되지 않는 기능은 현재 릴리스의 라이프 사이클 동안 버그 수정만 제공되며 향후 릴리스에서 제거될 수 있습니다. 이 기술 관련 문서는 "제한된 가용성"으로 식별됩니다.
Ceph 구성 파일이 더 이상 사용되지 않음
Ceph 구성 파일(ceph.conf
)이 더 이상 사용되지 않으며 Ceph 모니터에 저장된 새로운 중앙 집중식 구성이 우선합니다. 자세한 내용은 Red Hat Ceph Storage 구성 가이드의 Ceph 구성 데이터베이스 섹션을 참조하십시오.
Ceph 파일 시스템(CephFS)의 min_compat_client
매개변수가 더 이상 사용되지 않음
Red Hat Ceph Storage 5.0에서는 min_compat_client
매개변수가 더 이상 사용되지 않으며 Ceph 파일 시스템(CephFS)을 설정하기 위해 새 클라이언트 기능이 추가되었습니다. 자세한 내용은 Red Hat Ceph Storage 파일 시스템 가이드의 클라이언트 기능 섹션을 참조하십시오.
Ceph File System 하위 볼륨의 스냅샷이 더 이상 사용되지 않음
Red Hat Ceph Storage 5.0에서는 Ceph File System(CephFS) 하위 볼륨의 스냅샷 기능이 더 이상 사용되지 않습니다. 필요할 때마다 기존 스냅샷을 나열하고 삭제할 수 있습니다. 자세한 내용은 Red Hat Ceph Storage Ceph File System 가이드 의 파일 시스템 하위 볼륨 그룹의 스냅샷 나열 및 파일 시스템 하위 볼륨 섹션 제거를 참조하십시오.
Cockpit Ceph 설치 프로그램이 더 이상 사용되지 않음
Cockpit Ceph 설치 관리자를 사용하여 Red Hat Ceph Storage 클러스터 5를 설치하는 것은 지원되지 않습니다. Cephadm을 사용하여 Red Hat Ceph Storage 클러스터를 설치합니다. 자세한 내용은 Red Hat Ceph Storage 설치 가이드를 참조하십시오.
5장. 제거된 기능
이 섹션에서는 Red Hat Ceph Storage 릴리스까지 모든 마이너 릴리스에서 제거된 기능에 대한 개요를 제공합니다.
Ceph의 Tools 리포지토리에서 s3cmd
RPM을 사용할 수 없습니다
s3cmd
RPM은 더 이상 Ceph의 Tools 리포지토리에서 사용할 수 없습니다. 사용자는 PyPI
또는 EPEL
에서 지원되지 않는 커뮤니티 패키지를 다운로드할 수 있습니다.
6장. 버그 수정
이 섹션에서는 Red Hat Ceph Storage 릴리스에서 수정된 중요한 사용자 영향을 미치는 버그에 대해 설명합니다. 또한 섹션에는 이전 버전에서 발견된 수정된 알려진 문제에 대한 설명이 포함되어 있습니다.
6.1. Cephadm 유틸리티
사용자는 문제없이 로컬 리포지토리 이미지로 업그레이드할 수 있습니다.
이전 버전에서는 이미지 이름이 정규화된 도메인 이름이 아닌 경우 cephadm에서 docker.io
가 기본적으로 이미지 이름 시작에 추가되었습니다. 이로 인해 사용자가 로컬 리포지토리의 이미지로 업그레이드할 수 없었습니다.
이번 수정으로 docker.io
가 기본적으로 추가되는 이미지를 식별하기 위해 주의를 기울였습니다. 로컬 리포지토리 이미지를 사용하는 사용자는 문제가 발생하지 않고 해당 이미지로 업그레이드할 수 있습니다.
6.2. Ceph 파일 시스템
Ceph Manager 서비스를 다시 시작하면 snap-schedule
가 더 이상 손실되지 않습니다.
이전에는 메모리 내 데이터베이스가 스케줄에 변경될 때마다 영구 스토리지에 기록되지 않았습니다. 이로 인해 Ceph Manager 서비스를 다시 시작할 때 snap-schedule
가 손실되었습니다.
이번 수정으로 메모리 내 데이터베이스가 모든 변경 사항 또는 snap-schedule
에 추가되는 영구 스토리지로 덤프됩니다. 이제 유지는 Ceph Manager 서비스를 다시 시작할 때마다 계속 작동합니다.
standby-replay Metadata Server 데몬이 더 이상 예기치 않게 제거되지 않음
이전에는 Ceph Monitor에서 특정 조건에서 MDS 맵에서 standby-replay Metadata Server(MDS) 데몬이 제거되었습니다. 이로 인해 standby-replay MDS 데몬이 Metadata Server 클러스터에서 제거되어 클러스터 경고가 생성되었습니다.
이번 수정을 통해 MDS 맵에서 MDS 데몬을 제거하는 동안 Ceph Monitor에 사용된 논리가 이제 순위를 가진 standby-replay MDS 데몬에 대한 정보가 포함됩니다. 이렇게 하면 standby-replay MDS 데몬이 더 이상 MDS 클러스터에서 예기치 않게 제거되지 않습니다.
6.3. Ceph Manager 플러그인
Ceph Manager 경고 이메일은 더 이상 스팸으로 태그되지 않습니다.
이전에는 Ceph Manager 경고 모듈에서 보낸 이메일에 "Message-Id" 및 "Date:headers"가 없었습니다. 이로 인해 이메일을 스팸으로 표시 할 가능성이 높아졌습니다.
이번 수정을 통해 Ceph Manager 경고 모듈에서 보낸 이메일에 헤더가 추가되고 메시지는 스팸으로 표시되지 않습니다.
6.4. Ceph Volume 유틸리티
ceph-osd
컨테이너가 발견되지 않고 cephvolumescan
actor가 더 이상 실패하지 않는 경우 볼륨 목록이 비어 있습니다.
이전 버전에서는 Ceph 컨테이너가 ceph-osd
컨테이너가 없는 다른 컨테이너와 함께 배치된 경우 프로세스에서 작동하지 않는 하나의 Ceph 컨테이너에서 볼륨 목록을 검색하려고 했습니다. 이로 인해 cephvolumescan
actor가 실패하고 업그레이드가 완료되지 않았습니다.
이번 수정을 통해 ceph-osd
컨테이너가 없는 경우 볼륨 목록이 비어 있고 cephvolumescan
actor가 실패하지 않습니다.
ceph-volume
에서 여러 장치를 처리하면 Ceph OSD 배포가 더 이상 실패하지 않습니다.
이전에는 처리할 장치가 여러 개 있을 때 ceph-volume
에서 잘못된 크기를 계산하여 OSD를 배포하지 못했습니다.
이번 수정을 통해 여러 장치를 처리하고 OSD의 배포가 예상대로 작동하는 경우 ceph-volume
이 올바른 크기를 계산합니다.
6.5. Ceph Object Gateway
사용자가 비 TLS 환경에서 SASL을 사용하여 Kafka 연결을 설정할 수 있음
이전에는 Ceph Object Gateway의 TLS 인증서 구성 실패로 인해 SASL(사용자 및 암호)을 사용하여 Kafka 주제를 구성할 수 없었습니다.
이번 수정을 통해 새 구성 매개변수 rgw_allow_notification_secrets_in_cleartext
가 추가되었습니다. 이제 비 TLS 환경에서 SASL을 사용하여 Kafka 연결을 설정할 수 있습니다.
토큰 내부 처리가 수정됨
이전 버전에서는 Java 및 Cryostat S3A Connector용 AWS SDK용 Java 기반 클라이언트 인증 공급자의 새로 고침 경로에서 토큰의 내부 처리로 인해 대규모 토큰을 올바르게 처리하지 않아 일부 토큰을 부적절하게 처리하고 클라이언트 토큰 갱신을 방지할 수 있었습니다.
이번 수정으로 내부 토큰 처리가 수정되어 예상대로 작동합니다.
오브젝트 버전 액세스가 수정되어 오브젝트 잠금 위반이 방지됨
이전에는 일부 호출 경로에서 버전 정보를 의도하지 않은 분할이 발생하여 정책에 반대로 오브젝트 잠금으로 보호되는 모든 오브젝트 버전이 삭제되었습니다.
이번 수정을 통해 오브젝트 버전 액세스가 수정되어 오브젝트 잠금 위반이 방지됩니다.
Ceph Object Gateway가 더 이상 잘못된 형식의 URL과 충돌하지 않음
이전에는 리팩토링 추상화에서 버킷 값을 항상 초기화되지 않은 버킷 값에 대한 포인터로 교체했습니다. 이로 인해 Ceph Object Gateway가 충돌하지 않게 버킷 작업에 해당하는 잘못된 형식의 URL이 발생했습니다.
이번 수정을 통해 포인터의 검사가 호출 경로에 구현되고 Ceph Object Gateway는 초기화되지 않은 경우 충돌하지 않고 권한 오류를 반환합니다.
날짜를 구문 분석하는 코드가 z-amz-date
형식으로 변경되었습니다.
이전 버전에서는 x-amz-date
표준 형식이 변경되어 새 소프트웨어가 새 날짜 형식을 사용하므로 문제가 발생했습니다. 최신 go
라이브러리로 빌드된 새 소프트웨어는 Ceph Object Gateway와 통신하지 않습니다.
이번 수정으로 x-amz-date
형식의 날짜를 구문 분석하는 Ceph Object Gateway 코드가 변경되어 새 날짜 형식도 허용됩니다.
(BZ#2109675)
라이프사이클 shard 처리 중 새로운 논리로 인해 삭제된 버킷으로 인해 중단되지 않음
이전 버전에서는 라이프 사이클 처리가 매일 적절한 버킷 목록의 시작 부분에서 다시 시작되지 않도록 하기 위해 변경 사항이 수행되었습니다. 그러나 변경 사항에는 삭제된 버킷이 포함된 라이프사이클 shard의 처리를 중단하여 라이프사이클 shard 처리가 중단될 수 있는 버그가 포함되어 있습니다.
이번 수정을 통해 처리가 더 이상 중단되지 않기 때문에 삭제된 버킷을 건너뛰기 위해 논리가 도입되었습니다.
헤더 처리로 인해 더 이상 sporadic swift-protocol 인증 오류가 발생하지 않음
이전 버전에서는 잘못된 HTTP 헤더 처리 및 타임스탬프 처리 논리의 조합으로 인해 작업에 유효하지 않은 Keystone 관리자 토큰이 사용되거나 필요에 따라 Keystone의 관리자 토큰이 갱신되지 않았습니다. 이로 인해 sporadic swift-protocol 인증 오류가 발생했습니다.
이번 수정으로 헤더 처리가 수정되고 새로운 진단이 추가되었습니다. 이제 논리가 예상대로 작동합니다.
경고는 더 이상 부적절한 상황에 기록되지 않습니다.
이전 버전에서는 반전된 논리가 잘못된 경고를 보고했습니다. 헤드 오브젝트를 찾을 수 없으므로 Ceph Object Gateway 구성에 적용되지 않은 경우 경고가 기록되었습니다.
이번 수정으로 수정된 논리에서 더 이상 부적절한 상황에서 경고를 기록하지 않습니다.
PUT 오브젝트 작업이 올바른 버킷 인덱스 shard에 쓰기
이전에는 경쟁 조건으로 인해 PUT 오브젝트 작업이 이전 버킷 인덱스 shard에 거의 기록되지 않았습니다. 이로 인해 이전 버킷 인덱스 shard가 다시 생성되고 오브젝트가 적절한 버킷 인덱스에 표시되지 않았습니다. 따라서 버킷이 나열될 때 오브젝트가 나열되지 않았습니다.
이번 수정을 통해 다양한 작업이 버킷 인덱스 shard를 생성하지 못하도록 하고 경쟁 조건이 발생할 때 복구됩니다. PUT 오브젝트 작업은 항상 올바른 버킷 인덱스 shard에 씁니다.
6.6. 다중 사이트 Ceph Object Gateway
기본 영역에서 버킷 버전 관리를 일시 중단해도 아카이브 영역의 버킷 버전 관리가 더 이상 중단되지 않음
이전 버전에서는 기본 영역에서 버킷 버전 관리가 일시 중지된 경우 아카이브 영역의 버킷 버전 관리도 일시 중단되었습니다.
이번 수정으로 다른 영역에서 버킷 버전 관리 변경 사항에 관계없이 아카이브 영역 버전 관리가 항상 활성화됩니다. 아카이브 영역의 버킷 버전 관리는 더 이상 일시 중지되지 않습니다.
다중 사이트 복제의 radosgw-admin 동기화 상태
명령이 예상대로 작동함
이전 버전에서는 다중 사이트 복제에서 참여하는 하나 이상의 Ceph Object Gateway 노드가 다운된 경우 radosgw-admin 동기화 상태
명령을 실행할 때 (5) 입력/출력 오류 출력이 발생했습니다. 이 상태는 모든 Ceph Object Gateway 노드가 다시 온라인 상태가 된 후 해결되어야 합니다.
이번 업데이트를 통해 radosgw-admin sync status
명령이 중단되지 않고 예상대로 작동합니다.
사용되지 않는 버킷 인덱스 항목을 트리밍하는 프로세스로 인해 더 이상 radosgw
인스턴스가 충돌하지 않음
이전 버전에서는 일부 상황에서 더 이상 사용되지 않는 버킷 인덱스 항목을 트리밍하면 radosgw
인스턴스가 충돌하는 초기화되지 않은 포인터 변수에 액세스할 수 있었습니다.
이번 수정을 통해 사용 직전에 코드가 초기화되고 radosgw
인스턴스가 더 이상 충돌하지 않습니다.
버킷 동기화 실행에 모든 오브젝트를 동기화하기 위한 제어 논리가 제공됩니다.
이전 버전에서는 다중 사이트 클러스터에서 동적 버킷 재하드를 지원하기 위해 단일 버킷 인덱스 로그가 여러 버킷 인덱스 로그 생성으로 교체되었습니다. 그러나 버킷 동기화를 실행하는 방식으로 인해 가장 오래된 미해결 생성만 동기화됩니다.
이번 수정을 통해 버킷 동기화 실행에 가장 오래된 미해결에서 현재로 동기화를 실행할 수 있는 제어 논리가 부여되고 모든 오브젝트가 예상대로 동기화됩니다.
per-bucket 복제 오류 수정으로 정책을 올바르게 실행
이전 버전에서는 내부 논리 오류로 인해 잘못된 복제 정책이 일부 상황에서 작동하지 않아 내부 논리 오류로 인해 per-bucket 복제 오류가 발생했습니다.
이번 수정을 통해 소스 및 대상 버킷 정보가 혼동되는 논리 오류가 수정되어 정책이 올바르게 실행됩니다.
변수 액세스로 인해 더 이상 정의되지 않은 프로그램 동작이 발생하지 않음
이전에는 커버리티 검사에서 이동 후 변수를 사용할 수 있는 두 가지 경우를 식별하여 정의되지 않은 프로그램 동작이 발생할 수 있었습니다.
이번 수정을 통해 변수 액세스가 수정되어 잠재적인 오류가 더 이상 발생하지 않습니다.
테넌트를 사용하는 요청이지만 버킷이 더 이상 충돌하지 않음
이전에는 업스트림 리팩토링에서 초기화되지 않은 버킷 데이터 필드를 초기화되지 않은 포인터로 교체했습니다. 이로 인해 유효한 버킷을 참조하는 URL이 포함된 버킷 요청이 충돌했습니다.
이번 수정을 통해 버킷에 액세스하지만 유효한 버킷을 지정하지 않는 요청이 거부되어 충돌하지 않고 오류가 발생합니다.
6.7. RADOS
두 개의 사이트 확장 클러스터를 사용하여 DR 테스트를 수행하면 더 이상 Ceph가 응답하지 않음
이전 버전에서는 두 개의 사이트 stretch-cluster를 사용하여 DR 테스트를 수행할 때 클러스터에 새 모니터를 제거하고 추가하면 ConnectionTracker
클래스에서 잘못된 순위가 발생했습니다. 이로 인해 모니터가 peer_tracker
복사에서 자신을 식별하지 못하고 올바른 필드를 업데이트하지 않아 선택 프로세스의 교착 상태가 발생하여 Ceph가 응답하지 않습니다.
이번 수정을 통해 다음과 같은 수정 사항이 적용됩니다.
-
함수
notify_rank_removed()
에 어설션을 추가하여Monmap
에서 제공하는 예상 순위를 온전성 검사로 수동으로 조정하는 순위와 비교했습니다. -
모든
Monmap
업데이트에서removed_ranks
변수를 지웁니다. -
각 모니터에 대해
ceph 연결 점수 재설정 - 명령을 실행할 때
는 작업이 추가되었습니다.peer_tracker.rank
를 수동으로 재설정하peer_tracker.rank
는 모니터의 현재 순위와 일치합니다. -
Elector
및ConnectionTracker
클래스에서 모니터 부팅을 포함하여 모니터를 업그레이드할 때 클린peer_tracker
를 확인하는 기능이 추가되었습니다. 정리되지 않은 경우peer_tracker
가 지워집니다. -
Red Hat Ceph Storage에서 사용자는 모니터를 종료하기 전에 모니터 순위를 수동으로 제거하도록 선택할 수 있으므로
Monmap
에서 불일치가 발생합니다. 따라서Monitor::notify_new_monmap()
에서는 함수가Monmap
에 존재하지 않는 순위 또는 순위를 제거하지 못하도록 합니다.
이제 클러스터가 예상대로 작동하고 안전하지 않은 다운타임이 발생하지 않습니다. 두 개의 사이트 확장 클러스터로 DR 테스트를 수행할 때 클러스터가 더 이상 응답하지 않습니다.
순위가 live_pinging
및 dead_pinging
세트에서 제거되어 일관성 없는 연결 점수 문제를 완화합니다.
이전 버전에서는 두 개의 모니터를 연속적으로 제거할 때 순위 크기가 Paxos의 크기와 동일한 경우 모니터가 조건에 직면하여 dead_pinging
세트에서 순위를 제거하지 않았습니다. 이로 인해 순위는 스트레치 클러스터 모드가 활성화된 경우 일관성 없는 연결 점수와 같은 문제가 발생하는 dead_pinging
세트에 남아 있었습니다.
이번 수정을 통해 가장 높은 순위의 모니터가 제거되는 경우, 즉 순위가 Paxos 크기와 동일할 때 live_pinging
및 dead_pinging
세트에서 순위를 제거합니다. 모니터는 깔끔한 live_pinging
및 dead_pinging
세트로 정상 유지됩니다.
이제 요청할 때마다 Prometheus 지표가 모든 Ceph 모니터에 대한 올바른 Ceph 버전을 반영합니다.
이전에는 모니터가 업그레이드될 때 Prometheus 지표에서 Ceph Monitor의 Ceph 버전이 일치하지 않는 것으로 보고되었습니다. 결과적으로 이 불일치를 해결하려면 활성 Ceph Manager 데몬을 다시 시작해야 했습니다.
이번 수정으로 Ceph Monitor는 MON 선택이 끝날 때 mon
메타데이터를 사용하여 mgr
으로 메타데이터 업데이트 요청을 명시적으로 보냅니다.
ceph daemon heap status
명령은 힙 상태를 표시합니다.
이전 버전에서는 ceph daemon 명령을 통해 힙 정보를 가져오지 못했기 때문에
명령에서 Ceph 데몬의 현재 힙 사용량을 반환하는 대신 빈 출력을 반환했습니다. ceph daemon
heap statsceph::osd_cmds::heap()
가 stderr
및 stdout
개념에 혼동되어 출력의 차이가 발생하기 때문입니다.
이번 수정으로 ceph daemon heap stats
명령은 ceph tell
명령을 사용하여 얻은 것과 유사한 Ceph 데몬의 힙 사용 정보를 반환합니다.
ceph orch apply mon <num> 명령을 사용할 때 Ceph 모니터가
더 이상 충돌하지 않음
이전에는 ceph orch apply mon <num
> 명령을 사용하여 클러스터의 모니터를 줄일 때 ceph-adm
에서 종료되기 전에 모니터가 제거되어 모니터가 충돌했습니다.
이번 수정을 통해 피어 순위가 모니터 맵의 순위보다 크거나 같은지 확인하는 모든 코드 경로에 sanity 검사가 추가됩니다. 조건이 충족되면 모니터 충돌로 이어지는 특정 작업을 건너뜁니다. 피어 순위는 결국 다음 버전의 모니터 맵에서 확인됩니다. 종료하기 전에 모니터 맵에서 제거되면 모니터가 더 이상 충돌하지 않습니다.
이제 최종 사용자가 Ceph 클러스터 로그에서 scrub 또는 deep-scrub 시작
메시지를 볼 수 있습니다.
이전 버전에서는 scrub 또는 deep-scrub가 Ceph 클러스터 로그에 누락된 메시지를 시작했기 때문에 최종 사용자는 Ceph 클러스터 로그에서 PG 스크럽이 시작되었는지 여부를 알 수 없었습니다.
이번 수정으로 scrub 또는 deep-scrub 시작
메시지가 다시 소개됩니다. 이제 스크러브 또는 딥-스크루브 프로세스의 상태가 될 때마다 PG에 대한 메시지가 Ceph 클러스터 로그에 표시됩니다.
Ceph Manager 장애 조치 중 어설션 없음
이전에는 Ceph Manager를 활성화할 때 이전에 활성 관리자가 보낸 여러 service_map
버전이 수신되었습니다. 이 잘못된 검사로 인해 새로 활성화된 관리자가 이전에 활성 관리자가 보낸 더 높은 버전의 맵을 수신했을 때 어설션 실패가 발생합니다.
이번 수정을 통해 초기 서비스 맵을 처리하는 관리자의 검사가 완화되고 Ceph Manager 장애 조치 중에 어설션이 없습니다.
사용자가 클러스터를 업그레이드한 후 복제된 오브젝트를 제거할 수 있습니다.
이전 버전에서는 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 클러스터를 업그레이드한 후 이전 버전에서 생성된 오브젝트의 스냅샷을 제거하면 복제본이 제거되지 않았습니다. 이는 SnapMapper
키가 잘못 변환되었기 때문입니다.
이번 수정으로 SnapMapper
의 레거시 대화가 새 키 형식과 일치하도록 업데이트됩니다. 이제 이전 버전의 Ceph에서 복제된 오브젝트를 업그레이드 후 쉽게 제거할 수 있습니다.
작은 쓰기에서는 rocksdb 오류가 발생하지 않습니다.
BlueStore는 HDD에 대한 작은 쓰기를 지연하고 데이터를 RocksDB에 저장하는 전략을 사용합니다. RocksDB에서 지연된 데이터를 정리하는 것은 BlueFS와 동기화되지 않는 백그라운드 프로세스입니다.
이번 수정으로 지연된 재생은 더 이상 BlueFS 데이터를 덮어쓰지 않으며 다음과 같이 일부 RocksDB 오류가 발생하지 않습니다.
-
osd_superblock
손상 - CURRENT는 newline으로 끝나지 않습니다.
-
.SST
파일 체크섬 오류.
쓰기 위치에 적절한 개체를 포함하거나 비어 있을 수 있으므로 지연된 데이터를 작성하지 마십시오. 이러한 방식으로 오브젝트 데이터를 손상할 수 없습니다. BlueFS는 이 공간을 할당할 수 있는 유일한 엔티티입니다.
PG 로그의 손상된 dups 항목은 오프라인 및 온라인 트리밍으로 제거할 수 있습니다.
이전 버전에서는 PG 로그 dups 항목의 트리밍을 방지할 수 있었습니다. 낮은 수준의 PG 분할 작업에서는 작업자가 훨씬 더 높은 빈도를 가진 PG 자동 스케일러에 의해 사용됩니다. 트리밍을 중단하면 PG 로그 메모리가 크게 증가하여 메모리가 부족할 때 OSD 충돌이 발생했습니다. OSD를 다시 시작해도 PG 로그가 디스크에 저장되고 시작 시 RAM에 다시 로드되므로 문제가 해결되지 않았습니다.
이번 수정을 통해 ceph-objectstore-tool
명령 및 OSD 내에서 온라인을 사용하여 오프라인에서 모두 트리밍 작업을 중단하고 메모리 증가를 담당하는 PG 로그의 손상된 dups 항목을 제거할 수 있습니다. 향후 조사를 돕기 위해 OSD 로그에 dups 항목 수를 출력하는 디버그 개선이 구현됩니다.
6.8. RADOS 블록 장치(RBD)
이미지가 병합될 때 실행되는 경우 RBD info
명령이 더 이상 실패하지 않음
이전 버전에서는 구현 결함으로 인해 이미지가 병합될 때 실행되지 않은 경우 rbd info
명령이 실패했습니다. 이로 인해 일시적인 No 이러한 파일 또는 디렉터리 오류가 발생했습니다. 재실행 시 명령이 항상 성공했습니다.
이번 수정으로 구현 결함이 수정되었으며, 이미지가 병합될 때 실행되는 경우에도 rbd info
명령이 더 이상 실패하지 않습니다.
보류 중인 블록 장치 작업으로 풀을 제거하면 더 이상 모든 작업이 중단되지 않음
이전 버전에서는 구현 결함으로 인해 보류 중인 블록 장치 작업이 있는 풀을 제거하면 다른 풀을 포함한 모든 블록 장치 작업으로 인해 중단되었습니다. hung Block Device 작업을 다시 시작하려면 관리자가 ceph-mgr
데몬을 다시 시작해야 했습니다.
이번 수정을 통해 구현 결함이 수정되어 보류 중인 RBD 작업이 있는 풀을 제거하면 더 이상 중단이 발생하지 않습니다. 제거된 풀의 블록 장치 작업이 정리됩니다. 다른 풀의 블록 장치 작업은 중단되지 않습니다.
6.9. RBD 미러링
이미지 재생기 종료는 예상대로 종료합니다.
이전 버전에서는 구현 결함으로 인해 특정 이미지 재생기를 종료하라는 요청으로 인해 rbd-mirror
데몬이 무기한 중단되었습니다. 특히 데몬이 원격 스토리지 클러스터에서 차단된 경우 있었습니다.
이번 수정을 통해 구현 결함이 수정되고 특정 이미지 재생기를 종료하라는 요청이 더 이상 rbd-mirror
데몬이 중단되고 이미지 재생기가 예상대로 종료됩니다.
rbd 미러 풀 피어 부트스트랩 create
명령은 부트스트랩 토큰에서 올바른 모니터 주소를 보장합니다.
이전에는 rbd 미러 풀 peer bootstrap create 명령을 사용하여 생성된 부트스트랩
토큰은 ceph.conf
파일의 mon_host
옵션에 지정된 대로 모니터 주소를 포함했습니다. 이로 인해 V1과 V2 끝점 간에 혼동을 유발하여 해당 중 하나만 지정하여 잘못 그룹화하는 등의 문제가 발생했으며 사용자에게 문제가 발생했습니다.
이번 수정으로 rbd 미러 풀 peer bootstrap create
명령이 클러스터 자체에서 모니터 주소를 추출하도록 변경되어 부트스트랩 토큰에 포함된 모니터 주소를 올바르게 유지할 수 있습니다.
6.10. iSCSI Gateway
iSCSI를 사용하여 Red Hat Ceph Storage 4.x에서 5.x로 업그레이드하면 예상대로 작동합니다.
이전 버전에서는 일부 ceph-iscsi
종속 라이브러리 간의 버전 충돌로 인해 Red Hat Ceph Storage 4.x에서 5.x로 업그레이드하면 지속적인 HTTP 500 오류가 발생했습니다.
이번 수정으로 버전 관리 충돌이 해결되어 업그레이드가 예상대로 작동합니다. 그러나 이 수정으로 인해 iSCSI REST API 응답이 예기치 않게 인쇄되지 않습니다.
6.11. Ceph Ansible 유틸리티
Ceph Object Gateway 구성으로 업그레이드 워크플로가 수정됨
이전에는 대시보드 플레이북 실행에서 set_radosgw_address.yml
을 호출할 때마다 사용자가 rgw_instances
_ vars에 정의된 경우
가 설정될 것으로 예상되었습니다. 그렇지 않으면 is_rgw_instances_
definedrgw_instances
팩트를 설정하는 다음 작업은 사용자가 정의하지 않은 가정 하에서 실행됩니다. 이로 인해 Ceph Object Gateway 다중 사이트 및 Ceph 대시보드를 배포할 때 업그레이드 워크플로가 중단되었습니다.
이번 수정을 통해 dashboard 플레이북에서 set_radosgw_address.yml
플레이북이 호출되고 업그레이드 워크플로우가 예상대로 작동하는 경우 ceph-ansible
이 매개변수를 설정합니다.
팩트 조건이 Ceph Object Gateway 노드에서만 실행하도록 업데이트됨
이전 버전에서는 set_fact _radosgw_address로 인해 Ceph Object Gateway 네트워크 범위가 존재하지 않는 플레이북을 포함하여 모든 노드에서 radosgw_address_block ipv4
가 실행되고 있었습니다.
이번 수정을 통해 Ceph Object Gateway 노드에서만 팩트 설정을 실행하도록 when
조건이 업데이트되어 이제 예상대로 작동합니다.
7장. 확인된 문제
이 섹션에서는 이 Red Hat Ceph Storage 릴리스에서 발견된 알려진 문제에 대해 설명합니다.
7.1. Cephadm 유틸리티
iSCSI 데몬의 gwcli
에서 iSCSI 게이트웨이 추가 또는 확장은 예상대로 작동합니다.
이전 버전에서는 신뢰할 수 있는 IP 목록이 사양 파일에서 업데이트될 때 iSCSI 데몬이 자동으로 재구성되지 않기 때문에 gwcli
에서 iSCSI 게이트웨이를 추가하거나 확장하면 iSCSI 데몬 간에 일치하지 않아 iscsi-gateway.cfg
가 실패했습니다.
이번 수정을 통해 게이트웨이를 확장하고 gwcli
명령을 사용하여 기존 게이트웨이에 추가할 수 있습니다. (BZ#2099470)
Ceph orch ps
는 스택 데몬 모니터링의 버전을 표시하지 않습니다.
cephadm
에서는 현재 다운스트림 모니터링 스택 컨테이너와 호환되지 않는 버전 catchbing 코드가 node-exporter
,prometheus
, alertmanager
와 같은 스택 데몬 모니터링에 실패합니다.
이 문제를 해결하려면 버전을 찾아야 하는 경우 데몬의 컨테이너 이름에 버전이 포함됩니다.
8장. 비동기 에라타 업데이트
이 섹션에서는 z-stream 릴리스의 버그 수정, 알려진 문제 및 개선 사항에 대해 설명합니다.
8.1. Red Hat Ceph Storage 5.3z7
Red Hat Ceph Storage 릴리스 5.3z7이 공개되었습니다. 업데이트에 포함된 버그 수정 및 보안 업데이트는 RHSA-2024:4118 및 RHSA-2024:4119 권고에 설명되어 있습니다.
8.1.1. 기능 개선
8.1.1.1. RBD
rbd_diff_iterate2()
API 성능 개선
이전에는 fast-diff
모드(fast-diff 이미지 기능이 활성화되어 있고 유효한 경우whole_object == true
)에서 시간 시작(에서snapname == NULL
)에 대해 분산할 때 배타적 잠금을 사용할 수 있는 경우 RBD diff-iterate가 로컬에서 실행되지 않았습니다.
이번 개선된 기능을 통해 rbd_diff_iterate2()
API 성능이 향상되어 fast-diff
이미지 기능이 활성화된 QEMU 라이브 디스크 동기화 및 백업 사용 사례의 성능이 향상됩니다.
8.1.2. 확인된 문제
8.1.2.1. Ceph 업그레이드
RHEL 8에서 RHEL 9로 업그레이드하는 동안 클러스터 키 및 특정 구성 디렉터리가 제거됨
libunwind
패키지의 RHEL 8 사용 중단으로 인해 RHEL 9로 업그레이드할 때 이 패키지가 제거됩니다. ceph-common
패키지는 libunwind
패키지에 따라 달라지므로 제거됩니다. ceph-common
패키지를 제거하면 클러스터 키와 /etc/ceph
및 /var/log/ceph
디렉터리의 특정 구성이 제거됩니다.
이로 인해 다양한 노드 오류가 발생할 수 있습니다. /etc/ceph
패키지가 제거되어 Ceph 작업이 일부 노드에서 작동하지 않을 수 있습니다. systemd 및 Podman은 /var/log/ceph
패키지가 제거되어 노드의 Ceph 서비스에서 시작할 수 없습니다.
이 문제를 해결하려면 libunwind
패키지를 제거하지 않도록 LEAPP를 구성합니다. 전체 지침은 RHEL 8에서 RHEL 9로 RHCS 5 호스트 업그레이드, ceph-common 패키지 제거를 참조하십시오. Red Hat 고객 포털에서 서비스를 시작하지 못했습니다.
8.2. Red Hat Ceph Storage 5.3z6
Red Hat Ceph Storage 릴리스 5.3z6이 공개되었습니다. 업데이트에 포함된 버그 수정 및 보안 업데이트는 RHSA-2024:0745 권고에 설명되어 있습니다.
8.2.1. 기능 개선
8.2.1.1. Ceph Object Gateway
rgw-restore-bucket-index
실험 툴에서는 버전이 지정되지 않은 버킷에 대한 버킷 인덱스를 복원합니다.
이번 개선된 기능을 통해 rgw-restore-bucket-index
실험 툴을 사용하여 버전이 지정된 버킷의 버킷 인덱스를 복원할 수 있으며, 기존 기능 외에도 버전이 지정되지 않은 버킷으로 작업할 수 있습니다.
정렬된 버킷 목록 개선
이전에는 shard 수가 많은 버킷과 여러 pseudo-subdirectories가 있는 버킷을 완료하는 데 시간이 오래 걸렸습니다.
이번 개선된 기능을 통해 이러한 버킷은 정렬된 버킷 목록을 보다 신속하게 수행합니다.
radosgw-admin 버킷 통계
명령은 버킷 버전 관리 출력
이번 개선된 기능을 통해 radosgw-admin 버킷 stats
명령은 버킷의 버전 관리 상태를 생성 후 활성화한
,off
또는 suspended
의 세 값 중 하나로 출력합니다.
8.2.1.2. Ceph 파일 시스템
MDS 기본 밸런서는 기본적으로 비활성화되어 있습니다.
이번 릴리스에서는 MDS 기본 밸런서 또는 자동 동적 하위 트리 밸런서가 기본적으로 비활성화되어 있습니다. 이렇게 하면 실수로 하위 트리 마이그레이션을 방지할 수 있습니다. Subtree 마이그레이션은 작업자가 고정과 같은 하위 트리 위임을 계획하지 않고 파일 시스템 max_mds
설정을 늘리면 실행 취소할 수 있습니다.
8.2.1.3. Ceph Manager 플러그인
각 Ceph Manager 모듈에는 명령을 실행하기 위한 별도의 스레드가 있습니다.
이전에는 모든 ceph-mgr
모듈 명령이 실행된 스레드가 한 개 있었습니다. 모듈 명령 중 하나가 중단되면 다른 모듈의 모든 명령이 중단되어 동일한 스레드에서 대기합니다.
이번 업데이트를 통해 각 Ceph Manager 모듈에 대해 하나의 완료 스레드가 추가되었습니다. 각 모듈에는 명령 실행을 위한 별도의 스레드가 있습니다. 모듈의 명령 중 하나가 중단되더라도 다른 모듈을 실행할 수 있습니다.
8.2.1.4. RADOS
BlueStore를 두 번 실행하는 것에 대한 보호 기능 개선
이전에는 권고 잠금을 사용하여 BlueStore를 두 번 실행하지 못하도록했습니다. 이는 baremetal 배포에서 잘 작동합니다. 그러나 컨테이너에 사용하면 동일한 mknod b
블록 장치를 대상으로 하는 관련이 없는 inode가 생성됩니다. 결과적으로 두 컨테이너가 독점적으로 액세스할 수 있다고 가정하여 심각한 오류가 발생할 수 있습니다.
이번 릴리스에서는 하나의 블록 장치에서 OSD를 두 번 실행하는 것에 대한 보호를 개선할 수 있습니다. 블록 장치 전용 O_EXCL 오픈 플래그를 사용하여 권고 잠금을 강화할 수 있습니다. 더 이상 하나의 BlueStore 인스턴스를 두 번 열 수 없으며 덮어쓰기 및 손상이 발생하지 않습니다.
지연된 작업에 대한 하위 이벤트에 사용 가능한 새 보고서
이전에는 느린 작업이 지연되었지만 자세한 설명이 없었습니다.
이번 개선된 기능을 통해 지연된 하위 이벤트에 대한 자세한 설명을 볼 수 있습니다.
8.2.2. 확인된 문제
8.2.2.1. Ceph 대시보드
일부 메트릭은 그래프에서 빈 공간이 null로 표시됨
Ceph 대시보드의 일부 지표는 null로 표시되어 일부 값이 있을 때까지 지표를 초기화하지 않기 때문에 그래프에서 빈 공간이 됩니다.
해결 방법으로 문제가 있는 Grafana 패널을 편집합니다. 편집 메뉴에서 마이그레이션을 클릭하고 Null 연결 을 선택합니다. Always 를 선택하면 문제가 해결됩니다.
8.3. Red Hat Ceph Storage 5.3z5
Red Hat Ceph Storage 릴리스 5.3z5가 공개되었습니다. 업데이트에 포함된 버그 수정 목록은 RHBA-2023:4760 권고에 설명되어 있습니다.
8.4. Red Hat Ceph Storage 5.3z4
Red Hat Ceph Storage 릴리스 5.3z4가 공개되었습니다. 업데이트에 포함된 버그 수정 목록은 RHBA-2023:4213 권고에 설명되어 있습니다.
8.4.1. 확인된 문제
8.4.1.1. 다중 사이트 Ceph Object Gateway
Md5 다중 사이트에서 Ceph Object 게이트웨이의 서버 측 암호화를 테스트할 때 복제된 오브젝트의 불일치
현재 다중 사이트에서 Ceph Object 게이트웨이의 서버 측 암호화를 테스트할 때 복제된 오브젝트의 md5 불일치가 관찰됩니다. 데이터 손상은 SSE 암호화가 활성화된 S3 다중 파트 업로드에 따라 다릅니다. 손상은 복제된 사본에만 영향을 미칩니다. 원래 오브젝트는 그대로 유지됩니다.
다중 파트 업로드의 암호화는 각 부분이 별도로 업로드되고 암호화되기 때문에 부분 경계를 중심으로 특별한 처리가 필요합니다. 다중 사이트에서는 오브젝트가 암호화되고 다중 파트 업로드가 단일 부분으로 복제됩니다. 결과적으로 복제된 복사본은 데이터를 올바르게 해독하는 데 필요한 원래 부분 경계에 대한 지식을 손실하므로 이러한 손상이 발생합니다.
이 문제를 해결하려면 다중 사이트 사용자가 다중 파트 업로드에 서버 측 암호화를 사용해서는 안 됩니다. 자세한 내용은 KCS Sever side encryption with RGW 다중 사이트 구성으로 인해 다중 파트 개체의 데이터 손상이 발생할 수 있습니다.
8.5. Red Hat Ceph Storage 5.3z3
Red Hat Ceph Storage 릴리스 5.3z3이 공개되었습니다. 업데이트에 포함된 버그 수정 목록은 RHBA-2023:3259 권고에 설명되어 있습니다.
8.5.1. 기능 개선
8.5.1.1. Cephadm 유틸리티
사용자가 OSD 사양에 crush_device_class
를 설정할 수 있음
이전에는 OSD가 생성된 후 사용자가 crush_device_class
를 수동으로 설정했습니다.
이번 릴리스에서는 OSD 사양에 crush_device_class
를 설정할 수 있습니다. 이 경우 cephadm
은 해당 사양을 기반으로 생성된 모든 OSD를 해당 crush 장치 클래스로 표시합니다.
구문
service_type: osd service_id: SERVICE_ID_OF_OSD placement: hosts: - HOSTNAME_01 - HOSTNAME_01 crush_device_class: CRUSH_DEVICE_CLASS(SSD/HDD) spec: data_devices: paths: - DATA_DEVICES db_devices: paths: - DB_DEVICES wal_devices: paths: - WAL_DEVICES
사용자가 Prometheus 사양에 보존 시간을 설정할 수 있음
이전에는 unit.run
파일을 수동으로 편집하는 데 필요한 보존 시간을 설정하고 Prometheus 데몬이 재배포될 때마다 덮어씁니다.
이번 릴리스에서는 다음과 같이 Prometheus 사양 파일에서 보존 시간을 설정할 수 있습니다.
예
service_type: prometheus placement: count: 1 spec: retention_time: "1y"
이 예에서는 보존 시간이 기본값 15일이 아닌 1년으로 설정됩니다.
8.5.2. 확인된 문제
Red Hat Ceph Storage 대시보드에서 Ceph File 시스템 스냅샷을 관리하는 사용자를 위한 문서
이 기능에 대한 자세한 내용은 Red Hat Ceph Storage 대시보드 가이드 의 다음 버전에 포함되어 있습니다.
Red Hat Ceph Storage 대시보드에서 호스트를 관리하는 사용자용 설명서
이 기능에 대한 자세한 내용은 Red Hat Ceph Storage 대시보드 가이드 의 다음 버전에 포함되어 있습니다.
사용자가 RBD 이미지를 즉시 가져올 수 있는 문서
rbd import
명령에 대한 세부 정보는 Red Hat Ceph Storage 블록 장치 가이드 의 다음 버전에 포함됩니다.
8.6. Red Hat Ceph Storage 5.3z2
Red Hat Ceph Storage 릴리스 5.3z1이 공개되었습니다. 업데이트에 포함된 버그 수정 목록은 RHBA-2023:1732 권고에 설명되어 있습니다.
8.6.1. 기능 개선
8.6.1.1. Ceph 파일 시스템
클라이언트 요청 카운터는 _u8
유형에서 _u32
유형으로 변환되고 제한은 256 번으로 설정됩니다.
이전 버전에서는 활성 MDS 여러 사례에서 현재 MDS에서 단일 요청이 실패한 경우 클라이언트는 다른 MDS에 요청을 전달했습니다. MDS에서 요청을 성공적으로 처리할 수 없는 경우 MDS 간에 무한으로 되돌아갑니다. 이전 num_fwd
/num_retry
카운터는 _u8
유형이며 256 번 표시한 후 오버플로우됩니다.
이번 개선된 기능을 통해 카운터는 _u8
유형에서 _u32
유형으로 변환되고 전달 및 재시도 제한은 256 번으로 설정됩니다. 클라이언트 요청은 256 번 이후 전달 및 재시도를 중지하고 무한한 전달 및 재시도 대신 직접 실패합니다.
8.6.1.2. Ceph Object Gateway
관리자는 rados ls
의 출력을 사용하여 버킷 다시 인덱싱을 빠르게 완료할 수 있습니다.
이전에는 각 버킷에 대해 rados ls
명령을 실행하는 데 시간이 오래 걸리기 때문에 버킷의 다시 인덱싱이 느려졌습니다.
이번 개선된 기능을 통해 rgw-restore-bucket-index
툴은 rados ls 명령의 기존 출력을 재사용할 수 있도록 개선되어 관리자가 하나의
명령의 출력을 재사용할 수 있습니다. 이를 통해 버전이 지정되지 않은 여러 버킷의 버킷 인덱스 복구를 보다 신속하게 완료할 수 있습니다.
rados ls
8.6.2. 확인된 문제
8.6.2.1. Cephadm 유틸리티
iSCSI 데몬의 gwcli
에서 iSCSI 게이트웨이 추가 또는 확장은 예상대로 작동합니다.
이전 버전에서는 신뢰할 수 있는 IP 목록이 사양 파일에서 업데이트될 때 iSCSI 데몬이 자동으로 재구성되지 않기 때문에 gwcli
에서 iSCSI 게이트웨이를 추가하거나 확장하면 iSCSI 데몬 간에 iscsi-gateway.cfg
가 일치하지 않아 실패했습니다.
이번 수정을 통해 게이트웨이를 확장하고 gwcli
명령을 사용하여 기존 게이트웨이에 추가할 수 있습니다.
Ceph orch ps
는 스택 데몬 모니터링의 버전을 표시하지 않습니다.
cephadm'
에서 현재 버전이 다운스트림 모니터링 스택 컨테이너와 호환되지 않는 버전 캡처로 인해 node-exporter
,prometheus
, alertmanager
와 같은 스택 데몬을 모니터링하기 위한 버전 캡처가 실패합니다.
이 문제를 해결하려면 버전을 찾아야 하는 경우 데몬의 컨테이너 이름에 버전이 포함됩니다.
8.7. Red Hat Ceph Storage 5.3z1
Red Hat Ceph Storage 릴리스 5.3z1이 공개되었습니다. 업데이트에 포함된 버그 수정 목록은 RHBA-2023:0981 권고에 설명되어 있습니다.
8.7.1. 기능 개선
8.7.1.1. Cephadm 유틸리티
Grafana 서비스 사양에 설정된 경우 cephadm
은 대시보드 Grafana 암호를 자동으로 업데이트합니다.
이전에는 사양을 적용한 후 사용자가 Grafana 암호를 수동으로 설정해야 했습니다.
이번 개선된 기능을 통해 initial_admin_password
가 적용된 Grafana 사양에 설정된 경우 cephadm
은 ceph dashboard set-grafana-api-password
명령을 실행하는 것과 동일한 대시보드 Grafana 암호를 자동으로 업데이트하여 Grafana를 완전히 설정하는 프로세스를 간소화합니다. 사용자는 암호가 포함된 사양을 적용한 후 더 이상 대시보드 Grafana 암호를 수동으로 설정할 필요가 없습니다.
OSD는 새 mon
위치로 Ceph 구성 파일을 자동으로 업데이트
이번 개선된 기능을 통해 monmap
변경이 감지될 때마다 cephadm
은 각 OSD의 Ceph 구성 파일을 새 mon
위치로 자동으로 업데이트합니다.
OSD가 많은 경우 이 개선 사항을 통해 모든 OSD에서 업데이트하는 데 다소 시간이 걸릴 수 있습니다.
8.7.1.2. Ceph 대시보드
블록 장치 이미지 테이블이 페이지가 매겨져 있습니다.
이번 개선된 기능을 통해 블록 장치 이미지에 대한 정보를 검색하는 데 비용이 많이 들기 때문에 블록 장치 이미지 테이블이 10000개 이상의 이미지 스토리지 클러스터와 함께 사용하도록 페이지가 매겨집니다.
새로 추가된 cross_origin_url
옵션은 교차 원본 리소스 공유를 허용합니다.
이전 버전에서는 IBM 개발자는 Red Hat의 REST API에 설정된 CORS(Cross Origin Resource Sharing) 정책으로 인해 프런트 엔드를 사용하여 REST API를 ping하려고 할 때 스토리지 인사이트 제품에 문제가 발생했습니다.
이번 개선된 기능을 통해 CORS는 특정 URL로 설정할 수 있는 cross_origin_url
옵션을 추가하여 허용됩니다 - ceph config set mgr/dashboard/cross_origin_url localhost
및 REST API는 해당 URL과만 통신할 수 있습니다.
8.7.1.3. Ceph 파일 시스템
사용자는 CephFS 하위 볼륨 스냅샷의 임의의 메타데이터를 저장할 수 있습니다.
이번 개선된 기능을 통해 Ceph File System(CephFS) 볼륨 사용자는 CLI(명령줄 인터페이스) 명령 세트를 사용하여 CephFS 하위 볼륨 스냅샷의 키-값 쌍 형식으로 임의의 메타데이터를 저장할 수 있습니다.
8.7.1.4. Ceph Object Gateway
역할의 STS max_session_duration
을 업데이트할 수 있음
이번 개선된 기능을 통해 역할의 STS max_session_duration
은 radosgw-admin
명령줄 인터페이스를 사용하여 업데이트할 수 있습니다.
ListBucket
S3 작업에서 JSON 출력을 생성
이번 개선된 기능을 통해 통합에 대한 고객의 요청에 따라 요청에 Accept: application/json
헤더가 포함된 경우 ListBucket
S3 작업이 기본 XML 대신 JSON 형식의 출력을 생성합니다.
libcurl
에서 관리하는 TCP keepalive를 활성화하는 옵션이 추가되었습니다.
이번 개선된 기능을 통해 libcurl
에서 관리하는 HTTP 클라이언트 소켓에서 TCP keepalive를 활성화하는 옵션이 추가되어 Ceph Object Gateway에서 시작한 기타 작업이 네트워크 불안정에 더 탄력적으로 유지됩니다. 이는 HTTP 프런트 엔드에서 수신한 연결뿐만 아니라 인증을 위해 Keystone에서 보낸 HTTP 요청, 다중 사이트의 요청을 동기화하고 SSE용 키 관리 서버에 대한 요청에만 적용됩니다.
radosgw-admin
명령의 결과 코드 2002가 명시적으로 2로 변환됩니다.
이전 버전에서는 내부 NoSuchBucket
의 S3 오류 변환의 변경으로 인해 radosgw-admin 버킷 통계
명령에서 오류 코드가 실수로 변경되어 해당 radosgw-admin
명령의 쉘 결과 코드를 확인하는 프로그램이 다른 결과 코드를 볼 수 있었습니다.
이 향상된 기능을 통해 결과 코드 2002는 명시적으로 2로 변환되어 사용자가 원래 동작을 볼 수 있습니다.
이제 유용한 오류와 함께 버킷 정책을 사용할 수 있습니다.
오류 표시가 잘못되었기 때문에 버킷 정책을 사용하기 어려웠습니다. 또한 보안 주체를 자동으로 삭제하면 업그레이드 중에 문제가 발생합니다. 이번 업데이트를 통해 정책 구문 분석기에서 유용한 오류와 rgw 정책이 잘못된 principals=true 매개변수를 사용하여 유효하지 않은 주체를 거부하는
플래그가 도입되었습니다.
8.7.1.5. 다중 사이트 Ceph Object Gateway
버킷 동기화 실행
명령은 자세한 정보를 제공합니다.
이번 개선된 기능을 통해 버킷 동기화 실행
명령에 대한 사용자 친화적인 진행 보고서가 추가되어 사용자가 작업 진행 상황을 보다 쉽게 파악할 수 있습니다. 사용자가 --extra
사용자는 생성 동기화 시작 및 동기화된 각 오브젝트에 대한 메시지를 받습니다.
-info
플래그를 사용하여 radosgw-admin 버킷 동기화 명령을 실행하면
Red Hat 지원팀에 연락하지 않고 버킷 동기화 실행
명령을 사용하지 않는 것이 좋습니다.
다중 사이트 구성에서는 동적 버킷 인덱스 복구 지원
이전에는 다중 사이트 구성에 대한 버킷을 수동으로 재하드하는 경우에만 지원되었습니다.
이번 개선된 기능을 통해 다중 사이트 구성에서 동적 버킷 재하드가 지원됩니다. 스토리지 클러스터가 업그레이드되면 resharding
기능, 영역 수준 및 영역 그룹을 활성화합니다. radogw-admin 버킷 reshard 명령을 사용하여 버킷을 수동으로 재하드
하거나 스토리지 클러스터의 다른 영역과 관계없이 동적 재하드를 사용하여 자동으로 재하드할 수 있습니다.
사용자는 다중 사이트 아카이브 영역을 사용하여 동적으로 버킷 인덱스를 복구할 수 있습니다.
이번 개선된 기능을 통해 해당 영역에 동적 재하드를 활성화하면 멀티 사이트 아카이브 영역 버킷 인덱스를 동적으로 재하드할 수 있습니다.
8.7.1.6. RADOS
throttle 제한에 대해 사용자에게 경고하기 위해 낮은 수준의 로그 메시지가 도입됨
이전에는 throttle 제한이 발생하여 이러한 경우 네트워킹 문제가 잘못 발생했음을 나타내는 낮은 수준의 로깅 표시가 없었습니다.
이번 개선된 기능을 통해 낮은 수준의 로그 메시지가 도입되어 throttle 제한이 훨씬 더 명확해집니다.
8.7.1.7. RADOS 블록 장치(RBD)
이제 복제된 이미지를 자체 암호화 형식 및 암호를 사용하여 암호화할 수 있습니다.
이번 개선된 기능을 통해 각 복제된 각 이미지를 자체 암호화 형식 및 암호로 암호화할 수 있도록 계층화된 클라이언트 측 암호화가 지원됩니다. 포맷되지 않은 일반 복제 이미지에 대한 효율적인 COW(Copy-On-Write) 의미 체계가 유지됩니다.
8.7.2. 확인된 문제
8.7.2.1. Cephadm 유틸리티
iSCSI 데몬의 gwcli
에서 iSCSI 게이트웨이 추가 또는 확장은 예상대로 작동합니다.
이전 버전에서는 신뢰할 수 있는 IP 목록이 사양 파일에서 업데이트될 때 iSCSI 데몬이 자동으로 재구성되지 않기 때문에 gwcli
에서 iSCSI 게이트웨이를 추가하거나 확장하면 iSCSI 데몬 간에 일치하지 않아 iscsi-gateway.cfg
가 실패했습니다.
이번 수정을 통해 게이트웨이를 확장하고 gwcli
명령을 사용하여 기존 게이트웨이에 추가할 수 있습니다.
Ceph orch ps
는 스택 데몬 모니터링의 버전을 표시하지 않습니다.
cephadm
에서는 현재 다운스트림 모니터링 스택 컨테이너와 호환되지 않는 버전 catchbing 코드가 node-exporter
,prometheus
, alertmanager
와 같은 스택 데몬 모니터링에 실패합니다.
이 문제를 해결하려면 버전을 찾아야 하는 경우 데몬의 컨테이너 이름에 버전이 포함됩니다.
8.7.2.2. Ceph Object Gateway
num_shards = 0
이 있는 버킷을 다시 고정하면 버킷의 메타데이터가 손실됩니다.
num_shards = 0
이 있는 버킷이 있는 이전 릴리스에서 Red Hat Ceph Storage 5.3으로 업그레이드하면 버킷의 메타데이터가 손실되어 액세스하는 동안 버킷의 메타데이터가 손실될 수 있습니다. 이는 향후 릴리스에서 수정될 알려진 문제입니다. 업그레이드 가이드 에는 업그레이드를 시작하기 전에 num_sharding 및 num_shards
를 0이 아닌 값으로 설정하는 해결 방법이 포함되어 있습니다. 업그레이드에 대한 도움이 필요하거나 문제에 대해 자세히 알아보려면 Red Hat 지원에 문의하십시오.
9장. 소스
업데이트된 Red Hat Ceph Storage 소스 코드 패키지는 다음 위치에서 사용할 수 있습니다.
- Red Hat Enterprise Linux 8의 경우: http://ftp.redhat.com/redhat/linux/enterprise/8Base/en/RHCEPH/SRPMS/
- Red Hat Enterprise Linux 9의 경우: http://ftp.redhat.com/redhat/linux/enterprise/9Base/en/RHCEPH/SRPMS/