릴리스 노트

Red Hat Ceph Storage 6.0

Red Hat Ceph Storage 6.0 릴리스 노트

Red Hat Ceph Storage Documentation Team

초록

릴리스 노트에서는 Red Hat Ceph Storage 6.0 제품 릴리스에 구현된 주요 기능, 개선 사항, 알려진 문제 및 버그 수정에 대해 설명합니다.
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 향후 여러 릴리스에 대해 단계적으로 구현될 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat Ceph Storage 설명서에 대한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 이를 개선할 수 있는지 알려 주십시오. 이렇게 하려면 Bugzilla 티켓을 생성합니다.

  1. Bugzilla 웹 사이트로 이동합니다.
  2. 구성 요소 드롭다운에서 문서를 선택합니다.
  3. Sub-Component 드롭다운 목록에서 적절한 하위 구성 요소를 선택합니다.
  4. 문서의 적절한 버전을 선택합니다.
  5. 요약설명 필드에 개선을 위한 제안 사항을 입력하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
  6. 선택 사항: 있는 경우 첨부 파일을 추가합니다.
  7. 버그 제출을 클릭합니다.

1장. 소개

Red Hat Ceph Storage는 Ceph 스토리지 시스템의 가장 안정적인 버전을 Ceph 관리 플랫폼, 배포 유틸리티 및 지원 서비스와 결합하는 대규모 확장이 가능한 오픈 소프트웨어 정의 스토리지 플랫폼입니다.

Red Hat Ceph Storage 문서는 https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/6 에서 확인할 수 있습니다.

2장. 감사 인사

Red Hat Ceph Storage 버전 6.0에는 Red Hat Ceph Storage 팀의 많은 기여가 포함되어 있습니다. 또한 Ceph 프로젝트는 Ceph 커뮤니티의 개인 및 조직의 품질 및 기여 횟수가 크게 증가하고 있습니다. Red Hat Ceph Storage 팀의 모든 구성원, Ceph 커뮤니티의 개별 기여자 모두 다음과 같은 조직의 기여도에 대해 감사의 말씀을 전합니다.

  • Intel®
  • Fujitsu ®
  • UnitedStack
  • Yahoo ™
  • Ubuntu Kylin
  • Mellanox ®
  • CERN ™
  • Deutsche Telekom
  • Mirantis ®
  • SanDisk ™
  • SUSE ®

3장. 새로운 기능

이 섹션에는 Red Hat Ceph Storage 릴리스에 도입된 모든 주요 업데이트, 개선 사항 및 새로운 기능이 나열되어 있습니다.

msgr2 프로토콜을 사용한 유선 압축 가능

이번 릴리스에서는 유선의 암호화 외에도 스토리지 클러스터 내에서의 네트워크 작업 보안 압축도 지원됩니다.

자세한 내용은 Red Hat Ceph Storage Data Security and Hardening Guide암호화 및 키 관리 섹션을 참조하십시오.

Python 알림의 효율성 향상

이전에는 현재 모듈이 필요하지 않은 일부 사용되지 않은 알림이 있었습니다. 이로 인해 비효율이 발생했습니다.

이번 릴리스에서는 NotifyType 매개변수가 도입되었습니다. 현재 사용되는 이벤트 모듈(예: NotifyType.mon_map,NotifyType.osd_map 등)은 주석입니다. 결과적으로 모듈에서 요청하는 이벤트만 대기열에 추가됩니다. 모듈을 사용하지 않는 이벤트가 발행됩니다. 이러한 변경으로 인해 python 알림이 더 효율적입니다.

pg_num 에 대한 변경 사항은 제한됩니다.

이전 버전에서는 진행 중인 pgp_numpg_num 인 pg_num에 대한 drastic 변경이 이루어진 경우 사용자는 점별 배치 그룹 제한에 도달하여 오류를 유발할 수 있었습니다.

이번 릴리스에서는 pg_num 에 대한 변경 사항은osd 배치 그룹 제한에 대한 문제를 방지하기 위해 제한됩니다.

진행 업데이트에 대한 모든 배치 그룹 통계를 덤프하지 않도록 새로운 pg_progress 항목이 생성됩니다.

이전에는 pg_dump 항목에 python-land 로 복사된 경우 CPU를 낭비하는 불필요한 필드가 포함되어 있었습니다. 이로 인해 ClusterState::lock hold 시간이 길어지므로 ms_dispatch 지연이 지연되고 일반적으로 프로세스 속도가 느려집니다.

이번 릴리스에서는 mgr 작업 또는 진행 중인 필드만 덤프하기 위해 새로운 pg_ progress 항목이 생성됩니다.

mgr_ip 가 더 이상 다시 패치되지 않음

이전에는 활성 Ceph 관리자 모듈의 수명 동안 mgr_ip 를 다시 가져와야 했습니다.

이번 릴리스에서는 활성 Ceph 관리자 모듈의 수명 동안 mgr_ip 가 변경되지 않으므로 다시 가져오기 위해 Ceph Manager로 다시 호출할 필요가 없습니다.

WORM 컴플라이언스 지원

Red Hat은 WORM 규정 준수를 지원합니다.

자세한 내용은 S3의 오브젝트 잠금 활성화를 참조하십시오.

사용자 및 버킷에 대한 유량 제한 설정

이번 릴리스에서는 Red Hat Ceph Storage 클러스터의 작업을 기반으로 사용자 및 버킷에 대한 속도 제한을 설정할 수 있습니다. 자세한 내용은 데이터 수집에 대한 속도 제한을 참조하십시오.

대기 시간을 줄이기 위해 영구 쓰기 로그 캐시라는 librbd 플러그인

이번 릴리스에서는 PWL(영구 쓰기 로그 캐시)이라는 새로운 librbd 플러그인은 SSD 장치로 대상으로 하는 영구 내결함성 쓰기 캐시를 제공합니다. 대기 시간을 크게 줄이고 낮은 io_depths 의 성능을 향상시킵니다. 이 캐시는 내부적으로 체크포인트를 유지 관리하는 로그 주문 나중 쓰기 설계를 사용하므로 클러스터에 다시 플러시되는 쓰기는 항상 일관성을 유지합니다. 클라이언트 캐시가 완전히 손실되더라도 디스크 이미지는 여전히 일관되게 유지되지만 데이터가 오래된 것처럼 보일 수 있습니다.

Ceph File System(CephFS)에서 스냅샷에 고가용성 비동기 복제 지원

이전에는 스토리지 클러스터당 하나의 cephfs-mirror 데몬만 배포되어 CephFS에서 스냅샷 디렉터리의 비동기 복제만 지원했습니다.

이번 릴리스에서는 두 개 이상의 노드에 여러 cephfs-mirror 데몬을 배포하여 스냅샷 동기화에서 동시성을 수행하여 고가용성을 제공할 수 있습니다.

자세한 내용은 Red Hat Ceph Storage 파일 시스템 가이드의 Ceph 파일 시스템미러링 섹션을 참조하십시오.

BlueStore가 V3로 업그레이드됨

이번 릴리스에서는 BlueStore 오브젝트 저장소가 V3로 업그레이드되었습니다. 다음은 두 가지 기능입니다.

  • 할당 메타데이터는 RocksDB에서 제거되고 OSD 할당을 사용하여 al Cryostat 오브젝트의 전체 단계(destage)를 수행합니다.
  • 캐시 사용 기간의 경우에는 hot 워크로드 데이터보다 우선 순위가 더 낮을 수 있습니다. 자세한 내용은 Ceph BlueStore 를 참조하십시오.

cephadm 을 사용하여 운영 체제 튜닝 프로필 관리

이번 릴리스에서는 cephadm 을 사용하여 운영 체제 튜닝 프로필을 생성하고 관리하여 Red Hat Ceph Storage 클러스터의 성능을 향상시킬 수 있습니다. 자세한 내용은 'cephadm'을 사용하여 운영 체제 튜닝 프로필 관리를 참조하십시오.

이름으로 파일 시스템을 마운트하기 위해 새로운 cephfs-shell 옵션이 도입됨

이전에는 cephfs-shell에서 기본 파일 시스템만 마운트할 수 있었습니다.

이번 릴리스에서는 다른 파일 시스템을 이름으로 마운트할 수 있는 CLI 옵션이 cephfs-shell에 추가되어 kclientceph-fuse 에 대한 mds_namespace= 또는 fs= 옵션 과 유사한 항목이 있습니다.

이제 Ceph 대시보드를 통해 2일차 작업을 수행할 수 있습니다.

이번 릴리스에서는 Ceph 대시보드에서 매일 또는 주간 작업 빈도가 필요한 2일차 작업을 수행할 수 있습니다. 이번 개선된 기능을 통해 대시보드의 평가 기능, 고객 경험 및 사용성 및 완성도가 향상됩니다. 이 외에도 작업을 완료하기 위해 추가 정보를 검색하고 사용자에게 안내하는 새로운 온스크린 요소도 포함되어 있습니다.

3.1. Cephadm 유틸리티

cephadm을 사용하여 커널 매개변수를 관리하기 위해 OS 튜닝 프로필 추가

이번 릴리스에서는 ceph-ansible 과의 기능 패리티를 얻기 위해 tuned 프로필 사양을 적용하여 cephadm 이 사양과 일치하는 호스트에서 OS 튜닝 매개변수를 설정할 수 있습니다.

자세한 내용은 'cephadm'을 사용하여 운영 체제 튜닝 프로필 관리를 참조하십시오.

사용자는 Prometheus 사양에서 Prometheus TSDB 보존 크기와 시간을 쉽게 설정할 수 있습니다.

이전에는 사용자가 Prometheus의 기본 15d 보존 기간 및 디스크 소비를 수정할 수 없었습니다.

이번 릴리스에서는 사용자가 cephadm 을 통해 지속적으로 적용할 수 있도록 이러한 설정을 사용자 지정할 수 있으므로 사용자가 Prometheus 인스턴스가 데이터를 반환하는 데 필요한 양과 시간을 더 쉽게 지정할 수 있습니다.

이를 수행하는 형식은 다음과 같습니다.

예제

service_type: prometheus
placement:
  count: 1
spec:
  retention_time: "1y"
  retention_size: "1GB"

비보안 레지스트리를 정의하기 위해 새 Ansible 플레이북이 추가되었습니다.

이전 버전에서는 연결이 끊긴 설치 환경에 다수의 호스트가 있는 Red Hat Ceph Storage 클러스터를 배포할 때 각 호스트에 /etc/containers/registries.conf 파일을 채우는 것이 번거로웠습니다.

이번 릴리스에서는 /etc/containers/registries.conf 파일에 비보안 레지스트리를 정의하기 위해 새 Ansible 플레이북이 추가되었습니다. 따라서 사용자가 /etc/containers/registries.conf 를 이 새 플레이북으로 채울 수 있으므로 연결이 끊긴 설치 환경에 이러한 Ceph 클러스터를 더 쉽게 배포할 수 있습니다.

