Sun ONE 로고     이전      목차      색인      다음     
Sun ONE Directory Server 5.2 설치 및 조정 설명서



부록 C   Directory Server용 Sun Cluster HA 설치

이 부록에서는 Directory Server 데이터 서비스용 Sun Cluster HA 및 연결된 관리 서버 데이터 서비스를 설치하고 구성하는 방법에 대해 설명합니다. Sun Cluster 설치 지침 및 주요 개념에 대해서는 Sun Cluster 3.0 제품 설명서를 참조하십시오.

데이터 서비스는 페일오버 서비스로 구성해야 합니다.

시작 전 주의 사항

소프트웨어를 설치하고 구성하기 전에 이 절의 정보와 Sun Cluster 3.0 Release Notes의 워크시트를 검사 목록으로 사용합니다.

설치를 시작하기 전에 다음과 같은 질문을 가정해 보십시오.

  • 같은 노드에서 여러 개의 Directory Server 인스턴스를 실행할 계획인가?
  • 그렇다면 해당 네트워크 자원에 대한 cn=config의 nsslapd-listenhost(dirserv.example.com과 같은 논리적 호스트 이름)를 각 인스턴스의 IP 주소로 설정할 수 있습니다. Directory Server의 기본 동작은 모든 네트워크 인터페이스에서 수신하는 것입니다.

  • Sun Cluster 구성에서 여러 데이터 서비스를 실행하는가?
  • 순서에 상관없이 여러 개의 데이터 서비스를 설정할 수 있습니다. 단, DNS용 Sun Cluster HA는 Directory Server용 Sun Cluster HA보다 먼저 설정해야 합니다.

표 C-1에는 Directory Server용 Sun Cluster HA 설치 및 구성 프로세스가 요약되어 있습니다.

표 C-1    설치 및 구성 프로세스 

작업

확인해야 할 사항

"네트워크 자원 설정"

데이터 서비스의 마스터로 사용할 수 있는 클러스터 노드 이름

Directory Server에 액세스하는 클라이언트가 사용할 논리적 호스트 이름(예: ds1.example.com, ds2.example.com)

논리적 호스트 이름 설정 방법은 Sun Cluster 3.0 제품 설명서를 참조하십시오.

"서버 설치"

전역 파일 시스템에서 Directory Server를 설치하는 ServerRoot 위치(예: /global/ds)

표 1-2에 요약된 설치 세부 정보

"데이터 서비스 패키지 설치"

SUNWdsha 패키지와 SUNWasha 패키지는 클러스터의 다른 데이터 서비스와 동일한 도구를 사용하여 Directory Server와 관리 서버를 관리할 수 있도록 데이터 서비스에 대한 관리 인터페이스를 제공합니다.

"서버 구성"

Directory Server 데이터 서비스의 자원 유형 이름인 SUNW.dsldap와 관리 서버 데이터 서비스인 SUNW.mps

데이터 서비스의 마스터로 사용할 수 있는 클러스터 노드 이름

Directory Server와 관리 서버에 액세스하는 클라이언트가 사용하는 논리적 호스트 이름

전역 파일 시스템에서 Directory Server를 설치하는 ServerRoot 위치

Directory Server에서 클라이언트 요청을 수신하는 포트

관리 서버에서 클라이언트 요청을 수신하는 포트

"네트워크 자원 설정"에 정의된 자원 그룹 이름

"확장 등록정보 구성"

자세한 내용은 해당 절을 참조하십시오.

네트워크 자원 설정

Sun Cluster 소프트웨어는 개별 네트워크 인터페이스의 노드 이름 및 호스트 이름과 다른 논리적 호스트 이름을 관리합니다. 그림 C-1은 2노드 클러스터에서 관리되는 논리적 호스트 이름이 어떻게 어느 노드와도 영구적으로 연결되지 않는지에 대해 보여줍니다.

그림 C-1    2노드 클러스터
Directory Server는 논리적 호스트 이름을 사용합니다.

