CMM(Cluster Membership Monitor)은 클러스터 구성원마다 하나씩 분산된 에이전트 세트입니다. 에이전트는 다음 작업을 수행하기 위해 클러스터 상호 연결을 통해 메시지를 교환합니다.
모든 노드(정족수)에 일관된 멤버쉽 화면 표시
멤버쉽이 변경될 경우에 등록된 콜백을 사용하여 동기화된 재구성 실행
클러스터 분할 처리(브레인 분할, 앰네시아)
모든 클러스터 구성원 사이를 완전하게 연결
이전의 Sun Cluster 소프트웨어 릴리스와 달리 CMM은 완전히 커널에서 실행됩니다.
CMM의 기본 기능은 언제든지 전체 클러스터에서 클러스터에 포함된 노드 세트를 동일하게 인식하도록 하는 것입니다. 이러한 제약 조건을 클러스터 멤버쉽이라고 합니다.
CMM은 클러스터 구성원을 인식하여 데이터 무결성을 구현하기 위해 다음과 같은 기능을 수행합니다.
클러스터에서 노드 결합이나 제거와 같은 클러스터 멤버쉽 변경을 보고합니다.
"잘못된" 노드를 클러스터에서 제거합니다.
"잘못된" 노드가 복구될 때까지 클러스터에 연결되지 않도록 합니다.
클러스터가 하위 노드 세트로 분할되지 않도록 합니다.
클러스터가 여러 개의 별도 클러스터로 분할되지 않도록 보호하는 방법은 "정족수 및 정족수 장치"를 참조하십시오.
데이터가 손상되지 않도록 안전하게 보존하려면 모든 노드에서 클러스터 멤버쉽을 동일하게 인식해야 합니다. 장애가 발생할 경우에 필요하면 CMM이 클러스터 서비스(응용프로그램)의 클러스터 재구성을 조정합니다.
CMM은 클러스터 전송 계층으로부터 다른 노드에 대한 연결 정보를 받습니다. 재구성할 때 CMM은 클러스터 상호 연결을 사용하여 상태 정보를 교환합니다.
클러스터 멤버쉽 변경이 발견되면 CMM이 동기화된 클러스터 구성을 수행합니다. 이러한 경우에 새로운 클러스터 멤버쉽에 따라 클러스터 자원이 다시 분산될 수 있습니다.
CMM이 노드에서 치명적인 문제를 확인하면 클러스터 프레임워크를 호출하여 강제로 해당 노드를 중지시키고 클러스터 멤버쉽에서 제거합니다. 이러한 작업을 수행하는 메커니즘을 페일패스트라고 합니다. 페일패스트 메커니즘은 다음 두 가지 방법으로 노드를 중지시킵니다.
노드가 클러스터에서 제거되어 노드 수가 부족한 상태로 새로운 클러스터를 시작하면 공유 디스크에 대한 액세스가 "금지"됩니다. 페일패스트 사용에 대한 자세한 내용은 "장애 방지"를 참조하십시오.
하나 이상의 클러스터 관련 데몬이 중단되면(clexecd, rpc.pmfd, rgmd 또는 rpc.ed) CMM에서 장애가 확인되어 노드가 종료됩니다.
panic[cpu0]/thread=40e60: Failfast: Aborting because "pmfd" died 35 seconds ago. 409b8 cl_runtime:__0FZsc_syslog_msg_log_no_argsPviTCPCcTB+48 (70f900, 30, 70df54, 407acc, 0) %l0-7: 1006c80 000000a 000000a 10093bc 406d3c80 7110340 0000000 4001 fbf0 |
노드가 종료된 후에 다시 부트되어 클러스터에 다시 연결될 수도 있고 OpenBoot PROM (OBP) 프롬프트 상태로 있을 수도 있습니다. 취하는 조치는 OBP의 auto-boot? 매개 변수 설정에 따라 결정됩니다.