3.2. Ceph 대시보드

rbd-mirroring 의 Ceph 대시보드 기능 개선 가능

이전에는 사용자 인터페이스에서 Ceph Block Device Snapshot mirroring 지원이 없었습니다.

이번 릴리스에서는 CLI(명령줄 인터페이스)에만 존재하는 다음 기능을 사용하여 Ceph 대시보드의 Ceph 블록 장치 미러링 탭이 향상되었습니다.

  • 이미지에서 미러링 활성화 또는 비활성화를 지원합니다.
  • 작업 승격 및 데모 지원.
  • 이미지 재동기화 지원.
  • 사이트 이름을 편집하고 부트스트랩 키를 생성하는 가시성이 향상되었습니다.
  • 존재하지 않는 경우 rbd-mirror 를 자동으로 생성하는 버튼으로 구성된 빈 페이지입니다.

Ceph 대시보드에 새 로깅 기능이 추가됨

이번 릴리스에서는 Daemon Logs라는 단일 클러스터의 중앙 집중식 로깅 기능이 클러스터 → 로그 섹션의 대시보드에 구현됩니다. 이렇게 하면 사용자가 로그를 효율적으로 모니터링할 수 있습니다.

Ceph Manager와 해당 모듈 사이에 새로운 TTL 캐시가 추가됨

대규모 Ceph 클러스터는 많은 데이터를 생성하므로 클러스터 과부하와 모듈이 적합하지 않을 수 있습니다.

이번 릴리스에서는 Ceph Manager와 해당 모듈 사이에 새로운 TTL 캐시가 추가되어 로드를 완화하고 클러스터가 과부하되지 않도록 합니다.

Grafana 문제 해결을 위해 Ceph 대시보드에 새 정보 메시지가 제공됩니다.

Grafana를 인증 기관에서 서명한 인증서 대신 자체 서명된 TLS 인증서로 배포하는 경우 Chrome 또는 Firefox와 같은 대부분의 브라우저에서 Ceph 대시보드 내에 포함된 Grafana iframe을 표시할 수 없습니다.

이는 브라우저 자체에 의해 부과되는 보안 제한입니다. Firefox와 같은 일부 브라우저에는 보안 경고가 계속 표시됩니다. 연결은 안전하지 않지만 사용자가 예외를 수락하고 포함된 Grafana iframe을 로드할 수 있습니다. 그러나 다른 브라우저(예: Chrome)는 자동으로 실패하고 모든 종류의 오류 메시지를 표시하지 않으므로 사용자가 오류를 인식하지 못했습니다.

이번 릴리스에서는 Ceph 대시보드에 새 알림이 표시됩니다.

If no embedded Grafana Dashboard appeared below, please follow this link to check if Grafana is reachable and there are no HTTPS certificate issues. You may need to reload this page after accepting any Browser certificate exceptions.

풀에서 복구된 오브젝트 수는 Prometheus 메트릭에 노출됩니다.

이전에는 자동 복구 오브젝트에 대한 데이터가 비효율적인 로그 구문 분석을 통해 수집되었습니다.

이번 릴리스에서는 풀당 복구된 오브젝트 수가 이제 Ceph 대시보드에서 Prometheus 지표로 노출됩니다.

Ceph Dashboard는 특정 CephFS 작업에 대한 오류를 명확하게 나타냅니다.

이전에는 사용자가 파일 시스템 디렉터리에서 작업을 수행하려고 하지만 권한이 없는 경우 Ceph 대시보드에서 일반 500 내부 서버 측 오류를 보고했습니다. 그러나 이러한 오류는 실제로 사용자에게 적용되지 않습니다. 권한이 지정된 사용자에 대한 특정 작업을 방지하는 것과 동일하기 때문입니다.

이번 릴리스에서는 사용자가 무단 작업을 수행하려고 하면 권한 오류에 대한 명확한 설명이 제공됩니다.

이제 Prometheus에서 다른 스토리지 클래스에 대한 새 메트릭을 볼 수 있습니다.

이번 릴리스에서는 인프라의 성능과 용량을 따르는 데 도움이 되는 Prometheus의 다른 스토리지 클래스에 대해ceph_cluster_by_class_total_used_bytes, ceph_cluster_by_used_bytes , ceph_cluster_by_class_total_used_raw_bytes 의 세 가지 새로운 메트릭이 추가됩니다.

WAL 및 DB 장치는 이제 필터 사전 선택

이전에는 사용자가 반복적인 작업인 선택한 WAL 또는 DB 장치에 필터를 수동으로 적용해야 했습니다.

이번 릴리스에서는 사용자가 기본 장치 테이블에서 장치를 선택할 때 WAL 및 DB 장치에 대해 적절한 필터가 미리 선택됩니다.

silencing 경고를 위한 새로운 바로 가기 버튼이 추가되었습니다.

이번 릴리스에서는 새로 생성된 바로 가기를 사용하여 Ceph 대시보드의 알림 표시줄에 있는 모든 경고에 대해 음소거를 생성할 수 있습니다.

이제 대시보드에서 Ceph Object Gateway 버킷에 서버 측 암호화를 추가할 수 있습니다.

이전에는 Ceph 대시보드에 SSE(서버 측 암호화)를 Ceph Object Gateway 버킷에 추가하는 옵션이 없었습니다.

이번 릴리스에서는 Ceph 대시보드를 통해 Ceph Object Gateway 버킷을 생성하는 동안 SSE를 추가할 수 있습니다.

교차 원본 리소스 공유 허용

이전에는 REST API에서 CORS(Cross Resource Sharing) 정책 설정으로 인해 프론트 엔드를 사용하여 REST API를 ping하려고 할 때 IBM 개발자는 스토리지 인사이트 제품에 문제가 발생했습니다.

이번 릴리스에서는 특정 URL로 설정할 수 있는 cross_origin_url 옵션이 추가되었습니다. 이제 REST API에서 해당 URL과만 통신할 수 있습니다.

예제

[ceph: root@host01 /]# ceph config set mgr mgr/dashboard/cross_origin_url http://localhost:4200

3.3. Ceph 파일 시스템

이제 사용자가 하위 볼륨 그룹에서 할당량을 설정하고 관리할 수 있습니다.

이전에는 사용자가 개별 하위 볼륨에만 할당량을 적용할 수 있었습니다.

이번 릴리스에서는 특히 다중 테넌트 환경에서 작업할 때 지정된 하위 볼륨 그룹에 대한 할당량을 설정, 적용 및 관리할 수 있습니다.

Ceph File System 클라이언트는 이제 평균 읽기, 쓰기 및 메타데이터 대기 시간을 추적할 수 있습니다.

이전에는 Ceph File System 클라이언트에서 누적 읽기, 쓰기 및 메타데이터 대기 시간만 추적했습니다. 그러나 평균 읽기, 쓰기 및 메타데이터 대기 시간이 사용자에게 더 유용합니다.

이 기능을 사용하면 클라이언트는 평균 대기 시간 추적을 시작하고 perf stats 명령 출력 및 cephfs-top 유틸리티에 표시할 메타데이터 서버로 전달할 수 있습니다.

여러 파일 시스템을 지원하여 cephfs-top 유틸리티가 향상되었습니다.

이전에는 여러 파일 시스템이 있는 cephfs-top 유틸리티가 신뢰할 수 없었습니다. 또한 선택한 파일 시스템에 대한 메트릭만 표시하는 옵션이 없었습니다.

이 기능을 사용하면 cephfs-top 유틸리티에서 여러 파일 시스템을 지원하며 특정 파일 시스템과 관련된 메트릭을 확인하는 옵션을 선택할 수 있습니다.

이제 사용자는 fs volume info 명령을 사용하여 볼륨에 대한 기본 세부 정보를 표시할 수 있습니다.

이전에는 Ceph 파일 시스템에 볼륨에 대한 기본 세부 정보만 나열하는 명령이 없었습니다.

이번 릴리스에서는 fs volume info 명령을 실행하여 볼륨에 대한 기본 세부 정보를 나열할 수 있습니다.

Red Hat Ceph Storage 파일 시스템 가이드의 Ceph 파일 시스템 볼륨에 대한 정보 보기를 참조하십시오.

사용자는 하위 볼륨 스냅샷의 진행 중 또는 보류 중인 복제본을 나열할 수 있습니다.

이전에는 사용자가 clone 하위 볼륨의 이름을 알고 복제 상태 명령을 사용하여 세부 정보를 유추하지 않는 한 진행 중이거나 하위 볼륨 스냅샷에 대한 복제 작업 집합을 알 수 없었습니다.

이번 릴리스에서는 지정된 하위 볼륨 스냅샷 이름에 in-progress 또는 보류 중인 복제본을 나열할 수 있습니다.

이제 사용자는 fs volume info 명령과 함께 --human-readable 플래그를 사용할 수 있습니다.

이전에는 모든 크기가 fs volume info 명령을 실행할 때 바이트 단위로 표시되었습니다.

이번 릴리스에서는 사용자가 fs volume info 명령을 실행하는 유닛과 함께 크기를 확인할 수 있습니다.

3.4. Ceph Object Gateway

새로운 S3 버킷 라이프사이클 알림이 생성됨

이번 릴리스에서는 라이프사이클 처리로 생성된 현재 및 최신 버전, 삭제 표시 만료에 대해 S3 버킷 알림이 생성됩니다. 이 기능은 다른 잠재적 용도 중 애플리케이션 워크플로에 유용할 수 있습니다.

오브젝트는 설정된 라이프사이클 규칙에 따라 S3 클라우드 끝점으로 전환됩니다.

Red Hat Ceph Storage에서는 데이터를 전환해야 하는 원격 클라우드 S3 오브젝트 저장소 서비스를 구성하기 위해 계층 유형 cloud-s3 의 특수 스토리지 클래스를 사용합니다. 이는 zonegroup 배치 대상의 관점에서 정의되며 일반 스토리지 클래스와 달리 데이터 풀이 필요하지 않습니다.

이번 릴리스에서는 사용자가 Ceph Object Gateway 서버에서 스토리지 클래스를 통해 원격 S3 클라우드 포인트로 Ceph Object Gateway 오브젝트를 전환할 수 있습니다. 그러나 이러한 데이터는 원격 서버에서 다시 전환할 수 없기 때문에 전환은 되돌릴 수 없습니다.

Ceph Object Gateway S3 정책 오류가 더 유용합니다.

이전에는 Ceph Object Gateway S3 정책 오류 메시지가 불투명되어 유용하지 않았습니다. 버전을 업그레이드한 후 버킷의 데이터에 액세스할 수 없는 초기 문제는 승인되었지만 잘못된 보안 주체는 코드 변경으로 인해 수집에 대해 자동으로 무시되지만 나중에 사용 거부되는 것으로 보입니다.