Directory Server 데이터 서비스용 Sun Cluster HA를 설치하는 경우 Directory Server와 관리 서버가 논리적 호스트 이름 인터페이스에서 수신하도록 구성합니다. 이렇게 하면 두 서버가 클러스터의 특정 노드에 연결되지 않으므로 Sun Cluster 소프트웨어에서 페일오버를 관리할 수 있습니다. 그림 C-1에서 두 노드 이름은 foo와 bar로 지정되어 있습니다. 하지만 그림 C-1과 같이 설치 중에 사용하는 논리적 호스트 이름은 foo와 bar가 아니라 ds-1.example.com과 ds-2.example.com이 됩니다. 사용되는 논리적 호스트 이름은 전체 도메인 이름입니다.

이러한 주요 개념에 대한 자세한 내용과 논리적 호스트 이름 설정 방법은 Sun Cluster 3.0 제품 설명서를 참조하십시오.

논리적 호스트 이름을 설정한 후 다음 단계를 수행합니다.

  1. 클러스터 노드에서 수퍼유저가 됩니다.
  2. 사용하는 모든 네트워크 주소가 이름 서비스 데이터베이스에 추가되어 있는지 확인합니다.
  3. 이름 서비스 조회 중에 장애를 방지하려면 각 클러스터 노드의 /etc/hosts 파일에 전체 논리적 호스트 이름과 공유 IP 주소가 있는지도 확인합니다. 또한 다른 이름 서비스에 액세스하기 전에 먼저 각 클러스터 노드에 있는 /etc/nsswitch.conf의 이름 서비스 매핑에서 로컬 파일을 확인하도록 구성합니다.

  4. 네트워크 및 응용 프로그램 자원을 저장할 페일오버 자원 그룹을 작성합니다. 예를 들어 아래 명령을 실행합니다.
  5. # scrgadm -a -g resource-group [-h node-list]

    여기서 resource-group은 해당 그룹의 이름을 지정합니다.

    선택 사항인 node-list는 클러스터의 잠재적 마스터 노드를 식별하는 ID 또는 물리적 노드 이름의 쉼표로 구분된 목록입니다. 노드 이름 순서에 따라 페일오버 중에 주 노드로 사용되는 노드 순서가 결정됩니다. 클러스터의 모든 노드가 잠재적 마스터인 경우에는 node-list를 지정할 필요가 없습니다.

  6. 아래 명령을 실행하여 논리적 호스트 이름 자원을 자원 그룹에 추가합니다.
  7. # scrgadm -a -L -g resource-group -l logical-host-names [-n netif-list]

    여기서 logical-host-names는 논리적 호스트 이름으로 사용되는 전체 도메인 이름의 쉼표로 구분된 목록입니다. Directory Server 인스턴스 당 한 개의 논리적 호스트 이름을 사용합니다.

    선택 사항인 netif-list는 각 노드의 NAFO 그룹을 식별하는 쉼표로 구분된 목록입니다. 이 옵션을 지정하지 않으면 scrgadm(1M) 유틸리티는 단계 3에서 지정된 node-list의 각 노드에 설정된 논리적 호스트 이름이 사용하는 서브넷에서 네트워크 어댑터를 찾습니다.

  8. 단계 4에서 논리적 호스트 이름으로 지정된 전체 도메인 이름이 이름 서비스 데이터베이스에 추가되어 있는지 확인합니다.
  9. 아래 명령을 실행하여 자원 그룹을 활성화하고 온라인 상태로 만듭니다.
  10. # scswitch -Z -g resource-group

자원 그룹이 온라인 상태이면 서버를 설치할 수 있습니다.

서버 설치

Directory Server용 Sun Cluster HA에서 Directory Server와 관리 서버는 모두 Sun Cluster의 제어를 받습니다. 따라서 설치 중에 물리적 노드의 전체 도메인 이름을 제공하는 것이 아니라 장애가 발생할 때 다른 노드로 복구될 수 있는 전체 논리적 호스트 이름을 서버에 제공합니다.

