Sun Cluster 3.0 U1 개념

응용프로그램 트래픽을 위한 클러스터 상호 연결 사용법

클러스터에는 클러스터 상호 연결을 형성하는 노드간 여러 네트워크 연결이 있어야 합니다. 클러스터 소프트웨어는 고가용성 및 성능 향상 둘 모두를 위해 다중 상호 연결을 사용합니다. 내부 트래픽(예를 들어, 파일 시스템 데이터 또는 확장 가능 서비스 데이터)의 경우, 메시지는 사용 가능한 모든 상호 연결을 통해 라운드 로빈 방식으로 스트립됩니다.

클러스터 상호 연결은 노드사이의 고가용 통신을 위해 응용프로그램에도 사용 가능합니다. 예를 들어, 분산 응용프로그램에는 통신을 필요로 하는 다른 노드에서 실행하는 구성 요소가 있을 수 있습니다. 공용 상호 연결이 아닌 클러스터 상호 연결을 사용하여, 이 연결은 각 링크에 대한 실패로부터 안전합니다.

노드간 통신을 위해 클러스터 상호 연결을 사용하려면, 응용프로그램은 클러스터가 설치되었을 때 구성된 개인용 호스트 이름을 사용해야 합니다. 예를 들어, 노드 1의 개인용 호스트 이름이 clusternode1-priv인 경우, 해당 이름을 사용하여 클러스터 상호 연결을 통해 노드 1로 통신하십시오. 이 이름을 사용하여 열린 TCP 소켓은 클러스터 상호 연결을 통해 라우트되며 네트워크 실패의 경우 투명하게 다시 라우트될 수 있습니다.

개인용 호스트 이름이 설치 중에 구성될 수 있기 때문에, 클러스터 상호 연결은 해당 시간에 선택된 이름을 사용할 수 있다는 것에 유의하십시오. 실제 이름은 scha_privatelink_hostname_node 인수를 사용하여 scha_cluster_get(3HA)에서 얻을 수 있습니다.

클러스터 상호 연결에 대한 응용프로그램 레벨 사용의 경우, 단일 상호 연결은 각 노드 쌍 간에 사용됩니다. 예를 들어, 세 개의 노드에서 실행하고 클러스터 상호 연결을 통해 통신하는 응용프로그램을 고려하십시오. 노드 1과 2 사이의 통신이 인터페이스 hme0에서 일어날 수 있는 반면, 노드 1과 3 사이의 통신은 인터페이스 qfe1에서 일어날 수 있습니다. 즉, 두 노드간 응용프로그램 통신이 단일 상호 연결로 제한되는 반면, 내부 클러스터 통신은 모든 상호 연결을 통해 스트립됩니다.

응용프로그램이 내부 클러스터 트래픽과 상호 연결을 공유하므로, 응용프로그램에 사용 가능한 대역폭은 다른 클러스터 트래픽에 사용되는 대역폭에 따라 다릅니다. 실패할 경우, 내부 트래픽이 나머지 상호 연결을 통해 라운드 로빈될 수 있는 반면, 실패한 상호 연결의 응용프로그램 연결은 작업하는 상호 연결로 전환될 수 있습니다.

두 가지 유형의 주소가 클러스터 상호 연결을 지원하고, 개인용 호스트 이름의 gethostbyname(3N)은 정상적으로 두 개의 IP 주소를 반환합니다. 첫번째 주소는 논리 pairwise 주소라 하고, 두 번째 주소는 논리 pernode 주소라 합니다.

별도의 논리 pairwise 주소는 각 노드 쌍에 할당됩니다. 이 작은 논리 네트워크는 연결에 대한 페일오버를 지원합니다. 각 노드는 수정된 pernode 주소로도 할당됩니다. 즉, clusternode1-priv에 대한 논리 pairwise 주소가 각 노드마다 다른 반면, clusternode1-priv에 대한 논리 pernode 주소는 각 노드마다 동일합니다. 그러나 노드에는 노드 스스로에 대한 pairwise 주소가 없으므로, 노드 1에 있는 gethostbyname(clusternode1-priv)은 논리 pernode 주소만 반환합니다.

클러스터 상호 연결을 통해 연결을 승인하고 보안을 이유로 IP 주소를 확인하는 응용프로그램은 첫번째 IP 주소만이 아니라 gethostbyname에서 반환되는 모든 IP 주소에 대해 확인해야 합니다.

어느 점에 있어서도 응용프로그램에서 일관된 IP 주소를 필요로 하는 경우, 모든 연결이 pernode 주소에서 왕래하는 것으로 나타날 수 있도록 응용프로그램을 구성하여 클라이언트와 서버 측 모두에 대한 pernode 주소로 바인드하십시오.