3.4. 노드 추가 또는 제거 권장 사항
노드 장애로 인해 노드를 변경하기 전에 한 번에 하나의 OSD를 제거할 수 있습니다. Ceph OSD 노드를 추가하거나 제거할 때 부정적인 성능 영향을 줄일 수 있습니다. Red Hat은 노드 내에서 한 번에 하나의 OSD를 추가하거나 제거하고 다음 OSD로 진행하기 전에 클러스터를 복구할 것을 권장합니다. OSD 제거에 대한 자세한 내용은 다음을 참조하십시오.
Ceph 노드를 추가할 때 Red Hat은 한 번에 하나의 OSD를 추가하는 것이 좋습니다. OSD 추가에 대한 자세한 내용은 다음을 참조하십시오.
Ceph OSD 노드를 추가하거나 제거할 때 다른 프로세스도 성능에 미치는 영향을 고려해야 합니다. 클라이언트 I/O에 미치는 영향을 줄이기 위해 Red Hat은 다음을 권장합니다.
용량 계산:
Ceph OSD 노드를 제거하기 전에 스토리지 클러스터가 모든 OSD WITHOUT 의 내용을 전체 비율에
다시 채울 수 있는지 확인합니다. 전체 비율에 도달하면
클러스터에서 쓰기 작업을 거부합니다.
일시적으로 Scrubbing을 비활성화:
스크럽은 스토리지 클러스터 데이터의 내구성을 보장하는 데 필수적이지만 리소스 집약적입니다. Ceph OSD 노드를 추가하거나 제거하기 전에 스크럽 및 깊은 스크럽을 비활성화하고 다음을 진행하기 전에 현재 스크럽 작업을 완료하십시오.
ceph osd set noscrub ceph osd set nodeep-scrub
Ceph OSD 노드를 추가하거나 제거하고 스토리지 클러스터가 active+clean
상태로 반환되면 noscrub 및
설정을 설정 해제합니다.
nodeep-scrub
Backfill 및 복구 제한:
적절한 데이터 durability(예: osd pool default size = 3
및 osd pool default min size = 2
)가 있는 경우 성능이 저하된
상태에서 작동하는 데 아무런 문제가 없습니다. 최대한 빠른 복구 시간을 위해 스토리지 클러스터를 조정할 수 있지만 Ceph 클라이언트 I/O 성능에 큰 영향을 미칩니다. 가장 높은 Ceph 클라이언트 I/O 성능을 유지하려면 백필(backfill) 및 복구 작업을 제한하고 예를 들어 다음과 같이 더 오래 걸릴 수 있습니다.
osd_max_backfills = 1 osd_recovery_max_active = 1 osd_recovery_op_priority = 1
sleep 및 delay 매개변수(예: osd_recovery_sleep
)를 설정할 수도 있습니다.
마지막으로 스토리지 클러스터 크기를 확장하는 경우 배치 그룹의 수를 늘려야 할 수 있습니다. 배치 그룹 수를 확장해야 한다고 판단되면 Red Hat은 배치 그룹 수를 점진적으로 늘리는 것이 좋습니다. 배치 그룹의 수를 크게 늘리면 성능이 크게 저하됩니다.