4.8. RBD 미러링
이미지 승격 후 주의된 미러 스냅샷이 제거됨
이전 버전에서는 구현 결함으로 인해 보조 이미지 또는 기본 이미지에 관계없이 이미지의 승격 후 데모된 미러 스냅샷이 제거되지 않았습니다. 이로 인해 데모된 미러 스냅샷이 스토리지 공간을 비우고 소비합니다.
이번 수정을 통해 구현 결함이 수정되고 이미지 승격 후 적절한 강등 미러 스냅샷이 제거됩니다.
기본 이미지가 삭제될 때 기본 이미지가 아닌 이미지 삭제
이전에는 rbd-mirror 데몬 이미지 재생기의 경쟁 조건으로 기본이 아닌 이미지가 삭제될 때 삭제되지 않았습니다. 이로 인해 기본이 아닌 이미지는 삭제되지 않고 스토리지 공간이 사용되었습니다.
이번 수정으로 rbd-mirror 이미지 재생기가 변경되어 경쟁 조건을 제거합니다. 기본이 아닌 이미지는 이제 기본 이미지가 삭제될 때 삭제됩니다.
librbd
클라이언트는 block-listing 오류를 호출자에 올바르게 전파합니다.
이전 버전에서는 rbd_support
모듈의 RADOS 클라이언트가 block-listed인 경우 모듈의 mirror_snapshot_schedule
핸들러가 항상 올바르게 종료되지 않았습니다. 처리기의 librbd
클라이언트는 block-list 오류를 전파하지 않아 핸들러의 종료가 중단됩니다. 이로 인해 mirror_snapshot_schedule
핸들러와 rbd_support
모듈이 실패하고 반복된 클라이언트 블록 목록에서 자동으로 복구됩니다. rbd_support
모듈은 클라이언트가 반복적으로 차단 목록에 표시된 후 미러 스냅샷 예약을 중지했습니다.
이번 수정을 통해 전용 잠금 취득 및 블록 목록 처리 간의 librbd
클라이언트의 경합이 수정되었습니다. 이렇게 하면 librbd
클라이언트가 블록 목록 오류를 호출자(예: mirror_snapshot_schedule
처리기)에 올바르게 전파하는 동안 독점 잠금을 얻을 수 있습니다. mirror_snapshot_schedule
핸들러 및 rbd_support_module
은 반복된 클라이언트 블록 목록에서 자동으로 복구됩니다.