EPEL6 - heartbeat error

본 문서는 EPEL의 heartbeat 3.0.4-2 설치 및 사용 시 발생하는 오류에 대해서 설명하고 있습니다.

환경 및 증상

  • 운영체제 : RHEL 6.4 이하
  • EPEL 패키지

    • heartbeat-3.0.4-2.el6.[i386/x86_64].rpm
    • heartbeat-libs-3.0.4-2.el6.[i386/x86_64].rpm
  • 증상

    • heartbeat 설치 후 실행 할 때 아래와 같은 오류 메시지 발생

      Jun 16 14:03:16 server1 heartbeat: [720]: ERROR: glib: ucast: error setting option SO_REUSEPORT(w): Protocol not available
      Jun 16 14:03:16 server1 heartbeat: [720]: ERROR: make_io_childpair: cannot open ucast eth0
      Jun 16 14:03:17 server1 heartbeat: [726]: CRIT: Emergency Shutdown: Master Control process died.
      Jun 16 14:03:17 server1 heartbeat: [726]: CRIT: Killing pid 720 with SIGTERM
      Jun 16 14:03:17 server1 heartbeat: [726]: CRIT: Emergency Shutdown(MCP dead): Killing ourselves.
      

원인 및 해결방법

duplicate ucast 패치와 관련이 있지만 실질적인 원인은 EPEL 저장소의 패키징 관리 방침과 관련이 있다. EPEL의 경우 별도의 RHEL/CentOS 업데이트 릴리즈 별로 관리되고 있지 않으며 최신 버전에 맞추어져 패키징이 되어있기 때문에 최신 릴리즈 버전 (20140616 기준 6.5)을 사용하지 않을 경우에는 EPEL 패키지와 맞지 않을 수 있다.

EPEL에서 제공하는 heartbeat-3.0.4-2 패키지를 사용하기 위해서는 RHEL/CentOS 6.5 패키지의 커널인 2.6.32-431.el6 커널로 업그레이드를 해주어야만 정상적으로 사용이 가능하다. 사실 별도의 소스를 가져다 빌드하는 방법도 있지만 cluster-glue 및 의존성 라이브러리 맞추는 작업이 더 복잡하기 때문에 별다른 이슈가 없는 한 커널 업데이트 방법을 권장한다.

  • 요약
    • EPEL 6에서 제공하는 heartbeat-3.0.4-2는 커널 2.6.32-431을 기준으로 패키징 되어있다
    • 커널 버전을 2.6.32-431 이상으로 업데이트 한다
  • 해결방법

    • REHEL/CentOS 6.5 저장소가 yum에 설정되어있다고 가정하고 아래 명령을 통해서 업데이트 진행

      $ yum -y upgrade kernel kernel-devel kernel-headers
      
    • 커널 업그레이드가 완료되면 grub.conf에 기본 커널 파라미터가 추가 되므로 필요에 따라서 삭제하면 된다.

관련문서