12.4. 노드 추가 또는 제거를 위한 권장 사항
Red Hat은 노드 내에서 한 번에 하나의 OSD를 추가하거나 제거하고 다음 OSD로 진행하기 전에 스토리지 클러스터를 복구할 것을 권장합니다. 이를 통해 스토리지 클러스터 성능에 미치는 영향을 최소화할 수 있습니다. 노드가 실패하면 한 번에 하나의 OSD가 아닌 한 번에 전체 노드를 변경해야 할 수 있습니다.
OSD를 제거하려면 다음을 수행합니다.
OSD를 추가하려면 다음을 수행합니다.
Ceph OSD 노드를 추가하거나 제거할 때 다른 진행 중인 프로세스가 스토리지 클러스터 성능에도 영향을 미치는지 고려하십시오. 클라이언트 I/O에 미치는 영향을 줄이기 위해 Red Hat은 다음을 권장합니다.
용량 계산
Ceph OSD 노드를 제거하기 전에 전체 비율에
도달하지 않고 스토리지 클러스터가 모든 OSD의 콘텐츠를 백필할 수 있는지 확인합니다. 전체 비율에 도달하면
스토리지 클러스터가 쓰기 작업을 거부합니다.
임시로 스크럽 비활성화
스크럽은 스토리지 클러스터 데이터의 지속성을 보장하는 데 중요하지만 리소스 집약적입니다. Ceph OSD 노드를 추가하거나 제거하기 전에 스크럽 및 딥스크럽을 비활성화하고 계속하기 전에 현재 스크럽 작업이 완료되도록 합니다.
ceph osd set noscrub ceph osd set nodeep-scrub
ceph osd set noscrub
ceph osd set nodeep-scrub
Ceph OSD 노드를 추가하거나 제거하고 스토리지 클러스터가 active+clean
상태로 반환되면 noscrub
및 nodeep-scrub
설정을 설정 해제합니다.
ceph osd unset noscrub ceph osd unset nodeep-scrub
ceph osd unset noscrub
ceph osd unset nodeep-scrub
백필 및 복구 제한
데이터 지속성이 합리적인 경우 성능이 저하된
상태에서 작동하는 데 문제가 없습니다. 예를 들어 osd_pool_default_size = 3
및 osd_pool_default_min_size = 2
로 스토리지 클러스터를 작동할 수 있습니다. 가능한 빨리 복구 시간을 위해 스토리지 클러스터를 조정할 수 있지만 이렇게 하면 Ceph 클라이언트 I/O 성능에 큰 영향을 미칩니다. 가장 높은 Ceph 클라이언트 I/O 성능을 유지하려면 백필 및 복구 작업을 제한하고 더 오래 걸릴 수 있습니다.
osd_max_backfills = 1 osd_recovery_max_active = 1 osd_recovery_op_priority = 1
osd_max_backfills = 1
osd_recovery_max_active = 1
osd_recovery_op_priority = 1
sleep 및 delay 매개변수(예: osd_recovery_sleep
)를 설정할 수도 있습니다.
배치 그룹 수 증가
마지막으로 스토리지 클러스터 크기를 확장하는 경우 배치 그룹 수를 늘려야 할 수 있습니다. 배치 그룹 수를 확장해야 하는 경우 배치 그룹 수를 늘리는 것이 좋습니다. 배치 그룹 수를 상당한 양만큼 늘리면 성능이 상당히 저하됩니다.