클러스터의 고가용성 노드 이해
고가용성(HA)을 달성하려면 Junos Space 클러스터에 최소 2개의 노드가 포함되어야 합니다. 클러스터에 둘 이상의 노드가 포함된 경우 클러스터의 가용성은 증가하지 않지만 클러스터가 처리할 수 있는 부하의 양은 클러스터에 추가된 각 노드와 함께 증가합니다. 따라서 지정된 시간에 클러스터의 두 노드만 전체 클러스터에 HA를 제공합니다. 기본적으로 이 두 노드(클러스터에서는 HA 노드라고 함)만 Linux HA 클러스터, Apache Load Balancer 클러스터 및 MySQL 클러스터를 형성합니다. 클러스터에 전용 데이터베이스 노드를 추가한 경우 MySQL 클러스터는 기본 및 보조 데이터베이스 노드로 구성됩니다.
기본적으로 클러스터에 추가된 처음 두 노드는 HA 노드로 작동합니다. Junos Space 클러스터 내의 논리적 클러스터 이해 주제에서 이 예는 처음 두 노드(Node-1 및 Node-2)가 HA 노드임을 보여줍니다. 네트워크 관리 플랫폼 > 관리 > 패브릭 작업 공간에서 Node-1 또는 Node-2를 삭제하려는 경우 시스템은 클러스터의 다른 노드가 삭제된 HA 노드를 대체할 수 있는지 확인합니다. 그러면 선택할 수 있는 가능한 노드 목록(예제에서는 Node-3만)이 표시됩니다. 선택한 노드를 확인한 후 DRM(Distributed Resource Manager) 서비스는 새로 선택한 노드에서 실행되는 NMA(노드 관리 에이전트)에 요청을 전송하여 HA 클러스터에 노드를 추가합니다. HA 클러스터에 추가된 노드에서 다음 작업이 시작됩니다.
mod_proxy 로드 밸런서가 있는 Apache HTTP 서버가 노드에서 시작되고 노드는 모든 JBoss 노드를 멤버로 구성합니다.
클러스터에 전용 데이터베이스 노드가 없는 경우 클러스터의 다른 HA 노드에 있는 MySQL 서버의 데이터베이스가 복사되고 MySQL 서버가 노드에서 시작됩니다. 이 서버는 클러스터에 있는 다른 MySQL 서버의 백업으로 구성되며 백그라운드에서 주 서버와 다시 동기화됩니다. 또한 기존 MySQL 서버는 이 새 서버의 백업 역할을 하도록 재구성되어 둘 다에서 대칭적인 기본/백업 구성을 보장합니다.
Junos Space 클러스터에 전용 데이터베이스 노드를 추가할 때 두 개의 노드를 기본 및 보조 데이터베이스 노드로 함께 추가하여 MySQL 클러스터를 형성합니다. 데이터베이스가 활성 HA 노드에서 두 개의 데이터베이스 노드로 복사되고 HA 노드에서 사용 안함으로 설정됩니다. 클러스터에서 데이터베이스 노드 중 하나를 삭제하면 다른 데이터베이스 노드가 기본 데이터베이스 노드로 지정됩니다. 시스템은 삭제된 데이터베이스 노드를 대체하기 위해 클러스터의 비 HA 노드를 사용할 수 있는지 여부를 확인하고 삭제된 노드를 대체하기 위해 선택할 수 있는 노드 목록을 표시합니다.
노드를 선택한 후 DRM(Distributed Resource Manager) 서비스는 새로 선택한 노드에서 실행되는 NMA(노드 관리 에이전트)에 요청을 전송하여 해당 노드를 MySQL 클러스터에 추가합니다.
MySQL 클러스터에 추가된 노드에서 다음 작업이 시작됩니다.
클러스터의 기본 데이터베이스 노드에 있는 MySQL 서버의 데이터베이스가 복사되고 MySQL 서버가 새로 추가된 보조 데이터베이스 노드에서 시작됩니다. 이 서버는 기본 데이터베이스 노드에서 MySQL 서버의 백업으로 구성되며 백그라운드에서 기본 데이터베이스와 다시 동기화됩니다. 주 데이터베이스 노드의 기존 MySQL 서버도 보조 데이터베이스 노드에서 이 새 서버의 백업 역할을 하도록 다시 구성되어 두 노드 모두에서 대칭 주/백업 구성을 보장합니다.
새로 추가된 데이터베이스 노드에서 JBoss 서버가 중지됩니다.
3개의 기본 논리 클러스터 외에도 Junos Space 패브릭의 일부로 Cassandra 클러스터가 있는 경우 Cassandra에 업로드된 파일은 Cassandra 클러스터의 일부인 모든 Cassandra 노드에 복사됩니다. 따라서 하나의 Cassandra 노드에 장애가 발생하더라도 장애가 발생한 노드의 파일은 손실되지 않습니다. 그러나 Junos Space 플랫폼은 실패한 노드가 삭제될 때까지 Cassandra 데이터베이스에 파일을 업로드하거나 삭제할 수 없습니다.
HA 노드에서 Cassandra 서비스가 사용으로 설정되어 있는데 해당 노드가 작동 중지된 경우, 그리고 새로 추가된 HA 노드에서 Cassandra 서비스를 실행하려는 경우, 노드에서 Cassandra 서비스를 수동으로 사용하도록 설정하고 시작해야 합니다. Cassandra 서비스가 실행 중인 마지막 노드가 삭제되면 Cassandra 데이터베이스에 저장된 파일이 손실됩니다.