디렉토리 클라이언트 응용 프로그램에서 사용하는 논리적 호스트 이름에 대해 온라인 상태인 노드부터 설치를 수행하여 Directory Server 데이터 서비스의 마스터로 사용할 다른 모든 클러스터 노드에 대해 이 프로세스를 반복합니다.

활성 노드에 설치

디렉토리 클라이언트 응용 프로그램에서 사용하는 논리적 호스트 이름에 대해 온라인 상태인 클러스터 노드인 경우 다음을 수행합니다.

  1. "Solaris 패키지 설치"를 참조하여 Directory Server 및 관리 서버용 Solaris 패키지를 설치합니다.
  2. Directory Server를 구성합니다. 자세한 내용은 "Directory Server 구성"을 참조하십시오.
  3. 이 단계를 완료할 때 다음을 수행합니다.

    • Directory Server 인스턴스를 전역 클러스터 파일 시스템에 저장합니다.
    • 노드 이름이 아닌 논리적 호스트 이름을 사용합니다.

  4. "관리 서버 구성"을 참조하고 Directory Server 구성에 사용된 논리적 호스트 이름을 사용하여 관리 서버를 구성합니다.
  5. Directory Server를 보안 모드 전용으로 사용하는 경우 ServerRoot/slapd-serverID/keypass라는 빈 파일을 작성하여 Directory Server 인스턴스가 보안 모드로 실행되고 있음을 클러스터에 표시합니다.
  6. 또한 자동으로 보안 모드의 인스턴스를 시작하기 위한 암호가 저장된 ServerRoot/alias/slapd-serverID-pin.txt 파일을 작성합니다. 이렇게 하면 클러스터에서 사용자 개입 없이 데이터 서비스를 다시 시작할 수 있습니다.

다른 노드에 설치

Directory Server 데이터 서비스의 마스터로 사용할 노드인 경우 다음을 수행합니다.

  1. "Solaris 패키지 설치"를 참조하여 Directory Server 및 관리 서버용 Solaris 패키지를 설치합니다.
  2. "활성 노드에 설치"에서와 동일한 설정을 사용하여 Directory Server를 구성합니다.
  3. "활성 노드에 설치"에서와 동일한 설정을 사용하여 관리 서버를 구성합니다.
  4. 첫 노드의 ServerRoot/alias/slapd-serverID-pin.txt를 ServerRoot/alias/에 복사합니다.



주

전역 파일 시스템에 있는 파일은 제거하거나 위치를 바꾸지 마십시오.



데이터 서비스 패키지 설치

데이터 서비스 패키지인 SUNWdsha와 SUNWasha는 서버를 클러스터 내의 데이터 서비스로 관리하기 위한 관리 인터페이스를 제공합니다.

  • Directory Server 데이터 서비스를 지원할 각 클러스터 노드에서 pkgadd(1M) 유틸리티를 사용하여 데이터 서비스 패키지를 설치합니다.
  • # pkgadd -d dirContainingPackages SUNWasha SUNWdsha

서버 구성

