이 장에서는 여러 백엔드 서버에서 달력 데이터베이스 배포를 가능하게 하는 달력 조회 데이터베이스(CLD) 플러그 인 사용 방법에 대해 설명합니다. CLD 플러그 인을 활성화하고 구성해야 합니다.
프런트엔드 서버와 백엔드 서버에서 동일한 버전의 Calendar Server를 실행해야 합니다.
이 장은 다음 내용으로 구성되어 있습니다.
CLD 플러그 인의 성능을 향상시키는 방법에 대한 자세한 내용은 21 장, Calendar Server 성능 조정을 참조하십시오.
이 절에서는 CLD 플러그 인을 실제로 활성화하고 구성하기 전에 이해하면 도움이 되는 유용한 개요 및 배경 정보를 제공합니다.
이 절은 다음 내용으로 구성되어 있습니다.
달력 조회 데이터베이스(CLD) 플러그 인에서는 단일 달력 인스턴스에서 사용자 및 자원 달력을 여러 백엔드 서버에 분산할 수 있게 함으로써 달력 데이터베이스의 수평 확장성을 제공합니다. 달력 데이터베이스가 여러 백엔드 서버에 분산된 경우 Calendar Server는 CLD 플러그 인을 사용하여 달력이 실제로 저장된 서버를 확인합니다.
Calendar Server는 데이터 와이어 프로토콜(DWP)을 사용하여 백엔드 서버의 달력 데이터에 액세스합니다. DWP는 csdwpd 서비스로 실행되는 내부 프로토콜이며 달력 데이터베이스를 위한 네트워킹 기능을 제공합니다.
Calendar Server는 다음과 같이 백엔드 서버의 달력 데이터에 액세스합니다.
최종 사용자가 Communications Express를 통해 달력에 액세스하면 CLD 플러그 인은 달력의 calid에서 userid를 추출한 후 LDAP 디렉토리 데이터베이스 또는 CLD 데이터 캐시(활성화된 경우)에서 달력 소유자를 조회합니다. 프런트엔드 시스템을 구성하는 방법에 대한 자세한 내용은 CLD를 위한 프런트엔드 서버 구성을 참조하십시오.
이 플러그 인은 달력 소유자를 찾은 후 소유자의 icsDWPHost LDAP 속성 값을 사용하여 달력이 있는 백엔드 서버의 호스트 이름을 확인합니다. 이 이름은 DNS(Domain Name Service)에서 유효한 IP 주소로 확인할 수 있어야 합니다.
이 호스트 이름을 사용하는 Calendar Server는 데이터베이스 와이어 프로토콜(DWP)을 사용하여 백엔드 서버의 달력 데이터에 액세스합니다.
Calendar Server는 DWP를 사용하여 달력 데이터가 사용자 인터페이스 중 하나에서 렌더링될 수 있도록 사용자가 로그인한 서버로 해당 데이터를 보냅니다.
사이트에서 CLD 플러그 인을 사용하는 경우에는 같은 사용자에 대해 만든 모든 달력이 LDAP 사용자 항목의 icsDWPHost LDAP 속성에 표시된 서버와 동일한 백엔드 서버에 있어야 합니다. 다른 백엔드 서버에서 달력을 만들려고 할 경우 Calendar Server는 오류를 반환합니다.
이 절에서는 CLD 플러그 인에 대한 개요 정보를 제공합니다.
CLD 플러그 인은 다음 Calendar Server 구성을 지원합니다.
이 모든 구성에서 각 프런트엔드 서버 및 백엔드 서버는 다음 조건을 만족해야 합니다.
동일한 하드웨어 플랫폼에 위치
같은 운영 체제 실행
패치를 포함하여 같은 Calendar Server 릴리스 실행
같은 DWP 포트 번호(service.dwp.port 매개 변수) 사용. 기본 포트 번호는 “59779”입니다.
그림 5–1에서는 단일 Calendar Server 인스턴스가 실행되는 두 대의 프런트엔드 서버와 두 대의 백엔드 서버를 보여 줍니다. 또한 필요에 따라 3대 이상의 프런트엔드 또는 백엔드 서버를 구성할 수 있습니다.
이 구성에서 서버는 LDAP 및 달력 데이터베이스에 대한 액세스를 제한하는 방화벽으로 보호할 수 있습니다. 달력 데이터베이스는 2대의 백엔드 서버에 분산됩니다.
프런트엔드 서버는 CPU를 많이 사용하며, 최종 사용자용 달력 데이터를 렌더링하는 데 대부분의 CPU 시간이 소요됩니다. 백엔드 서버는 디스크를 많이 사용하며, 달력 데이터베이스에 액세스하는 데 대부분의 CPU 시간이 소요됩니다.
구성 지침에 대해서는 5.2 CLD 및 DWP를 위한 Calendar Server 구성을 참조하십시오.
그림 5–2에서는 프런트엔드 및 백엔드 서버 둘 다로 작동하는 세 대의 시스템을 보여 줍니다. 각 시스템은 달력 데이터베이스에 연결됩니다. 이 구성에서는 달력의 지역적인 분산이 가능합니다. 달력 소유자(최종 사용자)는 달력이 위치한 시스템에 로그인합니다. 구성 지침에 대해서는 서버를 프런트엔드 및 백엔드 둘 다로 구성하려면을 참조하십시오.
이 절에서는 보통 사용 프로필을 바탕으로 몇 가지 간단한 수식을 사용하여 크기를 지정하는 방법에 대해 설명합니다. 이를 통해 필요한 프런트엔드 및 백엔드 서버 수와 저장소 용량을 알 수 있습니다.
이 절은 다음 내용으로 구성되어 있습니다.
추정값을 계산하기 위해 다음과 같이 가정합니다.
모든 클라이언트는 웹 클라이언트입니다.
따라서 총 사용자 수와 동시 처리 백분율에 대한 입력만 사용합니다.
평균 크기의 달력 이벤트 크기는 5K입니다.
각 사람은 주당 10개의 이벤트 또는 작업을 만듭니다.
80%의 CPU 활용도
900MHz의 CPU
CPU당 1GB RAM
시스템에 2년 동안의 달력 데이터가 저장되어 있습니다.
스토리지에 6개의 핫 백업이 저장되어 있습니다.
수식은 다음과 같습니다.
CPU의 수 = 동시 사용자 수를 4800으로 나눈 값
수식은 다음과 같습니다.
CPU의 수 = 500,000명의 구성된 사용자당 CPU 4개
수식은 다음과 같습니다.
사용자당 저장소 양 = 주당 100개의 전자 메일 * 연간 52주 * 전자 메일당 5K * 데이터를 온라인으로 유지해야 하는 년 수 * 온라인으로 유지해야 하는 복사본 수(5개의 백업 + 1개의 작업 복사본) = 100*52*5K*2*(5+1) = 사용자당 65MB의 저장소
즉, 연간 사용자당 온라인으로 유지해야 하는 복사본마다 2.6MB가 필요합니다.
최종 크기는 온라인으로 유지하는 핫 백업 또는 아카이브 백업의 수에 따라 달라집니다. 이 예에서는 백업 복사본이 5개 사용되었습니다.
이 절에서는 CLD 및 DWP용으로 서버를 구성하기 위한 지침을 제공합니다.
이 절은 다음 내용으로 구성되어 있습니다.
모든 프런트엔드 서버에서 구성 변경 권한이 있는 관리자로 로그인합니다.
/etc/opt/SUNWics5/cal/config 디렉토리로 변경합니다.
ics.conf 파일을 복사한 다음 이름을 변경하여 저장합니다.
다음 목록에 표시된 대로 ics.conf 매개 변수를 편집합니다.
설명
모든 프런트엔드 서버에 대해 cs_로 시작하는 플러그 인을 모두 cal-svr-base/SUNWics5/cal/bin/plugins 디렉토리로 로드하려면 해당 값을 “y”로 설정합니다.
해당 이름을 csapi.plugin.calendarlookup.name에서 찾을 수 있는 특정 플러그 인만 로드하려면 "n"으로 설정합니다.
이 매개 변수를 "yes"로 설정합니다.
이 매개 변수를 "calendarlookup"라는 플러그 인 이름으로 설정합니다. 또는 모든 플러그 인을 로드하려면 매개 변수를 "*"로 설정합니다.
이 매개 변수는 달력이 여러 백엔드에 분산될지(값이 “directory”로 설정) 아니면 달력을 Calendar Server가 설치된 동일한 서버에 저장할지(값이 기본값인 “local”로 설정) 지정합니다.
프런트엔드 서버가 백엔드 시스템으로 작동하지 않는 한, 프런트엔드 서버에 대해 DWP 서비스를 비활성화합니다. 예를 들면 다음과 같습니다. service.dwp.enable="no"
기본 포트는 “59979”입니다. 포트 번호는 모든 프런트엔드 서버 및 백엔드 서버에서 동일해야 합니다.
이 매개 변수는 기본적으로 활성화("yes")되며구성 파일(ics.conf)에는 표시되지 않습니다.
비활성화("no")하려는 경우에는 구성 파일에 추가해야 합니다.
여러 값을 갖는 매개 변수입니다. Calendar Server 배포의 각 백엔드 서버에 대해 하나의 ics.conf 매개 변수를 만듭니다. 이 매개 변수 값은 백엔드 서버 호스트 이름입니다. 서버 이름은 정규화된 이름이어야 하며 DNS(Domain Name Service)에서 유효한 IP 주소로 확인할 수 있어야 합니다. 서버 이름은 매개 변수 이름과 값 둘 다에서 동일하며 정규화되어야 합니다.
예를 들면 다음과 같습니다.
caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
사용자 또는 자원 LDAP 항목에 icsDWPHost 속성이 없으면 시스템에 사용되는 기본 DWP 서버 이름을 설정합니다. 서버 이름은 정규화된 이름이어야 하며 DNS에서 확인할 수 있어야 합니다.
예를 들면 다음과 같습니다.
caldb.dwp.sever.default="calendar1.sesta.com"
디렉토리 서버가 설치되어 있는 호스트 이름입니다. 기본값은 "localhost"입니다.
LDAP 사용자 기본 설정이 저장되어 있는 호스트 이름입니다. 사용자 기본 설정을 별도의 LDAP 호스트에 보관하지 않는 경우 local.authldaphost와 같은 값으로 설정해야 합니다.
이 프런트엔드 서버에 대해 ENS(enpd)를 비활성화하려면 이 매개 변수를 "no"로 설정합니다.
ENS는 백엔드 서버에서만 활성화해야 합니다.
값을 "0"으로 설정하여 프런트엔드 서버에 대해 서버 경보를 비활성화합니다.
백엔드 서버에서만 서버 경보를 활성화해야 합니다("1").
경보 디스패치를 비활성화하려면 이 매개 변수를 "no"로 설정합니다.
경보 디스패치는 백엔드 서버에서만 활성화해야 합니다("yes").
알림 서비스를 비활성화하려면 이 매개 변수를 "no"로 설정합니다.
알림 서비스는 백엔드 서버에서만 활성화해야 합니다("yes").
자동 아카이브 백업 서비스를 비활성화하려면 이 매개 변수를 "no"로 설정합니다. 프런트엔드 시스템에서는 아카이브를 구성할 필요가 없습니다.
자동 핫 백업 서비스를 비활성화해야 합니다("no"). 프런트엔드 시스템에서는 핫 백업이 필요하지 않습니다.
파일을 ics.conf로 저장합니다.
Calendar Server를 다시 시작합니다.
cal-svr-base/SUNWics5/cal/sbin/start-cal
모든 백엔드 서버에서 구성 변경 권한이 있는 관리자로 로그인합니다.
/etc/opt/SUNWics5/cal/config 디렉토리로 변경합니다.
ics.conf 파일을 복사한 다음 이름을 변경하여 저장합니다.
다음 표에 나와 있는 것처럼 ics.conf 매개 변수를 편집합니다.
설명
이 매개 변수를 "no"로 설정합니다.
백엔드 서버에서는 HTTP가 필요하지 않습니다.
이 매개 변수를 기본값인 "yes"로 설정하여 관리 서비스(csadmind)를 활성화합니다.
이 컴퓨터가 백엔드 전용 컴퓨터인 경우 "local"로 설정하고프런트엔드와 백엔드 둘 모두로 사용되는 경우 "directory"로 설정합니다.
이 매개 변수를 "no"로 설정합니다.
백엔드 서버에는 플러그 인이 필요하지 않습니다.
이 매개 변수를 "yes"로 설정하여 DWP를 활성화합니다.
기본 포트는 “59979”입니다. 포트 번호는 모든 프런트엔드 서버 및 백엔드 서버에서 동일해야 합니다.
여러 값을 갖는 매개 변수입니다. Calendar Server 배포의 각 백엔드 서버에 대해 하나의 ics.conf 매개 변수를 만듭니다. 이 매개 변수 값은 백엔드 서버 호스트 이름입니다. 서버 이름은 정규화된 이름이어야 하며 DNS(Domain Name Service)에서 유효한 IP 주소로 확인할 수 있어야 합니다. 서버 이름은 매개 변수 이름과 값 둘 다에서 동일하며 정규화되어야 합니다.
예를 들면 다음과 같습니다.
caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
사용자 또는 자원 LDAP 항목에 icsDWPHost 속성이 없으면 시스템에서 사용하는 기본 DWP 서버 이름을 설정합니다. 서버 이름은 정규화된 이름이어야 하며 DNS에서 확인할 수 있어야 합니다.
예를 들면 다음과 같습니다.
caldb.dwp.sever.default="calendar1.sesta.com"
디렉토리 서버가 설치되어 있는 호스트 이름입니다. 기본값은 "localhost"입니다.
LDAP 사용자 기본 설정이 저장되어 있는 호스트 이름입니다. 사용자 기본 설정을 별도의 LDAP 호스트에 보관하지 않는 경우 local.authldaphost와 같은 값으로 설정해야 합니다.
이 백엔드 서버에 대해 ENS(enpd)를 활성화하려면 이 매개 변수를 "yes"로 설정합니다.
백엔드 서버에서 서버 경보를 활성화해야 합니다("1").
파일을 ics.conf로 저장합니다.
Calendar Server를 다시 시작합니다.
cal-svr-base/SUNWics5/cal/sbin/start-cal
모든 서버에서 구성 변경 권한이 있는 관리자로 로그인합니다.
/etc/opt/SUNWics5/cal/config 디렉토리로 변경합니다.
ics.conf 파일을 복사한 다음 이름을 변경하여 저장합니다.
다음 표에 나와 있는 것처럼 ics.conf 매개 변수를 편집합니다.
설명
모든 프런트엔드 서버에 대해 cs_로 시작하는 플러그 인을 모두 cal-svr-base/SUNWics5/cal/bin/plugins 디렉토리로 로드하려면 해당 값을 “y”로 설정합니다.
해당 이름을 csapi.plugin.calendarlookup.name에서 찾을 수 있는 특정 플러그 인만 로드하려면 "n"으로 설정합니다.
이 매개 변수를 "yes"로 설정합니다.
모든 플러그 인을 로드하려면 이 매개 변수를 "*"로 설정합니다.
CLD 플러그 인만 로드하려면 이 매개 변수를 플러그 인의 이름 "calendarlookup"으로 설정합니다.
이 매개 변수는 달력이 여러 백엔드에 분산될지(값이 “directory”로 설정) 아니면 달력을 Calendar Server가 설치된 동일한 서버에 저장할지(값이 기본값인 “local”로 설정) 지정합니다.
이 매개 변수를 "yes"로 설정하여 DWP를 활성화합니다.
기본 포트는 “59979”입니다. 포트 번호는 모든 프런트엔드 서버 및 백엔드 서버에서 동일해야 합니다.
여러 값을 갖는 매개 변수입니다. Calendar Server 배포의 각 백엔드 서버에 대해 하나의 ics.conf 매개 변수를 만듭니다. 이 매개 변수 값은 백엔드 서버 호스트 이름입니다. 서버 이름은 정규화된 이름이어야 하며 DNS(Domain Name Service)에서 유효한 IP 주소로 확인할 수 있어야 합니다. 서버 이름은 매개 변수 이름과 값 둘 다에서 동일하며 정규화되어야 합니다.
예를 들면 다음과 같습니다.
caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
사용자 또는 자원 LDAP 항목에 icsDWPHost 속성이 없으면 시스템에 사용되는 기본 DWP 서버 이름을 설정합니다. 서버 이름은 정규화된 이름이어야 하며 DNS에서 확인할 수 있어야 합니다.
예를 들면 다음과 같습니다.
aldb.dwp.sever.default="calendar1.sesta.com"
디렉토리 서버가 설치되어 있는 호스트 이름입니다. 기본값은 "localhost"(프런트엔드와 동일한 서버에 있음)입니다.
LDAP 사용자 기본 설정이 저장되어 있는 호스트 이름입니다. 사용자 기본 설정을 별도의 LDAP 호스트에 보관하지 않는 경우 local.authldaphost와 같은 값으로 설정해야 합니다.
이 매개 변수 값을 "yes"로 설정하여 ENS를 활성화합니다.
백엔드 서버에서 서버 경보를 활성화해야 합니다("1").
백엔드 서버에서 경보 디스페처를 활성화해야 합니다("yes").
백엔드 서버에서 알림 서비스를 활성화해야 합니다("yes").
백엔드 시스템에서 자동 아카이브 백업 서비스를 활성화해야 합니다("yes").
백엔드 시스템에서 자동 핫 백업 서비스를 활성화해야 합니다("yes").
파일을 ics.conf로 저장합니다.
Calendar Server를 다시 시작합니다.
cal-svr-base/SUNWics5/cal/sbin/start-cal
프런트엔드와 백엔드 서버 사이에 비밀번호 인증을 구성할 수 있습니다. 이 절에서는 두 서버 사이에 안전한 통신을 설정하는 방법과 작동 방식을 설명합니다.
이 절은 다음 내용으로 구성되어 있습니다.
프런트엔드 서버는 데이터베이스 와이어 프로토콜(DWP)을 사용하여 백엔드 서버와 통신합니다. DWP는 전송 메커니즘으로 HTTP를 사용하므로 Calendar Server는 구성 매개 변수를 사용하여 프런트엔드와 백엔드 서버 사이의 DWP 연결에 대한 인증을 제공합니다.
프런트엔드 서버는 처음 백엔드 서버에 연결하면 ics.conf 파일에 지정된 사용자 아이디와 비밀번호를 보냅니다. 백엔드 서버는 ics.conf 파일에서 매개 변수를 확인하며 두 매개 변수가 일치하면 인증이 성공한 것입니다. 그런 다음 백엔드 서버는 프런트엔드 서버로 세션 아이디를 보냅니다. 프런트엔드 서버는 이후 백엔드 서버에 DWP 명령을 보낼 때 이 세션 아이디를 사용합니다.
이후 같은 프런트엔드 서버에서 연결할 경우에는 백엔드 서버가 다시 시작되었거나 두 서버 간의 활동이 없어 세션이 만료되지 않은 한 다시 인증할 필요가 없습니다.
여러 대의 프런트엔드 서버 및 백엔드 서버가 있다면 각 서버에 동일한 사용자 아이디 및 비밀번호를 사용할 수 있습니다.
백엔드 서버에서 사용자 아이디와 비밀번호를 지정하지 않은 경우에는 인증이 수행되지 않습니다.
이러한 매개 변수는 설치된 ics.conf 파일 버전에는 포함되어 있지 않습니다. DWP 연결에 인증을 사용하려면 각 프런트엔드 서버의 ics.conf 파일에 필수 매개 변수를 추가해야 합니다.
모든 프런트엔드 서버에서 구성 변경 권한이 있는 관리자로 로그인합니다.
/etc/opt/SUNWics5/cal/config 디렉토리로 변경합니다.
ics.conf 파일을 복사한 다음 이름을 변경하여 저장합니다.
다음 목록에 나와 있는 대로 ics.conf 매개 변수를 추가합니다.
설명
프런트엔드 서버에서 백엔드 서버에 대한 DWP 연결 인증에 사용되는 관리자의 사용자 아이디를 지정합니다. 여기서 back-end-server는 서버의 이름입니다.
프런트엔드 서버에서 백엔드 서버에 대한 DWP 연결을 인증하는 데 사용되는 비밀번호를 지정합니다. 여기서 back-end-server는 서버의 이름입니다.
파일을 ics.conf로 저장합니다.
Calendar Server를 다시 시작합니다.
cal-svr-base/SUNWics5/cal/sbin/start-cal
이러한 매개 변수는 설치된 ics.conf 파일 버전에는 포함되어 있지 않습니다. DWP 연결에 대한 인증을 사용하려면 각 프런트엔드 서버 및 백엔드 서버의 ics.conf 파일에 필수 매개 변수를 추가해야 합니다.
모든 백엔드 서버에서 구성 변경 권한이 있는 관리자로 로그인합니다.
/etc/opt/SUNWics5/cal/config 디렉토리로 변경합니다.
ics.conf 파일을 복사한 다음 이름을 변경하여 저장합니다.
다음 표에 나와 있는 대로 ics.conf 매개 변수를 추가합니다.
설명
백엔드 서버에서 DWP 연결을 인증하는 데 사용되는 사용자 아이디를 지정합니다. 백엔드 서버에서 사용자 아이디를 지정하지 않은 경우에는 인증이 수행되지 않습니다.
백엔드 서버에서 DWP 연결을 인증하는 데 사용되는 비밀번호를 지정합니다. 백엔드 서버에서 비밀번호를 지정하지 않은 경우에는 인증이 수행되지 않습니다.
파일을 ics.conf로 저장합니다.
Calendar Server를 다시 시작합니다.
cal-svr-base/SUNWics5/cal/sbin/start-cal