이번 릴리스에서는 정책이 상세하고 유용한 오류 메시지를 출력합니다. 명령 줄에서 정책 문서를 테스트할 수 있는 새로운 rgw-policy-check 명령도 있으며, 새 옵션 rgw 정책은 기본적으로 false 인 잘못된 주체를 거부하고 오류 없이 잘못된 보안 주체를 무시하고 오류 메시지만 무시하지 않고 수집에 대한 잘못된 주체를 거부합니다.

버킷 인덱스를 업데이트할 때 레벨 20 Ceph Object Gateway 로그 메시지 감소

이번 릴리스에서는 값을 추가하지 않고 로그 크기를 줄이기 위해 버킷 인덱스를 업데이트할 때 Ceph Object Gateway 수준 20 로그 메시지가 줄어듭니다.

3.5. 다중 사이트 Ceph Object Gateway

이제 다중 사이트 구성의 모든 영역에서 라이프사이클 정책이 실행됨

이번 릴리스에서는 다중 사이트 Red Hat Ceph Storage 구성의 모든 영역에서 라이프사이클 정책이 실행되므로 이러한 구성에서 라이프사이클 처리의 복원력이 향상됩니다. 아카이브 영역의 조건부 처리와 같은 새로운 기능도 허용하도록 변경되었습니다.

다중 사이트 구성에서는 동적 버킷 인덱스 복구 지원

이전에는 다중 사이트 구성에 대한 버킷을 수동으로 재하드하는 경우에만 지원되었습니다.

이번 릴리스에서는 다중 사이트 구성에서 동적 버킷 재하드가 지원됩니다. 스토리지 클러스터가 업그레이드되면 resharding 기능을 활성화하고 스토리지 클러스터의 다른 영역과 관계없이 radosgw-admin 버킷 reshard 명령을 사용하여 버킷을 수동으로 재하드합니다.

이제 사이트에서 역할 인터페이스를 사용하여 STS max-session-duration 매개변수를 사용자 지정할 수 있습니다.

이전에는 인터페이스에서 노출되지 않았기 때문에 STS 세션의 기간을 제어하는 max-session-duration 매개변수를 구성할 수 없었습니다.

이번 릴리스에서는 역할 인터페이스를 통해 STS max-session-duration 매개변수를 사용자 지정할 수 있습니다.

3.6. RADOS

Kafka SASL/SCRAM 보안 메커니즘이 버킷 알림에 추가됨

이번 릴리스에서는 Kafka SASL/SCRAM 보안 메커니즘이 버킷 알림에 추가되었습니다.

이 기능을 사용하는 방법을 알아보려면 주제 생성 의 "kafka" 섹션을 참조하십시오. 기능의 엔드 투 엔드 구성(테스트의 경우)은 Ceph의 범위를 벗어납니다.

throttle 제한에 대해 사용자에게 경고하기 위해 낮은 수준의 로그 메시지가 도입됨

이전에는 throttle 제한이 발생하여 이러한 경우 네트워킹 문제가 잘못 발생했음을 나타내는 낮은 수준의 로깅 표시가 없었습니다.

이번 릴리스에서는 낮은 수준의 로그 메시지가 도입되어 throttle 제한이 훨씬 더 명확해집니다.

ceph statusceph 상태 세부 정보 명령을 통해 Filestore 사용 중단에 대해 사용자에게 경고

BlueStore는 기본값이며 널리 사용되는 오브젝트 저장소입니다.

이번 릴리스에서는 파일 저장소에 있는 OSD가 있는 경우 OSD_FILESTORE 상태 점검으로 인해 스토리지 클러스터가 HEALTH_WARN 상태로 전환됩니다. 최종 사용자는 이 경고를 지우려면 Filestore에 있는 OSD를 BlueStore로 마이그레이션해야 합니다.

이제 사용자는 BlueStore에서 조정 가능한 KernelDevice 버퍼를 활용할 수 있습니다.

이번 릴리스에서는 BlueStore에서 bdev_read_buffer_alignment 명령을 사용하여 읽기 버퍼에 대한 사용자 정의 정렬을 구성할 수 있습니다. 이렇게 하면 대규모 페이지에서 버퍼를 백업하기 위한 경우 기본 4KiB 정렬 공간에 의해 부과된 제한 사항이 제거됩니다.

또한 BlueStore는 KernelDevice를 통해 캐시되지 않은 액세스 패턴이 있는 워크로드에 대해 MAP_HUGETLB 기반 읽기 버퍼의 bdev_read_preallocated_huge_buffer_num 매개변수를 사용하여 구성 가능한 풀을 가져옵니다. 이 풀은 재활용이 수행되며 캐시할 수 없습니다.

이러한 기능을 함께 사용하면 스토리지 구성 요소에 의해 NIC로 전달되는 디스케일 수집 목록을 NIC로 단축하여 BlueStore에서 대규모 페이지 기반 읽기 버퍼 처리를 개선할 수 있습니다.

OSD는 집계된 형식의 작업 세부 정보를 Ceph 클러스터 로그에 보고합니다.

이전에는 느린 요청이 너무 많은 세부 정보로 클러스터 로그를 덮어쓰고 모니터 데이터베이스를 채우도록 했습니다.

이번 릴리스에서는 작업 유형별 요청 속도가 느려지고 풀 정보는 집계된 형식으로 클러스터 로그에 기록됩니다.

사용자는 CIDR 범위를 차단할 수 있음

이번 릴리스에서는 개별 클라이언트 인스턴스 및 IP 외에도 CIDR 범위를 차단할 수 있습니다. 특정 상황에서는 개별 클라이언트를 차단 목록에 지정하는 대신 전체 데이터 센터 또는 랙의 모든 클라이언트를 차단 목록에 차단해야 합니다.

예를 들어 워크로드를 다른 머신 세트로 장애 조치하고 이전 워크로드 인스턴스가 계속 부분적으로 작동하지 않도록 하려는 경우입니다.

이제 기존 "블록리스트" 명령과 유사한 "블록 목록 범위"를 사용할 수 있습니다.

3.7. RADOS 블록 장치(RBD)

대기 시간을 줄이기 위해 librbd SSD 기반 영구 쓰기 캐시가 이제 완전히 지원됩니다.

이번 릴리스에서는 pwl_cache librbd 플러그인은 SSD 장치를 대상으로 하는 로그 구조 나중 쓰기 캐시를 제공합니다. PMEM 장치를 대상으로 하는 로그 구조의 나중 쓰기 캐시와 마찬가지로 이미지에 대한 업데이트는 일괄 처리 및 플러시되어 실제 이미지를 크래시 일치 상태로 유지합니다. 이점과 사용 사례는 동일하게 유지되지만 사용자는 더 이상 비용이 많이 드는 PMEM 장치를 사용할 필요가 없습니다.

librbd compare-and-write 작업이 개선되어 새로운 rbd_aio_compare_and_writev API 메서드가 도입되었습니다.

  • 이제 비교 및 C++ API의 의미 체계가 C API와 일치합니다.

    이전에는 Image::compare_and_writeImage::aio_compare_and_write 메서드인 compare-and-write C++ API가 비교 버퍼의 크기와 비교되었습니다. 이로 인해 스트라이프 단위 경계가 중단된 후 손상이 발생합니다.

    이번 릴리스에서는 비교 및 쓰기 C++ API가 C API의 의미 체계와 일치하며 각 버퍼가 큰 경우에도 비교 및 쓰기 단계가 len 바이트에서만 작동합니다.

  • 비교 및 쓰기 작업은 더 이상 512바이트 섹터로 제한되지 않습니다.

    이번 릴리스에서는 액세스가 올바르게 정렬된 경우 스트라이프 단위에서 비교 및 쓰기가 작동할 수 있습니다. 스트라이프 단위는 기본적으로 4MB입니다.

  • 새로운 rbd_aio_compare_and_writev API 메서드를 사용할 수 있습니다.

    이번 릴리스에서는 기존 rbd_aio_readvrbd_aio_writev 메서드를 보완하는 비교 및 쓰기 버퍼에서 split/gather를 지원하는 rbd_aio_compare_and_writev API 메서드가 포함됩니다.

계층화된 클라이언트 측 암호화 지원

이번 릴리스에서는 복제된 이미지를 암호화할 수 있습니다. 각각 자체 암호화 형식 및 암호가 있으며 상위 이미지의 것과 다를 수 있습니다. 포맷되지 않은 일반 복제 이미지에 사용되는 효율적인 COW(Copy-On-Write) 의미 체계가 유지됩니다.

4장. 버그 수정

이 섹션에서는 이 Red Hat Ceph Storage 릴리스에서 수정된 사용자에게 상당한 영향을 미치는 버그에 대해 설명합니다. 또한 섹션에는 이전 버전에서 발견된 수정된 알려진 문제에 대한 설명이 포함되어 있습니다.

4.1. Cephadm 유틸리티

PID 제한이 제거되고 컨테이너의 워크로드가 더 이상 충돌하지 않음

이전에는 Red Hat Enterprise Linux 9 배포에서 pid 제한이 적용되어 컨테이너 내에서 실행할 수 있는 프로세스 수를 제한했습니다. 이로 인해 Ceph Object Gateway 동기화와 같은 특정 작업이 충돌합니다.

이번 수정을 통해 모든 Ceph 컨테이너에서 pid 제한이 무제한 으로 설정되어 컨테이너의 워크로드가 충돌하지 않습니다.

