2012-02-28 4 views
1

지난 2 년간 2 개의 데이터 스토리지 노드가 실행되는 MySQL 클러스터가 있습니다.MySQL 클러스터 데이터 노드 교체

최근에 노드 (데이터 저장소) 중 하나에서 하드웨어 문제가 발생했습니다. 이 노드를 새로운 노드로 대체해야 할 수도 있습니다.

누군가가 최선의 방법을 제안 할 수 있다면 좋을 것입니다. 이 과정에서 데이터 손실을 막으려 고합니다. 다른 노드에 설치된 것과 같은 mysql 버전을 사용하지 않는다면 괜찮을까요?

+1

아마도 superuser.com 또는 serverfault.com에서도 시도하십시오 – rene

+0

감사합니다. serverfault.com에도 게시되었습니다. – Pawan

답변

3

클러스터가 여전히 온라인 상태 인 동안 데이터 노드를 스와핑하는 데 문제가 없어야합니다.

대체 데이터 노드를 실행하는 호스트가 대체 될 서버에서 현재 사용중인 IP 주소를 사용하도록하려면 해당 데이터 노드를 중지 (ndb_mgm 명령 사용)하여 새 호스트를 IP 주소를 입력 한 다음 시작하십시오 (기존 관 리 노드에 연결).

  1. 편집 configi.ini을 : 새 호스트가 하드웨어 문제로 서버에있는 데이터 노드가 여전히 작동 다른 IP 주소를 갖고 싶어

    당신은 다음을 수행 할 수 있습니다 관리 노드의 모든합니다 (--initial 옵션)

  2. 다시 시작을 마이그레이션
    되는 데이터 노드의 IP 주소를 변경하는 파일 -없이 (정전
  3. 다시 시작 '건강한'데이터 노드가 발생하지 않습니다 - 처음 옵션!)
  4. 중지 '건강에 해로운'데이터 노드
  5. 시작 새로운 데이터 노드가 클러스터
  6. 다시 시작 내가하지 않은

참고 순서 각 API 노드 (mysqld에)에 가입하기 위해 대기 이것을 테스트 해본 결과 비 프로덕션 환경에서 먼저 시도해보십시오 (물론 실제 작업을하기 전에 프로덕션 데이터베이스를 백업하는 것이 좋습니다).

다른 버전의 소프트웨어에서 노드를 실행할 수도 있지만 이는 일반적으로 클러스터 업그레이드의 컨텍스트에서만 수행되므로 가능한 한 클러스터를 최신 릴리스 (가능한 경우 7.2)로 업그레이드하는 것이 좋습니다. 프로세스를 시작합니다. 그럴 수 없다면 이전 릴리스에 새 데이터 노드를 도입 한 다음 모든 것이 정상으로 돌아 오면 새 릴리스로 업그레이드를 수행하는 것이 좋습니다.

는 참고로, 당신은 http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-upgrade-downgrade-compatibility-7.x.html

감사에서 앤드류를 다른 클러스터 버전의 업그레이드 호환성을 확인할 수 있습니다.

관련 문제