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? 매개 변수 설정에 따라 결정됩니다.