6장. 버그 수정
이 섹션에서는 Red Hat Ceph Storage 릴리스에서 수정된 중요한 사용자 영향을 미치는 버그에 대해 설명합니다. 또한 섹션에는 이전 버전에서 발견된 수정된 알려진 문제에 대한 설명이 포함되어 있습니다.
6.1. Cephadm 유틸리티
max
로 설정된 컨테이너 프로세스 수 제한
이전에는 컨테이너의 프로세스 번호 제한 2048으로 인해 새 프로세스가 제한을 초과하여 분기되지 않았습니다.
이번 릴리스에서는 프로세스 번호 제한이 max
로 설정되어 대상당 필요에 따라 luns를 생성할 수 있습니다. 그러나 이 수는 여전히 서버 리소스에 의해 제한됩니다.
배치에서 OSD를 생성할 때 사용할 수 없는 장치가 더 이상 전달되지 않음
이전에는 GPT 헤더가 있는 장치가 사용할 수 없음으로 표시되지 않았습니다. cephadm 은 GPT 헤더가 있는 장치에서 OSD를 생성할 수 없기 때문에 배치 OSD 생성이 실패하는 배치에서 다른 유효한 장치와 함께 해당 장치에 OSD를 생성하려고 했습니다. OSD는 생성되지 않습니다.
이번 수정을 통해 OSD를 배치로 생성할 때 사용할 수 없는 장치가 더 이상 전달되지 않으며 GPT 헤더가 있는 장치가 더 이상 유효한 장치에서 OSD 생성을 차단하지 않습니다.
지원되지 않는 형식으로 --format
인수를 제공하는 사용자는 역추적을 수신했습니다.
이전에는 오케스트레이터에서 지원되지 않는 --format
인수를 수신할 때마다 예외가 발생하여 지원되지 않는 형식의 --format
을 통과한 사용자가 역추적을 수신했습니다.
이번 수정을 통해 지원되지 않는 형식이 올바르게 처리되고 지원되지 않는 형식을 제공하는 사용자는 형식이 지원되지 않음을 설명하는 메시지를 가져옵니다.
이제 종속성 오류 없이 ceph-common
패키지를 설치할 수 있습니다.
이전에는 Red Hat Ceph Storage 4를 Red Hat Ceph Storage 5로 업그레이드한 후 몇 가지 패키지로 인해 종속성 오류가 발생했습니다.
이번 수정을 통해 Red Hat Ceph Storage 4 패키지가 제거되고 이제 오류 없이 플레이북 실행 전 실행 중에 ceph-common
패키지를 설치할 수 있습니다.
tcmu-runner
데몬은 더 이상 stray 데몬으로 보고되지 않습니다.
이전에는 tcmu-runner
데몬이 iSCSI의 일부로 간주되었기 때문에 cephadm
에서 적극적으로 추적하지 않았습니다. 이로 인해 cephadm
이 추적되지 않았기 때문에 tcmu-runner
데몬이 stray 데몬으로 보고되었습니다.
이번 수정을 통해 tcmu-runner
데몬이 알려진 iSCSI 데몬과 일치하면 stray 데몬으로 표시되지 않습니다.
사용자는 명시적 IP 없이 활성 관리자로 호스트를 다시 추가할 수 있습니다.
이전에는 cephadm
이 컨테이너 내에서 현재 호스트의 IP 주소를 확인하려고 할 때마다 루프백 주소로 확인할 가능성이 있었습니다. 사용자가 활성 Ceph Manager를 사용하여 호스트를 다시 추가하려는 경우 명시적 IP가 필요하며, 사용자가 이를 제공하지 않은 경우 오류 메시지가 표시됩니다.
현재 수정으로 cephadm
은 명시적으로 제공되지 않고 이름 확인에서 루프백 주소를 반환하는 경우 호스트를 다시 추가할 때 이전 IP를 재사용합니다. 이제 명시적 IP 없이 활성 관리자로 호스트를 다시 추가할 수 있습니다.
cephadm
은 에서 구성을 유추한 데몬의 fsid
가 예상 fsid
와 일치하는지 확인합니다.
이전에는 cephadm
에서 예상 fsid
와 일치하는 구성이 유추된 데몬의 fsid
가 있는지 확인하지 않았습니다. 이로 인해 사용자에게 예상되는 fsid
가 아닌 /var/lib/ceph/FSID/DAEMON_NAME
디렉터리가 있는 경우 해당 데몬 디렉터리의 구성이 계속 유추됩니다.
이번 수정을 통해 fsid
가 예상되는 것과 일치하는지 확인하기 위해 검사가 수행되며 사용자는 더 이상 "모드 또는 장치 프로브에 실패" 오류가 발생하지 않습니다.
cephadm
은 다른 이름으로 클라이언트 키 링 복사 지원
이전에는 클라이언트 인증 ceph.keyring
을 복사할 때 cephadm
가 대상에 파일 이름을 적용했습니다.
현재 수정으로 cephadm
은 다른 이름으로 클라이언트 인증 키 복사를 지원하므로 복사 시 자동 이름 변경 문제가 발생하지 않습니다.
사용자는 -c ceph.conf
옵션을 사용하여 여러 공용 네트워크를 사용하여 클러스터를 부트스트랩할 수 있습니다.
이전에는 -c ceph.conf
옵션의 일부로 제공된 경우 cephadm
이 부트스트랩 중에 여러 공용 네트워크를 구문 분석하지 않았습니다. 이로 인해 여러 공용 네트워크가 있는 클러스터를 부팅할 수 없었습니다.
현재 수정 사항을 통해 제공된 ceph.conf
파일에서 공용 네트워크
필드가 올바르게 구문 분석되고 이제 public_network mon config
필드를 채우는 데 사용할 수 있으므로 사용자가 -c ceph.conf
옵션을 사용하여 여러 공용 네트워크를 제공하는 클러스터를 부트스트랩할 수 있습니다.
숫자 서비스 ID로 MDS 서비스를 설정하면 사용자에게 경고 오류가 발생합니다.
이전에는 숫자 서비스 ID로 MDS 서비스를 설정하면 MDS 데몬이 충돌했습니다.
이번 수정을 통해 숫자 서비스 ID로 MDS 서비스를 생성하려고 하면 즉시 경고하고 사용자에게 숫자 서비스 ID를 사용하지 않도록 경고하는 오류가 발생합니다.
ceph orch redeploy mgr
명령은 활성 Manager 데몬을 마지막으로 재배포합니다.
이전 버전에서는 ceph orch redeploy mgr
명령으로 Ceph Manager 데몬이 예약된 재배포 작업을 지우지 않고 Ceph Manager 데몬이 지속적으로 재배포되어 Ceph Manager 데몬이 무한하게 해제되었습니다.
이번 릴리스에서는 활성 관리자 데몬이 항상 마지막으로 재배포되도록 재배포 순서가 조정되었으며 ceph orch 명령을 ceph orch redeploys mgr
명령은 이제 각 Ceph Manager만 다시 배포합니다.
사용자 정의 이름이 있는 클러스터 채택이 지원됨
이전에는 cephadm
이 unit.run
파일에서 사용자 정의 클러스터를 전파하지 않아 사용자 정의 이름이 있는 Ceph 클러스터에서 Ceph OSD 컨테이너를 채택하지 못했습니다.
이번 릴리스에서는 cephadm
은 LVM 메타데이터를 변경하고 기본 클러스터 이름 "Ceph"를 적용하여 사용자 지정 클러스터 이름이 있는 클러스터를 예상대로 채택합니다.
cephadm
no longer adds docker.io
to the image name provided for the ceph orch upgrade start
command
이전에는 cephadm
가 정규화되지 않은 레지스트리의 이미지에 docker.io
를 추가했기 때문에 이 이미지를 가져오지 못하기 때문에 로컬 레지스트리와 같은 정규화되지 않은 레지스트리에서 이미지를 전달할 수 없었습니다.
Red Hat Ceph Storage 5.2부터는 이름이 ceph/ceph:v17
과 같은 업스트림 ceph 이미지와 일치하지 않는 한 docker.io
는 더 이상 이미지 이름에 추가되지 않습니다. ceph orch upgrade
명령을 실행하면 사용자가 로컬 레지스트리에서 이미지를 전달할 수 있으며 Cephadm
은 해당 이미지로 업그레이드할 수 있습니다.
이는 5.2부터의 업그레이드에만 적용됩니다. 5.1에서 5.2로 업그레이드하는 것은 이 문제의 영향을 받지 않습니다.
cephadm이
더 이상 기존 데몬의 구성 파일을 유추하지 않음
이전 버전에서는 /var/lib/ceph/{mond|mgr}
디렉터리의 존재 여부에 따라 Cephadm
에서 기존 데몬의 구성 파일을 유추했습니다. 이로 인해 디스크 새로 고침과 같은 특정 작업이 이러한 디렉터리가 존재하는 노드에서 실패했습니다. Cephadm
은 존재하지 않는 구성 파일을 유추하려고 할 때 오류가 발생했습니다.
현재 수정판에서는 Cephadm
이 더 이상 기존 데몬의 구성 파일을 유추하지 않습니다. 대신 유추하기 전에 기존 구성 파일을 확인합니다. 기존 데몬
디렉터리가 있으므로 cephadm 은 호스트에서 데몬 또는 장치를 새로 고칠 때 더 이상 문제가 발생하지 않습니다.
.rgw.root
풀은 더 이상 자동으로 생성되지 않음
이전 버전에서는 다중 사이트의 Ceph Object Gateway에 대한 추가 검사가 존재하여 사용자가 삭제한 경우에도 .rgw.root
풀이 자동으로 생성되었습니다.
Red Hat Ceph Storage 5.2부터 다중 사이트 검사가 제거되고 사용자가 생성할 수 있는 관련 작업을 수행하지 않는 한 .rgw.root
풀이 자동으로 생성되지 않습니다.
cephadm
의 배치 사양에 더 이상 지정되지 않은 호스트에서 Ceph Manager 데몬이 제거됨
이전에는 관리자 서비스 사양에 지정된 배치와 더 이상 일치하지 않는 경우에도 현재 활성 관리자 데몬이 cephadm
에서 제거되지 않았습니다. 사용자가 현재 활성 관리자가었던 호스트를 제외하도록 서비스 사양을 변경할 때마다 장애 조치(failover)가 발생할 때까지 추가 관리자가 됩니다.
이번 수정을 통해 대기가 사용 가능하고 활성 관리자가 서비스 사양과 더 이상 일치하지 않는 호스트에 있는 경우 cephadm
이 관리자를 통해 실패합니다. 관리자가 활성 상태인 경우에도 cephadm
의 배치 사양에 더 이상 지정되지 않은 호스트에서 Ceph Manager 데몬이 제거됩니다.
잘못된 형식의 URL로 인한 404 오류로 인해 로그에서 역추적이 발생했습니다.
이전에는 cephadm
가 prometheus 수신자의 URL을 잘못 구성하여 잘못된 URL에 액세스하려고 할 때 발생하는 404 오류로 인해 로그에 역추적이 출력되었습니다.
이번 수정을 통해 URL 형식이 수정되었으며 404 오류가 발생하지 않습니다. 역추적은 더 이상 기록되지 않습니다.
cephadm
no longer remove osd_memory_target
config settings at host level
이전 버전에서는 osd_memory_target_autotune
이 전역적으로 꺼져 있는 경우 cephadm
에서 사용자가 호스트 수준에서 osd_memory_target
에 설정한 값을 제거했습니다. 또한 CRUSH 맵에서 짧은 이름을 사용하지만 FQDN이 있는 호스트의 경우 cephadm
은 FQDN을 사용하여 config 옵션을 계속 설정했습니다. 이로 인해 호스트 수준에서 osd_memory_target
을 수동으로 설정할 수 없고 osd_memory_target
자동 튜닝이 FQDN 호스트에서 작동하지 않습니다.
이번 수정을 통해 osd_memory_target
_ autotune이
구성 설정이 false
로 설정된 경우 호스트 수준에서 osd_memory_targetcephadm
에서 제거되지 않습니다. 또한 호스트 수준 osd_memory_target
을 설정할 때 항상 호스트의 짧은 이름을 사용합니다. 호스트 수준 osd_memory_target_autotune
이 false
로 설정된 경우 사용자는 osd_memory_target
을 수동으로 설정하고 cephadm
에서 옵션을 제거하지 않도록 할 수 있습니다. 또한 자동 튜닝은 이제 FQDN 이름을 사용하여 cephadm
에 추가된 호스트에서 작동해야 합니다.
cephadm 은
FQDN을 사용하여 alertmanager Webhook URL을 빌드합니다.
이전에는 Cephadm
에서 호스트에 저장된 IP 주소를 기반으로 alertmanager 웹 후크 URL을 선택했습니다. 이로 인해 이러한 Webhook URL이 특정 배포에서 작동하지 않기 때문에 문제가 발생했습니다.
이번 수정으로 Cephadm
은 FQDN을 사용하여 alertmanager 웹 후크 URL을 빌드하여 이전에 손상된 일부 배포 상황에서 Webhook URL이 작동하도록 합니다.