아래 단계는 Directory Server에서 사용하는 논리적 호스트 이름에 대해 온라인 상태인 클러스터 노드에서만 사용합니다.

  1. 수퍼유저가 됩니다.
  2. 아래 명령을 실행하여 Directory Server와 관리 서버를 중지합니다.
  3. # /usr/sbin/directoryserver stop
    # /usr/sbin/mpsadmserver stop

  4. 아래 명령을 실행하여 두 데이터 서비스의 자원 유형을 등록합니다.
  5. # scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
    # scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

    여기서 SUNW.dsldap와 SUNW.mps는 데이터 서비스에 미리 정의된 자원 유형 이름입니다. /etc/ds/v5.2/cluster/SUNW.dsldap 및 /etc/mps/admin/v5.2/cluster/SUNW.mps는 데이터 서비스를 정의합니다.

  6. 아래 명령을 실행하여 "네트워크 자원 설정"에서 작성한 페일오버 자원 그룹에 서버를 추가합니다.
  7. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot/slapd-serverID

    # scrgadm -a -j resource-name-as -g resource-group -t SUNW.mps \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot

    여기서 새로운 resource-name-ds를 제공하여 Directory Server 인스턴스를 식별하고 새로운 resource-name-as를 제공하여 관리 서버 인스턴스를 식별합니다.

    resource-group 매개 변수는 "네트워크 자원 설정"에서 지정한 그룹의 이름입니다.

    logical-host-name은 현재 Directory Server 인스턴스에 사용된 로컬 호스트 이름을 식별합니다.

    port-number는 "서버 설치"에서 지정한 포트 번호로, 서버 인스턴스에서 클라이언트 요청을 수신하는 포트입니다. 각 명령의 Port_list 매개 변수는 한 개의 항목만 받습니다.

    ServerRoot 및 ServerRoot/slapd-serverID는 "서버 설치"에서 지정한 경로입니다. 각 명령의 Confdir_list 매개 변수는 한 개의 항목만 받습니다.

  8. 아래 명령을 실행하여 서버 자원과 모니터를 활성화합니다.
  9. # scswitch -e -j resource-name-ds
    # scswitch -e -j resource-name-as

    여기서 resource-name-ds와 resource-name-as는 단계 4에서 서버를 식별하기 위해 제공한 이름입니다.



주

서버를 구성한 후에는 클러스터의 비활성 노드에서 db2bak, db2ldif, back2db, ldif2db 등의 백업 및 복원 명령을 실행하지 마십시오. 백업 및 복원 절차는 모두 활성 노드에서 수행해야 합니다.



  1. 페일오버의 성능을 향상시키려면 "HA 저장소 및 데이터 서비스 동기화" 절에 설명된 단계를 수행합니다.

등록 및 구성 예제

코드 예제 C-1은 그림 C-1에 표시된 클러스터의 데이터 서비스를 등록하고 구성하는 방법을 보여줍니다.



코드 예제 C-1    데이터 서비스 등록 및 구성 

(Create a failover resource group on the node that is online.)
# scrgadm -a -g ds-resource-group-1 -h foo,bar

(Add a logical hostname resource to the resource group.)
# scrgadm -a -L -g ds-resource-group-1 -l ds-1.example.com
(Bring the resource group online.)
# scswitch -Z -g ds-resource-group-1

(Install packages on each node in the cluster.)
(Stop the servers on the node that is online.)
# /usr/sbin/directoryserver stop
# /usr/sbin/mpsadminserver stop

(Register the SUNW.dsldap and SUNW.mps resource types.)
# scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
# scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

(Create resources for the servers and add them to the resource group.)
# scrgadm -a -j ds-1 -g ds-resource-group-1 \
-t SUNW.dsldap -y Network_resources_used=ds-1.example.com \
-y Port_list=389/tcp \
-x Confdir_list=/global/ds/slapd-ds-1
# scrgadm -a -j as-1 -g ds-resource-group-1 \
-t SUNW.mps -y Network_resources_used=ds-1.example.com \
-y Port_list=5201/tcp \
-x Confdir_list=/global/ds

(Enable the application resources.)
# scswitch -e -j ds-1
# scswitch -e -j as-1

확장 등록정보 구성

확장 등록정보를 사용하여 클러스터 소프트웨어에서 응용 프로그램 소프트웨어를 처리하는 방법을 구성할 수 있습니다. 예를 들어, 클러스터 소프트웨어에서 데이터 서비스의 페일오버 시기를 확인하는 방법을 조정할 수 있습니다.

구성 가능한 등록정보

일반적으로 자원 확장 등록정보를 구성할 때는 Sun Management Center의 Cluster 모듈을 사용하거나 scrgadm 유틸리티를 사용합니다. scrgadm 유틸리티를 -x parameter=value 옵션과 함께 사용하여 표 C-2에 열거된 확장 등록정보를 변경할 수 있습니다.

표 C-2    SUNW.dsldap 자원 확장 등록정보 

