OS 이슈 : sbd watchdog type stonith 사용시 메모리 누수 발생 #RHEL8.10 #RHEL9.4
페이지 정보
작성자 OSworker 아이디로 검색 전체게시물 댓글 0건 조회 48회 좋아요 1회 작성일 25-03-29 13:58본문
안녕하세요 오늘은 고객사에서 발생한 Pacemaker 이슈기반으로 설명드리고자합니다.
많은 고객사에서 HA를 많이 사용하시는데, Red Hat에서는 Pacemaker라는 HA 솔루션이 있습니다.
이 Pacemaker 를 사용하시면서 발생한 이슈에 대해 오늘 그 문제점과 해결방안을 알려드리도록하겠습니다.
1. 문제점
- sbd watchdog 유형 펜싱을 사용하는 동안 sbd: watcher: Pacemaker 스레드는 시간이 지남에 따라 꾸준히 증가하며 클러스터가 중지되거나 시스템이 재부팅될 때까지 감소하지 않습니다.
Mon Jun 17 12:01:01 PM EEST 2024 VVV
USER PID PPID %CPU %MEM VSZ RSS TT STAT STARTED TIME WCHAN COMMAND
root 914 1 0.0 0.2 20808 20456 ? SL Jun 14 00:01:13 do_sigtimedwait sbd: inquisitor
root 915 914 0.2 5.5 450088 449472 ? SL Jun 14 00:07:50 do_poll.constprop.0 sbd: watcher: Pacemaker <<<===
root 916 914 0.0 0.5 43288 42884 ? SL Jun 14 00:00:50 do_poll.constprop.0 sbd: watcher: Cluster
Mon Jun 17 12:01:21 PM EEST 2024
USER PID PPID %CPU %MEM VSZ RSS TT STAT STARTED TIME WCHAN COMMAND
root 914 1 0.0 0.2 20808 20456 ? SL Jun 14 00:01:13 do_sigtimedwait sbd: inquisitor
root 915 914 0.2 5.5 450236 449728 ? SL Jun 14 00:07:50 do_poll.constprop.0 sbd: watcher: Pacemaker <<<===
root 916 914 0.0 0.5 43288 42884 ? SL Jun 14 00:00:50 do_poll.constprop.0 sbd: watcher: Cluster
성장 속도는 매우 느리며, 일반적으로 하루에 약 95초(또는 약 120Mb)마다 약 128kb로 관찰됩니다.
그러나 문제가 너무 오래 지속되면 메모리 부족 상태와 메모리 압력, 심지어 메모리 부족("OOM") 이벤트로 이어질 수 있습니다.
2. 원인 분석
1) 진단
- ps 명령의 출력은 sbd:watcher: Pacemaker 스레드에 대한 높은 메모리 사용량을 보여주며 이는 시간이 지남에 따라 계속 증가하나요?
$ ps -eLF | grep -i -e RSS -e sbd
UID PID PPID LWP C NLWP SZ RSS PSR STIME TTY TIME CMD
root 249208 1 249208 0 1 5202 20572 0 Oct28 ? 00:00:07 sbd: inquisitor
root 249209 249208 249209 0 1 39447 157432 1 Oct28 ? 00:00:31 sbd: watcher: Pacemaker <---- 여기서 보면 메모리 증가량이 보입니다.
root 249210 249208 249210 0 1 10822 42684 1 Oct28 ? 00:00:08 sbd: watcher: Cluster
root 289101 289072 289101 0 1 1602 2432 0 19:12 pts/1 00:00:00 grep --color=auto -i -e RSS -e sbd
- heap size 사용되는 메모리의 대부분을 차지합니다.
$ grep -A1 \[[a-z0-9]*\] /proc/$(pidof "sbd: watcher: Pacemaker")/smaps | grep -v "\-\-" | paste - - | column -t
563b5a781000-563b5a7c4000 rw-p 00000000 00:00 0 [heap] Size: 268 kB
563b5a7c4000-563b5a7c9000 rw-p 00000000 00:00 0 [heap] Size: 20 kB
563b5a7c9000-563b62b30000 rw-p 00000000 00:00 0 [heap] Size: 134556 kB <---- 여기서도 메모리가 많이 차지하는것을 볼수있습니다.
7ffd004a0000-7ffd004e5000 rw-p 00000000 00:00 0 [stack] Size: 276 kB
- 이 문제의 원인은 누수와 클러스터에 대한 cib_native_perform_op_delegate 객체를 회수하지 못한 것으로 확인되었습니다. 사용 가능한 패치는 이 문제를 피하고 이러한 객체를 정리합니다.
3. 방안
RHEL8.10을 사용하는 고객은 "pacemaker-2.1.7-5.1.el8_10"나 그 이상의 커널로 업데이트
RHEL9를 사용하시는 고객은 " pacemaker-2.1.7-5.2.el9_4" 나 그이상의 커널로 업데이트 하시면 됩니다.
- Bug Fix(es):
. Memory leak in pacemaker-attrd [rhel-9.4.z] (JIRA:RHEL-40118)
. crm_node mishandles node IDs [rhel-9.4.z] (JIRA:RHEL-49925)
혹, 추가적으로 궁금하신 사항이 있으시다면 댓글로 남겨주세요~
감사합니다.
참고링크 : https://access.redhat.com/solutions/7093535
댓글목록
등록된 댓글이 없습니다.