(BZ#2165644)

cephadm이 더 이상 임의로 구성 및 키링 파일을 일시적으로 제거하지 않음

이전 버전에서는 클라이언트 conf 및 인증 키를 계산할 때 잘못된 타이밍으로 인해 cephadm 에서 호스트에 구성 및 인증 키가 없어야 하고 나중에 모든 키를 제거해야 함을 계산했습니다.

이번 수정으로 계산 타이밍이 변경되어 계산에 대한 최신 정보가 보장됩니다. cephadm 은 더 이상 임의로 실행되지 않으며, 구성 및 키링 파일을 임시로 제거합니다.

(BZ#2125002)

Ceph Object Gateway 데몬이 루프백 주소에 올바르게 바인딩

이전에는 Ceph Object Gateway 데몬을 바인딩할 호스트에서 유효한 IP 주소를 찾을 때 cephadm 이 제외되어 데몬이 루프백 주소에 바인딩되지 않았습니다.

이번 수정을 통해 명시적으로 검사를 수행하여 Ceph Object Gateway 데몬을 루프백 주소에 바인딩할 수 있습니다. 루프백 인터페이스가 감지되면 127.0.0.1 주소가 IPv4에 사용되며 ::1 은 루프백 주소로 IPv6에 사용됩니다.

(BZ#2018245)

Ceph 모니터 저장소 크기 제한을 초과한 후 cephadm에서 장치 정보를 여러 항목으로 분할

이전에는 호스트 를 새로 고칠 수 없어 장치 정보가 모니터 저장소의 기본 최대 크기 제한을 64K를 초과하면 대부분의 작업을 완료했습니다. 이로 인해 항목 크기 오류가 발생했습니다. 결과적으로 디스크 수가 많은 호스트가 있는 경우 사용자가 기본 제한을 늘려야 했습니다.

이번 수정을 통해 이제 크기 제한보다 더 많은 공간이 필요한 경우 cephadm 은 장치 정보를 여러 항목으로 분할합니다. 디스크 수가 많은 호스트가 있는 경우 사용자는 더 이상 모니터 저장소 항목 크기 제한을 늘릴 필요가 없습니다.

(BZ#2053276)

크래시 데몬에서 크래시 이벤트를 올바르게 기록하고 스토리지 클러스터에 보고

이전에는 스토리지 클러스터에 크래시 보고서를 보낼 때 크래시 데몬이 제대로 인증되지 않아 클러스터에 전송할 크래시 이벤트가 올바르게 기록되지 않았습니다.

이번 수정으로 크래시 데몬은 이제 크래시 보고서를 보낼 때 인증 정보를 올바르게 사용합니다. 이제 충돌 이벤트를 올바르게 기록하고 클러스터에 보고합니다.

(BZ#2062989)

cephadm.log 의 로그 교체로 인해 더 이상 문제가 발생하지 않아야 합니다.

이전 버전에서는 /var/log/ceph 디렉터리가 cephadm (예: ceph-common 또는 ceph-ansible )이 아닌 다른 방법으로 생성된 경우 logrotate 명령이 문제가 발생했습니다. 결과적으로 cephadm.log 를 순환할 수 없었습니다.

이번 수정을 통해 root 사용자로 교체되도록 su root root 가 logrotate 구성에 추가되었습니다. logrotate 명령은 더 이상 var/log/ceph 디렉터리의 소유권에 문제가 발생하지 않으므로 cephadm.log 가 예상대로 순환됩니다.

(BZ#2099670)

cephadm 로깅 구성이 업데이트됩니다.

이전에는 cephadm 스크립트가 모든 출력을 stderr 에 로깅했습니다. 그 결과, 성공적인 배포를 나타내는 cephadm 부트스트랩 로그도 stdout 대신 stderr 로 전송되었습니다.

이번 수정으로 cephadm 스크립트에는 특정 명령에 대해 다른 로깅 구성이 있으며 부트스트랩에 사용된 로깅 구성은 이제 stderr 에 오류를 기록합니다.

(BZ#2103707)

네트워크 검사로 인해 더 이상 호스트가 모니터 네트워크에서 제외되지 않음

이전에는 cephadm 이 호스트 네트워크와 구성된 일부 공용 네트워크 간에 정확히 일치하는 항목을 찾기 때문에 네트워크 검사가 실패했습니다. 이로 인해 유효한 네트워크 구성이 있는 호스트는 public_network 에 속하는 인터페이스가 있는 호스트이며 모니터 네트워크에서 제외되었습니다.

이번 수정을 통해 정확히 일치하는 항목을 찾는 대신 호스트 네트워크가 구성된 공용 네트워크와 겹치는지 확인하므로 유효한 호스트가 더 이상 모니터 네트워크에서 제외되지 않습니다.

(BZ#2104947)

cephadm no longer remove osd_memory_target config settings at host level

이전 버전에서는 osd_memory_target_autotune 이 전역적으로 꺼져 있는 경우 cephadm 에서 사용자가 호스트 수준에서 osd_memory_target 에 설정한 값을 제거했습니다. 또한 FQDN 이름이 있는 호스트의 경우 crush 맵에서 짧은 이름을 사용하지만 cephadm 은 FQDN을 사용하여 구성 옵션을 설정했습니다. 이로 인해 호스트 수준에서 osd_memory_target 을 수동으로 설정할 수 없고 osd_memory_target 자동 튜닝이 FQDN 호스트에서 작동하지 않습니다.

이번 수정을 통해 osd_memory_target _ autotune이 false 로 설정된 경우 호스트 수준에서 osd_memory_target 구성 설정이 cephadm 에서 제거되지 않습니다. 또한 호스트 수준 osd_memory_target 을 설정할 때 항상 호스트에 짧은 이름을 사용합니다. 호스트 수준 osd_memory_target_autotunefalse 로 설정된 경우 사용자는 osd_memory_target 을 수동으로 설정하고 cephadm 에서 옵션을 제거하지 않도록 할 수 있습니다. 또한 자동 튜닝은 이제 FQDN 이름을 사용하여 cephadm 에 추가된 호스트에서 작동해야 합니다.

(BZ#2107849)

cephadm 은 Ceph OSD 구성 파일을 다시 작성합니다.

이전 버전에서는 OSD를 재배포하는 동안 cephadm 은 Ceph OSD에 사용되는 구성을 작성하지 않았기 때문에 Ceph Monitor 데몬을 추가하거나 제거할 때 OSD에서 구성 파일에서 업데이트된 모니터 구성을 가져오지 않았습니다.

이번 수정으로 OSD를 재배포할 때 cephadm 은 구성 파일을 자동으로 다시 작성하고 OSD 구성 파일이 업데이트되어 모니터가 사용자 개입 없이 추가되거나 삭제될 때 모니터의 새 위치를 표시합니다.

(BZ#2111525)

사용자가 명시적 배치에 나열된 호스트를 드레이닝할 수 있습니다.

이전 버전에서는 명시적 배치의 일부로 나열된 호스트를 드레이닝하면 드레이닝이 중지되거나 호스트가 명시적 배치에서 제거될 때까지 호스트가 제대로 드레이닝되지 않고 역추적이 기록되었습니다.

이번 수정을 통해 명시적 배치 처리가 내부적으로 구현되고 cephadm 은 호스트에서 데몬을 제거해야 하는지 확인할 수 있습니다. 결과적으로 사용자는 먼저 배치에서 호스트를 제거하지 않고도 명시적 배치의 일부로 나열된 호스트를 드레인할 수 있습니다.

그러나 사용자는 호스트를 완전히 제거하거나 호스트를 명시적으로 나열하기 전에는 호스트를 명시적 배치에서 제거해야 합니다.

(BZ#2112768)

--apply-spec 옵션이 부트스트랩 중에 실패하는 경우 cephadm 은 0이 아닌 코드를 반환합니다.

이전에는 작업이 완료된 경우 cephadm bootstrap에서 항상 코드 0 을 반환했습니다. --apply-spec 옵션을 사용하여 배포에 오류가 있는 경우 반환 코드의 오류를 반영하지 않습니다.

이번 수정을 통해 부트스트랩 중에 사양을 적용할 때 cephadm 은 0이 아닌 값을 반환합니다.

(BZ#2116689)

공유 DB 장치로 복잡한 OSD 배포 또는 교체는 한 번에 모두 수행할 필요가 없습니다.

이전에는 cephadm 이 OSD를 생성할 때 이전 OSD의 db 장치로 이미 사용된 장치가 사용 불가능한 장치로 필터링되었습니다. 결과적으로 장치를 DB로 사용하지만 한 번에 배포되지 않은 모든 OSD가 OSD 사양에 부합하지 않더라도 후속 OSD를 생성할 때 DB 장치가 필터링되므로 작동하지 않는 복잡한 OSD 배포입니다.

이번 수정으로 공유 DB 장치가 포함된 복잡한 OSD 배포를 한 번에 모두 수행할 필요가 없습니다. 사용자가 사양에 이미 나열된 db 장치와 결합할 추가 데이터 장치를 포함하도록 OSD 사양을 업데이트하는 경우 cephadm 은 이러한 새 OSD를 생성할 수 있어야 합니다.

(BZ#2119715)

cephadm에서 잘못된 tuned-profile 사양이 감지된 경우 적절한 오류가 발생합니다.

이전에는 cephadmtuned-profile 에 대한 YAML 사양을 확인하지 않아 잘못된 tuned-profile 사양에 유효하지 않고 누락된 데이터를 적용하는 동안 오류 또는 경고가 반환되지 않았습니다.

이번 수정을 통해 tuned-profile 사양을 검증하기 위해 몇 가지 검사가 추가되었습니다. cephadm:에서 잘못된 tuned-profile 사양이 감지되면 적절한 오류가 발생합니다.

  • 잘못된 튜닝 가능 항목은 YAML 사양의 "설정"에 설명되어 있습니다.
  • YAML 사양의 "설정" 섹션이 비어 있습니다.
  • 잘못된 배치가 감지됩니다.

(BZ#2123609)

4.2. Ceph 대시보드

호스트 장치 Life Expectancy 열에 Ceph 대시보드에서 올바른 값이 표시됩니다.

이전에는 열에 기본값이 없으므로 호스트 장치 Life Expectancy 열에 빈 값이 표시되었습니다.

이번 수정으로 호스트 장치 LifeExpectancy 열에 기본값이 할당되고 열에 올바른 값이 표시됩니다.

(BZ#2021762)

사용자가 Ceph Object Gateway 하위 사용자 권한을 변경할 수 있음

이전에는 요청이 제대로 구현되지 않았기 때문에 사용자가 Ceph Object Gateway 하위 사용자 권한을 변경할 수 없었습니다.

이번 수정으로 Ceph Object Gateway 하위 사용자 권한 편집 요청이 제대로 구현되므로 사용자가 하위 사용자 권한을 변경할 수 있습니다.

(BZ#2042888)

풀의 전체 성능 그래프는 Ceph 대시보드에서 올바른 값을 보여줍니다.

이전에는 Ceph 대시보드 풀의 전체 성능 그래프와 관련된 쿼리에 문제가 있었으며 풀 개요에 동일한 풀의 여러 항목이 표시되었습니다.

이번 수정으로 관련 쿼리가 수정되었으며 풀의 전체 성능 그래프에 올바른 값이 표시됩니다.

(BZ#2062085)

이제 Ceph 대시보드가 NFS 내보내기 생성의 CLI(명령줄 인터페이스) 방식과 일치합니다.

이전에는 NFS 내보내기 생성을 위한 squash 필드가 편집 양식에 필수 필드로 표시되었습니다. 또한 백엔드에서 내보내기를 생성하고 다른 종류의 스쿼시 이름을 지정하면 양식에서 빈 필드를 반환합니다.

이번 수정을 통해 squash 필드에서 필요한 조건이 제거되고 편집 양식에서 비어있는 스쿼시 필드도 해결됩니다.

(BZ#2062456)

풀 수에 Ceph 대시보드에서 올바른 값이 표시됨

이전에는 풀 수와 관련된 쿼리에 문제가 있었습니다. 전체 성능 탭에서 Ceph 대시보드는 풀 수를 소수 값으로 표시했습니다.

이번 수정으로 관련 쿼리가 수정되어 풀 수가 Ceph 대시보드에서 올바른 값을 표시합니다.

(BZ#2062590)

새 서비스 이름을 생성할 때 검증이 필요합니다.

이전에는 Ceph 대시보드에서 새 서비스를 생성할 때 검증되지 않았습니다. 그 결과 사용자가 기존 이름으로 새 서비스를 생성할 수 있었습니다. 이렇게 하면 기존 서비스를 덮어쓰고 사용자가 호스트에서 현재 실행 중인 서비스가 손실됩니다.

이번 수정을 통해 대시보드에서 새 서비스를 생성하고 기존 서비스 이름을 사용하기 전에 검증이 필요합니다.

(BZ#2064850)

Grafana에서 외부 스냅샷 생성이 기본적으로 비활성화되어 있음

이전에는 외부 Grafana 스냅샷을 생성하면 손상된 링크가 생성되었습니다. 이로 인해 사용자가 메트릭 패턴을 확인하여 환경에 대한 통찰력을 얻을 수 있으므로 인프라가 DDoS 공격에 취약해질 수 있습니다.

이번 수정을 통해 외부 Grafana 스냅샷이 비활성화되고 대시보드 공유 옵션에서 제거됩니다.

(BZ#2079847)

이제 Ceph 대시보드의 관리되지 않는 모드로 안전하게 서비스를 배치할 수 있습니다.

이전 버전에서는 사용자가 관리되지 않는 모드에서 수신 또는 SNMP와 같은 서비스를 생성하거나 수정하려고 하면 양식에서 500 오류 메시지를 반환하고 서비스를 생성하지 못했습니다. 이 문제는 서비스가 관리되지 않는 경우에도 양식에 일부 필드를 표시하지 않기 때문에 발생했습니다.

이번 수정을 통해 이제 필요한 필드가 표시되고 유효성 검사도 개선되므로 모든 서비스를 관리되지 않는 모드로 안전하게 배치할 수 있습니다.

(BZ#2080316)

이제 Ceph 대시보드가 IP 주소 대신 호스트 이름과 안전하게 연결됩니다.

이전에는 Ceph 대시보드의 Object Gateway 섹션에 액세스하려고 하면 500 - 내부 서버 오류가 발생했습니다. 이 오류는 Ceph 대시보드가 호스트 이름 대신 IP 주소로 Ceph Object Gateway 데몬에 대한 HTTPS 연결을 설정하려고 시도했기 때문에 서버의 호스트 이름이 TLS 인증서의 호스트 이름과 일치해야 했습니다.

이번 수정으로 Ceph 대시보드는 이제 HTTPS 연결을 올바르게 설정하고 호스트 이름을 사용하여 오브젝트 게이트웨이에 성공적으로 연결할 수 있습니다.

(BZ#2080485)

수신 서비스를 생성할 때 Ceph -dashboard 에서 사용자에게 프롬프트를 표시합니다.

이전에는 frontend를 지정하고 포트 값을 모니터링하지 않고 양식을 제출할 때 500개의 내부 서버 오류로 수신 서비스 생성이 실패했습니다. 결과적으로 Ceph 대시보드에서 수신 서비스를 생성할 수 없었습니다.

이번 수정으로 ceph-dashboard 는 Ceph 대시보드에서 수신 서비스를 생성할 때 모든 필수 필드를 작성하도록 사용자에게 요청합니다.

(BZ#2080916)

Ceph 대시보드의 호스트 테이블의 서비스 인스턴스 열에 특정 호스트에 배포된 모든 서비스가 표시됩니다.

이전 버전에서는 클러스터호스트 테이블의 서비스 인스턴스 열에는 일부 서비스에 대한 서브스크립션이 없기 때문에 cephadm 서비스가 아닌 ceph 서비스만 표시되었습니다.

이번 수정으로 서비스 인스턴스 열에 Ceph 대시보드의 호스트 테이블에 있는 특정 호스트에 배포된 모든 서비스가 표시됩니다.

(BZ#2101771)

사용자가 기존 이름으로 스냅샷을 생성하려고 하면 Ceph 대시보드에 적절한 오류 메시지가 표시됩니다.

이전에는 Ceph 대시보드에서 기존 이름으로 Ceph File System 스냅샷 생성을 확인하지 않았으며 500 - 내부 서버 오류가 발생했습니다.

이번 수정을 통해 사용자가 기존 이름으로 스냅샷을 생성할 때 적절한 오류 메시지가 발생하는 올바른 오류 메시지가 추가되었습니다.

(BZ#2111650)

대시보드에 Ceph 노드 "네트워크 패킷" 드롭 경고가 적절하게 표시됩니다.

이전에는 Ceph 노드 "네트워크 패킷" 드롭 경고와 관련된 쿼리에 문제가 있었습니다. 그 결과 Ceph 대시보드에서 이러한 경고가 자주 표시됩니다.

이번 수정을 통해 관련 쿼리로 인해 더 이상 문제가 발생하지 않으며 Ceph 노드 네트워크 패킷 삭제 경고가 적절하게 표시됩니다.

(BZ#2125433)

4.3. Ceph 파일 시스템

대기열된 각 작업 후 MDS 데몬에서 각 스레드의 하트비트 재설정

이전에는 스레드가 많은 작업을 수행하는 경우 오랜 시간 동안 mds_lock 을 보유했습니다. 이로 인해 다른 스레드가 리소스가 중단되고 장기간 중단되어 MDS 데몬이 시간 내에 모니터하고 클러스터에서 시작되도록 하트비트를 보고하지 못했습니다.

이번 수정으로 MDS 데몬은 대기열에 있는 각 스레드의 하트비트를 다시 설정합니다.

(BZ#2060989)

동시 조회 및 연결 해제 작업 중에 Ceph Metadata Server가 더 이상 충돌하지 않음

이전에는 코드에 배치된 어설션이 Ceph 클라이언트에서 동시 조회 및 연결 해제 작업에 도달하여 Ceph Metadata Server 충돌이 발생했습니다.

이번 수정을 통해 동시 조회 및 연결 해제 작업 중에 가정이 유효하여 Ceph 클라이언트 작업을 중단하지 않고 Ceph 클라이언트 작업을 지속적으로 제공하는 관련 위치로 어설션됩니다.

(BZ#2074162)

클라이언트가 getattr 클라이언트 요청을 생성한 직후에 보내는 경우 복제본 MDS가 더 이상 고정되지 않습니다.

이전 버전에서는 클라이언트가 복제본 MDS를 생성한 직후 getattr 클라이언트 요청을 보낸 경우 CInode 가 아직 연결되지 않았기 때문에 클라이언트가 #INODE-NUMBER 의 경로를 만들 수 있었습니다. 복제본 MDS는 auth MDS가 mdlogC_MDS_openc_finish 를 플러시할 때까지 계속 재시도하고 link_primary_inode 는 최대 5초 후에 호출되었습니다.

이번 수정을 통해 auth MDS에서 CInode 를 찾기 위해 복제본 MDS에서 mdslog 플러시 를 수동으로 트리거합니다.

(BZ#2091491)

사용자가 생성한 Ceph File System 하위 볼륨 그룹이 이제 하위 볼륨 그룹을 나열할 때 표시됩니다.

이전에는 Ceph File System(CephFS) 하위 볼륨 그룹에 사용자가 생성한 CephFS 하위 볼륨 그룹 대신 CephFS 내부 그룹이 포함되어 있었습니다.

이번 수정을 통해 CephFS 하위 볼륨 그룹 목록에서 내부 그룹이 필터링됩니다. 결과적으로 사용자가 생성한 CephFS 하위 볼륨 그룹이 표시됩니다.

(BZ#2093258)

저장된 snap-schedule가 Ceph 스토리지에서 다시 로드됨

이전에는 Ceph Manager를 다시 시작하면 Ceph 스토리지에 저장되지 않았기 때문에 보존 정책 사양이 손실되었습니다. 결과적으로 보존은 작동을 중지했습니다.

이번 수정을 통해 이제 snap-schedule에 대한 모든 변경 사항이 Ceph 스토리지에 유지되므로 Ceph Manager가 다시 시작되면 저장된 snap-schedule가 Ceph 스토리지에서 다시 로드되고 지정된 보존 정책 사양으로 다시 시작됩니다.

(BZ#2125773)

RADOS 오브젝트 삭제를 위한 API가 업데이트됨

이전 버전에서는 RADOS 오브젝트를 삭제하면 프로그램이 충돌하여 로그에 역추적이 생성되었습니다.

이번 수정으로 업그레이드 후 RADOS 오브젝트를 올바르게 제거하고 로그에 스택 추적이 덤프되지 않도록 API가 업데이트되었습니다.

(BZ#2126269)

MDS에서 손상된 모든 dentries를 저장합니다.

이전 버전에서는 메타데이터 서버(MDS)가 dentry 손상이 해당 dirfrag 에 없는 경우 dirfrag 에 대한 dentry 손상만 저장했습니다. 그 결과, 첫 번째 손상된 dentry만 손상 테이블에 저장되고 dirfrag 의 후속 손상은 무시됩니다.

이번 수정으로 MDS는 이제 손상된 모든 dentries를 올바르게 저장할 수 있습니다.

(BZ#2129968)

업그레이드 중에 ceph-mds 데몬이 더 이상 충돌하지 않음

이전에는 inode를 복구할 때 메타데이터 서버에서 잘못된 가정으로 인해 업그레이드 중에 Ceph Metadata Server 데몬(ceph-mds)이 충돌했습니다. 이로 인해 업그레이드 중에 ceph-mds 가 어설션에 도달했습니다.

이번 수정으로 inode 복구 중에 ceph-mds 가 올바른 가정을 하고 업그레이드 중에 ceph-mds 가 더 이상 충돌하지 않습니다.

(BZ#2130081)

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 클러스터에서 예기치 않게 제거되지 않습니다.

(BZ#2130118)

하위 볼륨 snapshot info 명령에 더 이상 출력에 size 필드가 없습니다

이전에는 subvolume snapshot 명령의 출력에서 잘못된 스냅샷 크기를 반환했습니다. 이는 snapshot info 명령이 rstats 를 사용하여 스냅샷 크기를 추적하기 때문입니다. rstats 는 스냅샷 자체 대신 해당 하위 볼륨에서 스냅샷 크기를 추적합니다.

이번 수정을 통해 rstats 가 수정될 때까지 snapshot info 명령의 출력에서 size 필드가 제거됩니다.

(BZ#2130422)

디스크 전체 시나리오에서는 구성 파일이 더 이상 손상되지 않습니다.

이전에는 기존 구성 파일을 자르고 구성 데이터를 쓰는 데 필요한 임시 파일을 사용하지 않고 구성 파일을 디스크에 직접 작성했습니다. 이로 인해 디스크가 truncate에 성공했기 때문에 디스크가 가득 차면 구성 파일이 비어 있지만 공간 오류 없이 새 구성 데이터를 쓸 수 없었습니다. 또한 해당 하위 볼륨에 대한 모든 작업이 실패했습니다.

이번 수정을 통해 구성 데이터가 임시 구성 파일에 기록되고 원래 구성 파일로 이름이 변경되고 원래 구성 파일이 잘리지 않습니다.

(BZ#2130450)

알 수 없는 메시지의 경우 MDS를 중단하지 마십시오.

이전에는 메타데이터 서버(MDS)가 이해할 수 없는 메시지가 수신되면 중단되었습니다. 결과적으로 모든 악의적인 클라이언트가 새 유형의 메시지를 서버로 전송하여 서버를 충돌시킵니다. 악의적인 클라이언트 측에서도 이는 새 클라이언트가 서버에 새 메시지를 잘못 보내는 것과 같은 프로토콜 문제가 있을 때마다 새 클라이언트 대신 전체 시스템이 충돌할 수 있음을 의미합니다.

이번 수정을 통해 클라이언트의 알 수 없는 요청이 수신되면 MDS가 더 이상 중단되지 않고 세션을 종료하고 클라이언트를 제거합니다. 이렇게 하면 모든 악의적인 클라이언트로부터 서비스 거부와 같은 의도적인 공격으로부터 MDS 및 전체 시스템을 보호합니다.

(BZ#2130984)

이제 NFS 클라이언트의 디렉터리 목록이 NFS-Ganesha 내보내기에 대해 예상대로 작동함

이전에는 Ceph 파일 시스템(CephFS) 메타데이터 서버(MDS)가 CephFS 작업 중에 디렉터리 inode의 변경 특성 (change_attr)을 늘리지 않고 디렉터리 inode의 ctime 만 변경했습니다. 따라서 다음과 같이 가정할 때 NFS 커널 클라이언트가 readdir 캐시를 무효화하지 않습니다. CephFS에서 지원하는 NFS Ganesha 서버에서 디렉터리 inode의 잘못된 변경 속성 값을 보고하는 경우가 있기 때문입니다. 결과적으로 NFS 클라이언트는 CephFS에서 지원하는 NFS Ganesha 내보내기에 대한 오래된 디렉터리 콘텐츠를 나열했습니다.

이번 수정으로 CephFS MDS는 작업 중에 디렉터리 inode의 변경 속성을 증가시키고 NFS 클라이언트의 디렉터리 목록이 CephFS에서 지원하는 NFS Ganesha 서버 내보내기에 대해 예상대로 작동합니다.

(BZ#2135573)

CephFS가 올바른 디렉터리 액세스 권한을 갖습니다.

이전에는 잘못된 Discretionary Access Control(DAC) 관리로 인해 UID가 0 인 경우에도 디렉터리 액세스가 거부되었습니다.

이번 수정을 통해 디렉터리 사용자, 그룹 및 기타에 대한 실제 권한이 UID 0 에 대해 허용되지 않는 경우에도 디렉터리 액세스가 UID 0 에 허용됩니다. 그러면 수퍼유저 권한을 효과적으로 부여하여 UID 0에 대한 디렉터리 액세스에 대한 올바른 Ceph 파일 시스템(CephFS) 동작이 생성됩니다.

(BZ#2147460)

4.4. Ceph Volume 유틸리티

ceph-volume inventory 명령이 더 이상 실패하지 않음

이전 버전에서는 물리 볼륨이 볼륨 그룹의 멤버가 아닌 경우 ceph-volume 에서 볼륨을 무시하지 않고 대신 처리하려고 시도하여 ceph-volume inventory 명령이 실패했습니다.

이번 수정으로 볼륨 그룹의 멤버가 아닌 물리 볼륨이 필터링되고 ceph-volume inventory 명령이 더 이상 실패하지 않습니다.

(BZ#2140000)

4.5. Ceph Object Gateway

사용자는 이제 FIPS 환경에서 암호화가 아닌 목적으로 MD5를 사용할 수 있습니다.

이전 버전에서는 FIPS가 활성화된 환경에서 암호화 이외의 용도로 명시적으로 제외하지 않는 한 MD5 다이제스트를 기본적으로 사용할 수 없었습니다. 이로 인해 S3 전체 다중 파트 업로드 작업 중에 segfault가 발생했습니다.

이번 수정을 통해 S3 전체 다중 파트 PUT 작업을 위해 FIPS 환경에서 암호화가 아닌 목적으로 MD5를 사용하는 것이 명시적으로 허용되고 S3 다중 파트 작업을 완료할 수 있습니다.

(BZ#2088571)

액세스 시 Ceph Object Gateway가 더 이상 충돌하지 않음

이전 버전에서는 잘못된 형식의 버킷 URL로 인플레이스에서 할당된 버킷으로 변경되어 Ceph Object Gateway가 일부 액세스 시 충돌하여 항상 초기화되지 않은 버킷 값에 대한 void 포인터 역참조가 발생했습니다.

이번 수정으로 Ceph Object Gateway는 권한을 확인하기 전에 포인터가 null이 아닌지를 올바르게 확인하고 초기화되지 않은 경우 오류가 발생합니다.

(BZ#2118423)

날짜를 구문 분석하는 코드가 z-amz-date 형식으로 변경되었습니다.

이전 버전에서는 x-amz-date 표준 형식이 변경되어 새 소프트웨어가 새 날짜 형식을 사용하므로 문제가 발생했습니다. 최신 go 라이브러리로 빌드된 새 소프트웨어는 Ceph Object Gateway와 통신하지 않습니다.

이번 수정으로 x-amz-date 형식의 날짜를 구문 분석하는 Ceph Object Gateway 코드가 변경되어 새 날짜 형식도 허용됩니다.

(BZ#2121564)

Ceph Object Gateway의 Swift 암시적 테넌트 동작이 복원됨

이전에는 Swift 테넌트 구문 분석을 변경하면 Ceph Object Gateway의 Swift 암시적 테넌트 처리가 실패했습니다.

이번 수정으로 Swift 테넌트 구문 분석 논리가 수정되고 Swift 암시적 테넌트 동작이 복원됩니다.

(BZ#2123177)

연장된 기간 동안 지속적으로 실행된 후 Ceph Object Gateway가 더 이상 충돌하지 않음

이전에는 장기간 동안 지속적으로 실행된 후 테이블에 대한 인덱스가 음수가 되어 Ceph Object Gateway가 충돌했습니다.

이번 수정을 통해 인덱스가 음수가 되지 않고 Ceph Object Gateway가 더 이상 충돌하지 않습니다.

(BZ#2155894)

변수 액세스로 인해 더 이상 정의되지 않은 프로그램 동작이 발생하지 않음

이전에는 커버리티 검사에서 이동 후 변수를 사용할 수 있는 두 가지 경우를 식별하여 정의되지 않은 프로그램 동작이 발생할 수 있었습니다.

이번 수정을 통해 변수 액세스가 수정되어 잠재적인 오류가 더 이상 발생하지 않습니다.

(BZ#2155916)

4.6. 다중 사이트 Ceph Object Gateway

다중 사이트를 구성할 때 역할 및 역할 정책 투명하게 복제

이전에는 S3 역할 및 역할 정책을 복제하는 논리가 Ceph Object Gateway에서 구현되지 않아 다중 사이트 복제 설정의 모든 영역에서 생성된 역할 및 역할 정책이 다른 영역에 투명하게 복제되지 않았습니다.

이번 수정으로 역할 및 역할 정책 복제가 구현되고 다중 사이트를 구성할 때 투명하게 복제됩니다.

(BZ#2136771)

4.7. RADOS

진행 속도 저하 및 백필 중 높은 CPU 사용률이 확인됨

이전에는 OSD shard에서 가장 작은 인덱스가 있는 작업자 스레드가 mClock 대기열에서 또는 알림까지 항목을 예약할 때까지 기다리지 않고 기본 작업자 루프로 반환되었습니다. 이로 인해 사용량이 많은 루프와 CPU 사용률이 증가했습니다.

이번 수정을 통해 가장 작은 스레드 인덱스가 있는 작업자 스레드는 적절한 잠금을 다시 작성하고 알림까지 대기하거나 mClock 스케줄러에서 나타내는 대로 시간이 경과할 때까지 기다립니다. 작업자 스레드는 이제 mClock 대기열에서 항목을 예약할 수 있을 때까지 기다립니다. 또는 알림이 표시될 때까지 기다린 다음 기본 작업자 루프로 반환하여 사용량이 많은 루프를 제거하고 높은 CPU 사용률 문제를 해결합니다.

(BZ#2114612)

STS에서 반환된 임시 인증 정보를 사용하는 경우 대용량 오브젝트의 이름 변경이 더 이상 실패하지 않음

이전 버전에서는 대규모 오브젝트의 이름을 변경하는 동안 iam 정책에 대한 잘못된 권한 평가로 인해 STS에서 반환된 임시 인증 정보를 사용할 때 대용량 오브젝트의 이름을 변경할 수 없었습니다.

이번 수정을 통해 STS에서 반환된 임시 인증 정보를 사용하여 큰 오브젝트의 이름을 바꾸는 경우 iam 정책이 올바르게 평가됩니다.

(BZ#2166572)

작은 쓰기가 지연됩니다.

이전에는 장치를 할당하는 동안 Ceph에서 쓰기를 지연했습니다. 할당 단위가 64K와 같이 큰 경우 작은 쓰기가 지연되지 않았습니다.

이번 업데이트를 통해 대규모 할당 단위가 지연되는 경우에도 디스크 블록에서 작동하도록 작은 쓰기가 지연됩니다.

(BZ#2107406)

모니터 수를 줄이면 Ceph Monitor가 더 이상 충돌하지 않음

이전 버전에서는 사용자가 ceph orch apply mon NUMBER 명령을 사용하여 쿼럼의 모니터 수를 줄이면 cephadm 에서 모니터를 종료하기 전에 모니터를 제거했습니다. Ceph는 모니터를 제거하기 전에 모니터가 종료되었다고 가정하기 때문에 어설션이 트리거됩니다.

이번 수정을 통해 모니터의 현재 순위가 쿼럼 순위보다 크거나 같은 경우 케이스를 처리하기 위해 sanity 검사가 추가됩니다. 모니터 맵에 모니터가 더 이상 존재하지 않으므로 해당 피어는 주소가 더 이상 존재하지 않기 때문에 이 모니터를 ping하지 않습니다. 결과적으로 모니터가 종료되기 전에 제거되면 어설션이 트리거되지 않습니다.

(BZ#1945266)

Ceph Manager에서 초기 서비스 맵을 처리하는 작업이 완화되었는지 확인합니다.

이전 버전에서는 클러스터를 업그레이드할 때 Ceph Manager에서 이전에 활성 Ceph 관리자에서 여러 service_map 버전을 수신했습니다. 이로 인해 새로 활성화된 관리자가 이전에 활성 관리자가 보낸 더 높은 버전의 맵을 수신했을 때 코드의 잘못된 검사로 인해 manager 데몬이 충돌했습니다.

이번 수정을 통해 초기 서비스 맵을 처리하는 Ceph Manager의 검사가 완화되어 서비스 맵을 올바르게 확인하고 Ceph Manager 장애 조치 중에 어설션이 발생하지 않습니다.

(BZ#1984881)

이제 ceph --help 명령에 yaml 형식도 ceph orch 명령에만 유효한 것으로 표시됩니다.

이전에는 ceph --help 명령의 사양 부족으로 인해 yaml formatter 옵션이 ceph config dump 명령을 포함하여 모든 ceph 명령에 유효했습니다.

이번 수정을 통해 ceph --help 명령의 출력은 yaml 형식도 ceph orch 명령에만 유효함을 보여줍니다.

(BZ#2040709)

PG 로그의 손상된 dups 항목은 오프라인 및 온라인 트리밍으로 제거할 수 있습니다.

이전 버전에서는 PG 로그 dups 항목의 트리밍을 방지할 수 있었습니다. 낮은 수준의 PG 분할 작업에서는 작업자가 훨씬 더 높은 빈도를 가진 PG 자동 스케일러에 의해 사용됩니다. 트리밍을 중단하면 PG 로그 메모리가 크게 증가하여 메모리가 부족할 때 OSD 충돌이 발생했습니다. OSD를 다시 시작하면 PG 로그가 디스크에 저장되고 시작 시 RAM에 다시 로드되므로 문제가 해결되지 않습니다.

이번 수정을 통해 ceph-objectstore-tool 명령 및 OSD 내에서 온라인을 사용하여 오프라인에서 모두 트리밍 작업을 중단하고 메모리 증가를 담당하는 PG 로그의 손상된 dups 항목을 제거할 수 있습니다. 향후 조사를 돕기 위해 OSD 로그에 dups 항목 수를 출력하는 디버그 개선이 구현됩니다.

(BZ#2093106)

시작 메시지는 scrub 또는 deep-scrub 프로세스가 시작되었음을 알리기 위해 추가됩니다.

이전에는 클러스터 로그에서 starts 메시지가 누락되었기 때문에 배치 그룹(PG)에 대한 스크럽 프로세스가 시작된 시기를 확인할 수 없었습니다. 이로 인해 PG 스크러브 또는 딥 스크럽에 걸리는 시간을 계산하기 어려웠습니다.

이번 수정으로 scrub가 시작 되거나 deep-scrub 시작 메시지가 사용자에게 scrub 또는 deep-scrub 프로세스가 PG에 대해 시작되었음을 알리는 것으로 나타납니다.

(BZ#2094955)

PG-autoscaling이 비활성화된 경우 autoscale-status 명령이 더 이상 NEW PG_NUM 값을 표시하지 않음

이전에는 PG-autoscaling이 활성화되지 않은 경우에도 autoscale-status 명령에 NEW PG_NUM 값이 표시되었습니다. 이는 PG 자동 스케일러가 NEW PG_NUM 값을 풀에 적용하는 것을 제안하여 최종 사용자를 위태롭게 합니다.

이번 수정을 통해 noautoscale 플래그가 설정된 경우 autoscale-status 명령 출력에 NEW PG_NUM 값이 표시되지 않습니다.

(BZ#2099193)

사용자가 클러스터를 업그레이드한 후 복제된 오브젝트를 제거할 수 있습니다.

이전 버전에서는 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 클러스터를 업그레이드한 후 이전 버전에서 생성된 오브젝트의 스냅샷을 제거하면 복제본이 제거되지 않았습니다. 이는 SnapMapper 키가 잘못 변환되었기 때문입니다.

이번 수정을 통해 이전 버전의 Ceph에서 새 키 형식과 복제된 개체와 일치하도록 SnapMapper의 레거시 대화가 업데이트되어 업그레이드 후 쉽게 제거할 수 있습니다.

(BZ#2107404)

ceph daemon heap stats 명령에서 데몬에 필요한 사용 세부 정보를 반환합니다.

이전에는 ceph 데몬 osd.x heap stats 명령에서 Ceph 데몬의 현재 힙 사용량 대신 빈 출력을 반환했습니다. 그 결과 사용자가 ceph tell heap stats 명령을 사용하여 원하는 힙 사용량을 가져오도록 유도되었습니다.

이번 수정으로 ceph daemon heap stats 명령은 ceph tell 명령을 사용하여 얻은 것과 유사한 Ceph 데몬의 힙 사용 정보를 반환합니다.

(BZ#2119101)

이제 요청할 때마다 Prometheus 지표가 모든 Ceph 모니터에 대한 올바른 Ceph 버전을 반영합니다.

이전에는 모니터가 업그레이드될 때 Prometheus 지표에서 Ceph Monitor의 Ceph 버전이 일치하지 않는 것으로 보고되었습니다. 결과적으로 이 불일치를 해결하려면 활성 Ceph Manager 데몬을 다시 시작해야 했습니다. 또한 handle_mon_map 매개변수를 통해 모니터 메타데이터를 업데이트하는 데 사용되는 Ceph 관리자는 모니터가 제거되거나 클러스터에서 추가되거나 활성 mgr 이 다시 시작되거나 mgr 실패하는 경우 트리거됩니다.

이번 수정을 통해 ceph mon metadata 명령을 사용하여 mon 메타데이터를 가져오는 대신 MON은 이제 mon 메타데이터를 mgr 로 명시적으로 전송합니다.

(BZ#2121265)

올바른 복제본 세트가 재맵된 배치 그룹에 사용됩니다.

이전 버전에서는 재맵된 배치 그룹의 경우 존재하지 않는 불일치를 식별한 후 scrub 정보에 대해 잘못된 복제본 세트를 쿼리했습니다.

이번 수정으로 올바른 복제본 세트를 쿼리합니다.

(BZ#2130666)

대상 rank_removed 가 더 이상 live_pingingdead_ping 상태로 유지되지 않음

이전 버전에서는 모니터 크기가 변경되기 전에 모니터 맵의 paxos_size 가 업데이트되었습니다. 예를 들어 paxos_size 는 5에서 4로 줄어들지만 모니터의 가장 높은 순위는 여전히 4이므로 이전 코드는 dead_pinging 상태에서 순위 삭제를 건너뜁니다. 이로 인해 대상 순위가 dead_pinging 에 영구적으로 유지되므로 선택 전략에서 비정상적인 peer_tracker 점수가 발생합니다. 3.

이번 수정으로 rank_removed == paxos_size()live_pingingdead_ping 상태 모두에서 대상 rank_ removed 를 지우고 순위는 이러한 세트 중 하나에 영구적으로 고정되지 않습니다.

(BZ#2142143)

사이트의 장애 조치 중에 Ceph Monitor가 고정되지 않음

이전에는 removed_ranks 변수가 Monitor 맵의 모든 업데이트에 대한 콘텐츠를 삭제하지 않았습니다. 따라서 2 사이트 스트레치 클러스터의 모니터를 교체하고 사이트 중 하나에 장애로 인해 점수와 관련된 순위를 포함한 연결 점수가 일관되지 않게 됩니다.

모니터 선택 기간 동안 일관되지 않은 연결 점수가 발생하여 Ceph가 응답하지 않습니다. 이 경우 자체적으로 수정하기 위해 연결 점수와 연결된 모니터 순위를 지정할 방법이 없었습니다.

이번 수정으로 removed_ranks 변수가 모니터 맵의 모든 업데이트로 지워집니다. 모니터는 더 이상 선택 기간에 중단되지 않으며 모니터를 교체하고 사이트를 통해 실패할 때 Ceph가 더 이상 응답하지 않습니다. 또한 ceph 데몬 mon을 사용하여 연결 점수를 수동으로 강제로 수정할 수 있습니다.NAME 연결 점수 reset 명령.

(BZ#2142983)

이제 사용자가 복제본 크기를 1로 설정할 수 있습니다.

이전에는 사용자가 풀 크기를 1 로 설정할 수 없었습니다. check_pg_num() 함수가 풀의 예상 배치 그룹 번호를 잘못 계산하여 underflow가 발생했습니다. 잘못된 결과 때문에 pg_num 이 최대 제한보다 큰 것으로 표시되었습니다.

이번 수정을 통해 최근 check_pg_num() 함수 편집이 복원되고 이제 축소가 발생하지 않고 계산이 제대로 작동하므로 사용자가 복제본 크기를 1 로 설정할 수 있습니다.

(BZ#2153654)

클러스터 업그레이드 후 require-osd-release 플래그가 적절한 릴리스로 설정되지 않은 경우 Ceph 클러스터에서 상태 경고를 발행합니다.

이전에는 코드 리팩토링 작업 중에 업그레이드가 의도치 않게 제거된 후 require-osd-release 플래그를 감지하는 코드의 논리가 일치하지 않았습니다. 업그레이드 후 ceph -s 출력에서 경고가 발생하지 않았으므로 적절한 릴리스로 플래그를 설정하지 않고 클러스터의 변경으로 인해 특정 상태에 멈춘 배치 그룹(PG)과 같은 문제가 발생했습니다. 과도한 Ceph 프로세스 메모리 사용량, 느린 요청 등 문제가 발생했습니다.

이번 수정으로 클러스터 업그레이드 후 require-osd-release 플래그가 적절한 릴리스로 설정되지 않은 경우 Ceph 클러스터에서 상태 경고를 발행합니다.

(BZ#1988773)

4.8. NFS Ganesha

NFS-Ganesha 패키지는 4.0.8 버전을 기반으로 합니다.

이번 릴리스에서는 nfs-ganesha 패키지가 업스트림 버전 4.0.8을 기반으로 하며 이전 버전의 여러 버그 수정 및 개선 사항을 제공합니다.

(BZ#2121236)

5장. 기술 프리뷰

이 섹션에서는 이 Red Hat Ceph Storage 릴리스에서 도입되거나 업데이트된 기술 프리뷰 기능에 대한 개요를 제공합니다.

중요

기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 Red Hat은 해당 기능을 프로덕션용으로 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. 자세한 내용은 Red Hat 기술 프리뷰 기능에 대한 지원 범위를 참조하십시오.

Ceph OSD의 QoS는 mClock 알고리즘을 기반으로 합니다.

이전에는 스케줄러가 Weighted Priority Queue(WPQ)로 기본 설정되었습니다. mClock 알고리즘을 기반으로 하는 QoS(Quality of Service)는 실험 단계에 있었으며 아직 프로덕션에 권장되지 않았습니다.

이번 릴리스에서는 mClock 기반 작업 대기열을 통해 클라이언트 입력 및 출력(I/O) 및 복구 또는 백필과 같은 Ceph OSD 특정 작업에 QoS 컨트롤을 적용할 수 있으며 pg scrub,snap trim, pg 삭제 와 같은 기타 백그라운드 작업도 사용할 수 있습니다. 각 서비스에 대한 리소스 할당은 각 Ceph OSD의 IOPS(초당 입력 및 출력 작업) 용량을 기반으로 하며 기본 제공 mClock 프로필을 사용합니다.

또한 이 릴리스에는 다음과 같은 향상된 기능이 포함되어 있습니다.

OSD에 대한 핸드오프 자동 기준 성능 측정은 비현실적 측정이 감지될 때 기본 용량에 대한 보호 기능을 사용하여 Ceph OSD IOPS 용량을 결정합니다. 백그라운드 작업에 대한 절전 제한은 제거됩니다. override 플래그를 사용하여 재정의할 수 있는 기능과 함께 복구 및 최대 백필 옵션의 기본값이 높습니다. mClock 프로필을 사용하는 구성 세트는 mClock 및 Ceph 매개변수 튜닝의 복잡성을 숨깁니다.

자세한 내용은 Red Hat Ceph Storage 관리 가이드의 mClock OSD 스케줄러 를 참조하십시오.

사용자는 이전 데이터를 AWS 버킷에 저장할 수 있습니다.

이번 릴리스에서는 라이프사이클 구성의 일부로 AWS(Amazon Web Services)와 같은 원격 클라우드 서비스로 데이터 전환을 활성화할 수 있습니다. 자세한 내용은 Amazon S3 클라우드 서비스로 데이터 이전 을 참조하십시오.

S3 선택 애플리케이션을 Apache Parquet 형식으로 확장

이번 릴리스에서는 CSV 및 Parquet에 대해 하나씩 CSV 및 Parquet용으로 두 개의 S3 선택 워크플로우가 있으며, 이는 CSV 및 Parquet 오브젝트에 S3 선택 작업을 제공합니다. 자세한 내용은 Red Hat Ceph Storage 개발자 가이드에서 S3 선택 작업을 참조하십시오.

버킷 세분화된 다중 사이트 동기화 정책 지원

Red Hat은 버킷 세분화된 다중 사이트 동기화 정책을 지원합니다. 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드다중 사이트 동기화 정책 사용 섹션을 참조하십시오.

server-Side 암호화 지원

이번 릴리스에서는 Red Hat에서 Server-Side 암호화를 관리할 수 있는 지원을 제공합니다. 이를 통해 S3 사용자는 SSE-S3 관리형 암호화 키(SSE-S3)를 사용하여 Server-Side 암호화를 통해 고유한 키로 데이터를 보호할 수 있습니다.

사용자는 PutBucketEncryption S3 기능을 사용하여 오브젝트 암호화를 적용할 수 있습니다.

이전에는 데이터를 보호하기 위해 오브젝트 암호화를 적용하기 위해 사용자는 모든 경우에 불가능한 각 요청에 헤더를 추가해야 했습니다.

이번 릴리스에서는 PutBucketEncryption S3 작업을 지원하도록 Ceph Object Gateway가 업데이트되었습니다. 사용자는 각 요청에 헤더를 추가하지 않고 Ceph Object Gateway에서 PutBucketEncryption S3 기능을 사용할 수 있습니다. Ceph Object Gateway에서 처리합니다.

6장. 확인된 문제

이 섹션에서는 이 Red Hat Ceph Storage 릴리스에서 발견된 알려진 문제에 대해 설명합니다.

6.1. Cephadm 유틸리티

OS가 지원되지 않는 경우 Cephadm이 Red Hat Ceph Storage 버전의 업그레이드에 실패합니다.

현재 Cephadm은 호스트 운영 체제(OS)를 관리하지 않으므로 업그레이드 중에 사용자가 업그레이드 중인 Red Hat Ceph Storage 버전이 Ceph 클러스터 노드의 OS에서 지원되는지 확인하지 않습니다.

이 문제를 해결하려면 Red Hat Ceph Storage 버전이 지원되는 OS를 수동으로 확인하고 OS 및 Red Hat Ceph Storage 버전에 권장되는 업그레이드 경로를 따를 수 있습니다. 이렇게 하면 노드의 호스트 OS가 해당 Red Hat Ceph Storage 릴리스에 지원되지 않는 경우에도 Cephadm이 경고를 발생시키지 않고 클러스터를 업그레이드합니다.

(BZ#2161325)

6.2. Ceph Object Gateway

버킷을 다시 분할하면 버킷의 메타데이터가 제거됩니다.

버킷을 다시 분할하면 버킷이 0 으로 생성된 경우 버킷의 메타데이터가 제거됩니다. 버킷 인덱스를 복원하여 영향을 받는 버킷을 복구할 수 있습니다.

복구는 다음 두 가지 방법으로 수행할 수 있습니다.

  • radosgw-admin 오브젝트 reindex --bucket BUCKET_NAME --object OBJECT_NAME 명령을 실행합니다.
  • rgw-restore-bucket-index [--proceed] BUCKET_NAME [DATA_POOL_NAME] 스크립트를 실행하면 됩니다. 결과적으로 이 스크립트는 radosgw-admin 오브젝트 다시 인덱싱 …​ 을 호출합니다.

위의 단계를 수행한 후 버킷 통계의 버킷에서 radosgw-admin 버킷 목록 또는 radosgw-admin radoslist 명령을 수행하여 버킷의 오브젝트 수를 올바르게 반영해야 합니다.

참고

스크립트를 실행하기 전에 cephadm 쉘 내에서 microdnf install jq 를 수행합니다. 이 툴은 버전이 지정된 버킷에서는 작동하지 않습니다.

[root@argo031 ~]# time rgw-restore-bucket-index  --proceed serp-bu-ver-1 default.rgw.buckets.data

NOTICE: This tool is currently considered EXPERIMENTAL.
`marker` is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5.
`bucket_id` is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5.

Error: this bucket appears to be versioned, and this tool cannot work with versioned buckets.

이 도구의 범위는 다중 사이트뿐만 아니라 단일 사이트로 제한됩니다. site-1에서 rgw-restore-bucket-index 도구를 실행하면 site-2에서 오브젝트를 복구하지 않으며 그 반대의 경우도 마찬가지입니다. 다중 사이트에서는 버킷에 대해 두 사이트에서 복구 툴과 오브젝트 reindex 명령을 실행해야 합니다.

(BZ#2178991)

6.3. Ceph 대시보드

Red Hat Ceph StorageDashboard는 호스트 테이블의 일부 필드에서 NaN이 정의되지 않음을 보여줍니다.

현재 새 호스트가 추가되면 데몬, 장치 및 기타 통계를 로드하는 데 약간의 시간이 걸립니다. 이 시간이 지연되는 동안 호스트 테이블의 일부 필드에서 데이터를 사용할 수 없으므로 확장 중에 호스트는 해당 필드에 정의되지 않은 NAN 을 추가합니다.

호스트 테이블의 일부 필드에 데이터를 사용할 수 없는 경우 N/A가 표시됩니다. 현재 이 문제에 대한 해결방법은 없습니다.

(BZ#2046214)

SSD 및 NVMe 장치가 포함된 클러스터에는 "throughput-optimized" 옵션이 권장됩니다.

이전 버전에서는 클러스터에 SSD 장치 또는 SSD 및 NVMe 장치 둘 다일 때마다 "회선 최적화" 옵션이 권장되었으며 사용자 또는 클러스터에 영향을 미치지 않았습니다.

해결 방법으로 사용자는 원하는 사양에 따라 OSD를 배포하는 데 "고급" 모드를 사용할 수 있으며 "Simple" 모드의 모든 옵션은 이 UI 문제와 별도로 계속 사용할 수 있습니다.

(BZ#2101680)

6.4. 다중 사이트 Ceph Object Gateway

다중 사이트 복제가 업그레이드 중에 중지될 수 있습니다.

업그레이드 프로세스 중에 클러스터가 다른 버전에 있는 경우 다중 사이트 복제가 중지될 수 있습니다. 두 클러스터가 동일한 버전으로 업그레이드될 때까지 동기화를 일시 중단해야 합니다.

(BZ#2178909)

6.5. RADOS

mclock_scheduler 에는 HDD 장치에서 생성된 소규모 오브젝트 워크로드 및 OSD와 관련된 성능 문제가 있습니다.

mclock_scheduler 에는 작은 오브젝트 워크로드 및 HDD 장치에서 생성된 OSD와 관련된 성능 문제가 있습니다. 이로 인해 오브젝트 워크로드가 적기 때문에 지속적인 복구 작업으로 인해 클라이언트 처리량이 영향을 받습니다.

(BZ#2174467)

Ceph OSD 벤치마크 테스트는 생략할 수 있습니다.

현재는 osd_mclock_force_run_benchmark_on_init 매개변수가 true 로 설정된 경우에도 Ceph OSD 벤치마크 테스트 부팅이 실행되지 않을 수 있습니다. 결과적으로 osd_mclock_max_capacity_iops_[hdd,ssd] 매개변수 값이 기본값으로 재정의되지 않습니다.

이 문제를 해결하려면 다음 단계를 수행합니다.

  1. osd_mclock_force_run_benchmark_on_inittrue 로 설정합니다.

    예제

    [ceph: root@host01 /]# ceph config set osd osd_mclock_force_run_benchmark_on_init true

  2. 각 OSD에서 값을 제거합니다.

    구문

    ceph config rm OSD.OSD_ID osd_mclock_max_capacity_iops_[hdd,ssd]

    예제

    [ceph: root@host01 /]# ceph config rm osd.0 osd_mclock_max_capacity_iops_hdd

  3. OSD 재시작

그러면 osd_mclock_max_capacity_iops_[ssd,hdd] 매개변수가 기본값을 사용하여 설정하거나 새 값이 threshold 설정 내에 있는 경우 새 값으로 설정됩니다.

(BZ#2126559)

7장. 제거된 기능

이 섹션에서는 이 Red Hat Ceph Storage 릴리스에서 제거된 기능에 대한 개요를 제공합니다.

7.1. iSCSI

RBD iSCSI 게이트웨이 지원이 중단되었습니다.

이번 릴리스에서는 Red Hat Ceph Storage에 더 이상 iSCSI 게이트웨이 구성 요소가 제공되지 않습니다. 향후 RBD NVMEoF 게이트웨이에 우선하여 RBD iSCSI 게이트웨이가 삭제되었습니다.

(BZ#2089287)

8장. 소스

업데이트된 Red Hat Ceph Storage 소스 코드 패키지는 다음 위치에서 사용할 수 있습니다.

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.