등록정보

설명

기본값

범위

Monitor_retry_count

Monitor_retry_interval 값으로 지정된 시간 창 내에 PMF(Process Monitor Facility)가 장애 모니터를 다시 시작하는 횟수를 표시하는 정수 값입니다.

4회

-1 - 2,147,483,641회

-1은 재시도 횟수에 제한이 없음을 나타냅니다.

Monitor_retry_interval

장애 모니터의 실패 횟수가 카운트된 시간을 표시하는 정수 값입니다.

이 기간 동안 장애 모니터 실패 횟수가 Monitor_retry_count에 지정된 값을 초과하면 PMF에서 장애 모니터를 다시 시작할 수 없습니다.

2분

-1 - 2,147,483,641분

-1은 재시도 간격에 제한이 없음을 나타냅니다.

Probe_timeout

장애 모니터가 디렉토리 서버 인스턴스 검색에 사용하는 제한 시간 값(초)을 표시하는 정수 값입니다.

30초

0 - 2,147,483,641초

Sun Cluster 등록정보에 대한 자세한 내용은 Sun Cluster 3.0 제품 설명서를 참조하십시오.

장애 모니터 작동 방식

클러스터 소프트웨어는 장애 모니터를 사용하여 데이터 서비스의 상태를 확인합니다. 장애 모니터는 데이터 서비스를 검색한 다음, 이 검색 결과에 따라 서비스 상태가 양호한지 또는 다시 시작해야 하는지 결정합니다.

표 C-3    장애 모니터의 검색 해석 방법 

Directory Server 실행 모드

사용된 검색

알고리즘

일반 모드

ldapsearch

  1. 검색을 시도합니다.
  2. 검색 결과,
  3. LDAP_SUCCESS가 표시되면 서비스는 양호한 상태입니다.
  4. LDAP 오류가 발생하면 서비스를 다시 시작해야 합니다.
  5. 시간 초과 이외의 문제가 발생하면 장애 모니터는 Monitor_retry_count 및 Monitor_retry_interval 값에 따라 다시 검색합니다.
  6. Probe_timeout 기간이 초과되면 장애 모니터는 Monitor_retry_count 및 Monitor_retry_interval 값에 따라 다시 검색합니다.

시스템, 네트워크 또는 Directory Server 인스턴스의 로드 증가로 인해 시간 초과가 발생할 수 있습니다. 모니터되는 Directory Server 인스턴스의 수에 비해 Probe_timeout 값이 너무 낮게 설정된 경우에도 시간 초과가 나타납니다.

보안 모드(SSL)

TCP 연결

  1. 연결을 시도합니다.
  2. 그 결과,
  3. 연결에 성공하면 서비스는 양호한 상태입니다.
  4. 연결에 실패하면 서비스를 다시 시작해야 합니다.
  5. Probe_timeout을 초과하면 서비스를 다시 시작해야 합니다.

장애 모니터는 "서버 구성"에서 지정한 IP 주소 및 포트 번호를 사용하여 검색 작업을 수행합니다. Directory Server가 두 포트에서 각각 SSL 트래픽과 일반 트래픽을 수신하도록 구성되어 있으면 장애 모니터는 TCP 연결을 사용하여 두 포트를 모두 검색하고 보안 모드 포트에 사용되는 장애 모니터링 알고리즘을 따릅니다.

HA 저장소 및 데이터 서비스 동기화

SUNW.HAStorage 자원 유형은 HA 저장소와 데이터 서비스 간의 작업을 동기화하여 Directory Server와 같이 디스크 사용량이 많은 데이터 서비스의 페일오버 성능을 향상시킵니다.

Directory Server 데이터 서비스를 HA 저장소와 동기화하려면 데이터 서비스에서 사용하는 논리적 호스트 이름에 대해 온라인 상태인 노드에서 다음 단계를 수행합니다.

  1. 아래 명령을 실행하여 HA 저장소 자원 유형을 등록합니다.
  2. # scrgadm -a -t SUNW.HAStorage

  3. 아래 명령을 실행하여 저장소 자원이 동기화 상태를 유지하도록 구성합니다.
  4. # scrgadm -a -j HAStorage-resource-name -g HAStorage-resource-group \
    -t SUNW.HAStorage -x ServicePaths=volume-mount-point \
    -x AffinityOn=True

    여기서 volume-mount-point는 Directory Server에서 데이터를 저장하는 디스크 볼륨을 식별합니다.

  5. 아래 명령을 실행하여 저장소 자원과 모니터를 활성화합니다.
  6. # scswitch -e -j HAStorage-resource-name

  7. 아래 명령을 실행하여 기존 Directory Server 자원에 대한 종속성을 추가합니다.
  8. # scrgadm -c -j resource-name-ds \
    -y Resource_Dependencies=HAStorage-resource-name

배경 정보는 SUNW.HAStorage(5)를, 새 자원에 SUNW.HAStorage 자원 유형을 설정하는 방법은 Sun Cluster 3.0 제품 설명서를 참조하십시오.

추가 Directory Server 인스턴스 작성

다음 단계를 수행합니다.

  1. Sun ONE 서버 콘솔을 사용하여 추가 Directory Server 인스턴스를 작성합니다.
  2. 자세한 내용은 Sun ONE Server Console Server Management Guide를 참조하십시오.

  3. 아래 명령을 실행하여 데이터 서비스에서 사용하는 논리적 호스트 이름에 대해 온라인 상태인 노드에서 새 Directory Server 인스턴스를 중지합니다.
  4. # /usr/sbin/directoryserver -server serverID stop

  5. 아래 명령을 실행하여 "네트워크 자원 설정"에서 작성한 페일오버 자원 그룹에 Directory Server를 추가합니다.
  6. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot/slapd-serverID

    여기서 새로운 resource-name-ds를 제공하여 Directory Server 인스턴스를 식별합니다.

    resource-group 매개 변수는 "네트워크 자원 설정"에서 지정한 그룹의 이름입니다.

    logical-host-name은 해당 인스턴스에 사용된 로컬 호스트 이름을 식별합니다.

    port-number는 "서버 설치"에서 지정한 포트 번호로, 해당 인스턴스에서 클라이언트 요청을 수신하는 포트입니다. Port_list 매개 변수는 한 개의 항목만 받습니다.

    ServerRoot 및 ServerRoot/slapd-serverID는 "서버 설치"에서 지정한 경로입니다. Confdir_list 매개 변수는 한 개의 항목만 받습니다.

  7. 아래 명령을 실행하여 서버 자원과 모니터를 활성화합니다.
  8. # scswitch -e -j resource-name-ds

    여기서 resource-name-ds는 단계 3에서 Directory Server를 식별하기 위해 제공한 이름입니다.

제거

Directory Server용 Sun Cluster HA 및 연결된 관리 서버를 클러스터에서 제거하려면 다음 단계를 수행합니다.

  1. 아래 명령을 실행하여 서버 인스턴스를 중지합니다.
  2. # scswitch -n -j resource-name-ds
    # scswitch -n -j resource-name-as

  3. 아래 명령을 실행하여 자원을 제거합니다.
  4. # scrgadm -r -j resource-name-ds
    # scrgadm -r -j resource-name-as

  5. 아래 명령을 실행하여 클러스터 데이터베이스에서 자원 유형을 제거합니다.
  6. # scrgadm -r -t SUNW.dsldap
    # scrgadm -r -t SUNW.mps

  7. 아래 명령을 실행하여 서버 구성을 삭제합니다.
  8. # /usr/sbin/mpsadmserver unconfigure
    # /usr/sbin/directoryserver unconfigure

  9. pkgrm(1M) 유틸리티를 사용하여 SUNWdsha와 SUNWasha 등의 설치된 패키지를 각 노드에서 제거합니다.

이전      목차      색인      다음     
Copyright 2003 Sun Microsystems, Inc. 모든 권리는 저작권자의 소유입니다.