Identity Management에서 성능 튜닝
보다 나은 성능을 위해 Directory Server,ECDHE 및 SSSD와 같은 IdM 서비스 최적화
초록
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. IdM 튜닝 시 중요한 고려 사항 링크 복사링크가 클립보드에 복사되었습니다!
ID 관리 구성 요소 서비스는 대부분의 배포에 최적의 방식으로 작동하도록 조정됩니다. 시스템 관리자는 특정 환경의 요구에 맞게 IdM 서비스의 성능을 조정해야 할 수 있습니다.
중요 고려 사항
- 각 IdM 배포는 하드웨어, 소프트웨어, 네트워킹, 데이터, 워크로드 및 기타 여러 요인의 고유한 조합입니다. 하나의 환경에 도움이 되는 조정은 다른 환경에 영향을 미칠 수 있습니다.
- 성능 튜닝은 반복적이고 실험적인 프로세스입니다. Red Hat은 한 번에 하나의 변수만 조정하고 환경에 미치는 영향을 모니터링할 것을 권장합니다. 하나의 변수로 원하는 결과를 수행한 후 이전 조정의 성능을 계속 모니터링하면서 다음 변수를 조정합니다.
2장. 하드웨어 권장 사항 링크 복사링크가 클립보드에 복사되었습니다!
RAM은 적절한 크기의 가장 중요한 하드웨어 기능입니다. 시스템에 사용 가능한 RAM이 충분한지 확인합니다. 일반적인 RAM 요구 사항은 다음과 같습니다.
- 10,000 사용자 및 100 그룹의 경우: 최소 4GB의 RAM 및 4GB 스왑 공간
- 10만명의 사용자 및 50,000 그룹의 경우: 최소 16GB의 RAM 및 4GB의 스왑 공간
대규모 배포의 경우 대부분의 데이터가 캐시에 저장되므로 디스크 공간을 늘리는 것보다 RAM 증가가 더 효율적입니다. 일반적으로 RAM을 더 추가하면 캐싱으로 인해 대규모 배포 성능이 향상됩니다. 가상화된 환경에서 메모리 볼링을 비활성화하거나 게스트 IdM 서버에 전체 RAM을 예약해야 합니다.
인증서를 사용하는 기본 사용자 항목 또는 간단한 호스트 항목은 크기가 약 5-10 kB입니다.
3장. IdM 서버 성능 권장 사항 링크 복사링크가 클립보드에 복사되었습니다!
안정적인 성능을 보장하기 위해 IdM(Identity Management)은 IdM 서버를 추가하거나 등록할 수 있는 최대 사용자 및 클라이언트 수에 제한을 적용합니다.
| 동작 | 설명 | 숫자 |
|---|---|---|
| 클라이언트 등록 | 등록 실패 전에 IdM 서버에 동시에 등록할 수 있는 IdM 클라이언트의 최대 수입니다. | 130 |
| 사용자 추가 |
사용자를 추가하지 못하기 전에 다른 IdM 클라이언트의
IdM API | 325 |
| 클라이언트 인증 | 인증이 실패하기 전에 동시에 인증할 수 있는 IdM 클라이언트의 최대 수입니다. | 800 |
| 사용자 그룹에 멤버 추가 | 그룹에 새 멤버를 추가하는 데 시간을 초과하지 않고 추가할 수 있는 권장 멤버 수입니다. IdM에는 그룹에 멤버를 추가하기 위한 일반 시간 프레임으로 2초 규칙이 있습니다. 멤버를 더 추가할 수 있지만 작업 시간이 점진적으로 확장됩니다. | 1500 |
4장. IdM에서 페일오버, 로드 밸런싱 및 고가용성 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Management)에는 IdM 클라이언트에 대한 기본 제공 장애 조치(failover) 메커니즘과 IdM 서버의 부하 분산 및 고가용성 기능이 있습니다.
클라이언트 측 페일오버 기능
기본적으로 IdM 클라이언트의 SSSD 서비스는 클라이언트가 연결할 최상의 IdM 서버를 자동으로 결정할 수 있도록 SRV(DNS 서비스) 리소스 레코드를 사용하도록 구성됩니다.
기본 및 백업 서버 구성
서버 확인 동작은 /etc/sssd/sssd.conf 파일의 ipa_server 매개변수에서 _srv_ 옵션에 의해 제어됩니다.
예: /etc/sssd/sssd.conf
[domain/<idm_domain_name>] id_provider = ipa ipa_server = _srv_, <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ...
[domain/<idm_domain_name>]
id_provider = ipa
ipa_server = _srv_, <primary_idm_server1>, <primary_idm_server2>
ipa_backup_server = <backup_idm_server1>, <backup_idm_server2>
...
_srv_ 옵션을 지정하면 SSSD에서 기본적으로 정렬된 IdM 서버 목록을 검색합니다. 기본 서버가 오프라인 상태가 되면 IdM 클라이언트의 SSSD 서비스가 사용 가능한 다른 IdM 서버에 자동으로 연결됩니다.
기본 서버는 ipa_server 매개변수에 지정됩니다. SSSD는 기본 서버에 먼저 연결하고 사용할 수 있는 기본 서버가 없는 경우에만 백업 서버로 전환하려고 합니다.
_srv_ 옵션은 백업 서버에서 지원되지 않습니다.
SSSD는 DNS 서버의 SRV 레코드를 쿼리합니다. 기본적으로 SSSD는 다른 DNS 서버를 쿼리하기 전에 DNS 확인자에서 응답을 6 초 동안 기다립니다. 모든 DNS 서버에 연결할 수 없는 경우 도메인은 오프라인 모드에서 계속 작동합니다. dns_resolver_timeout 옵션을 사용하여 클라이언트가 DNS 확인자에서 응답을 기다리는 시간을 늘릴 수 있습니다.
성능상의 이유로 DNS 조회를 바이패스하려면 ipa_server 매개변수에서 _srv_ 항목을 제거하고 클라이언트가 연결해야 하는 IdM 서버를 기본 설정으로 지정합니다.
예: /etc/sssd/sssd.conf
[domain/<idm_domain_name>] id_provider = ipa ipa_server = <primary_idm_server1>, <primary_idm_server2> ipa_backup_server = <backup_idm_server1>, <backup_idm_server2> ...
[domain/<idm_domain_name>]
id_provider = ipa
ipa_server = <primary_idm_server1>, <primary_idm_server2>
ipa_backup_server = <backup_idm_server1>, <backup_idm_server2>
...
IdM 서버 및 서비스에 대한 장애 조치 동작
SSSD 장애 조치 메커니즘은 IdM 서버와 해당 서비스를 독립적으로 처리합니다. 서버의 호스트 이름 확인이 성공하면 SSSD는 시스템이 온라인 상태인 것으로 간주하고 해당 시스템에서 필요한 서비스에 연결을 시도합니다. 서비스 연결이 실패하면 SSSD는 전체 시스템 또는 기타 서비스가 아닌 해당 특정 서비스만 오프라인으로 간주합니다.
호스트 이름 확인이 실패하면 SSSD에서 전체 시스템을 오프라인으로 간주하고 해당 시스템의 서비스에 연결을 시도하지 않습니다.
모든 기본 서버를 사용할 수 없는 경우 SSSD는 구성된 백업 서버에 연결을 시도합니다. 백업 서버에 연결되어 있는 동안 SSSD는 주기적으로 기본 서버 중 하나에 다시 연결하려고 시도하며 기본 서버를 사용할 수 있게 되면 즉시 연결됩니다. 이러한 시도 사이의 간격은 failover_primary_timeout 옵션으로 제어되며 기본값은 31초입니다.
모든 IdM 서버에 연결할 수 없게 되면 SSSD가 오프라인 모드로 전환됩니다. 이 상태에서 SSSD는 서버를 사용할 수 있을 때까지 30초마다 연결을 다시 시도합니다.
서버 측 부하 분산 및 서비스 가용성
여러 IdM 복제본을 설치하여 IdM에서 부하 분산 및 고가용성을 달성할 수 있습니다.
- 지리적으로 분산된 네트워크가 있는 경우 데이터 센터당 여러 IdM 복제본을 구성하여 IdM 클라이언트와 액세스 가능한 서버 간의 경로를 단축할 수 있습니다.
- Red Hat은 최대 60개의 복제본이 있는 환경을 지원합니다.
- IdM 복제 메커니즘은 활성/활성 서비스 가용성을 제공합니다. 모든 IdM 복제본의 서비스는 동시에 쉽게 사용할 수 있습니다.
Red Hat은 IdM 및 기타 로드 밸런싱 또는 HA(고가용성) 소프트웨어를 결합하는 것이 좋습니다.
많은 타사 고가용성 솔루션은 활성/수동 시나리오를 가정하고 IdM 가용성에 불필요한 서비스 중단을 초래합니다. 다른 솔루션은 가상 IP 또는 클러스터형 서비스당 단일 호스트 이름을 사용합니다. 이러한 모든 방법은 일반적으로 IdM 솔루션에서 제공하는 서비스 가용성 유형에서 제대로 작동하지 않습니다. 또한 Kerberos와 매우 비효율적으로 통합되어 배포의 전체 보안 및 안정성이 줄어 듭니다.
5장. 복제본 토폴로지 최적화 링크 복사링크가 클립보드에 복사되었습니다!
강력한 복제본 토폴로지는 워크로드를 배포하고 복제 지연을 줄입니다. 복제본 토폴로지의 레이아웃을 최적화하려면 다음 지침을 따르십시오.
5.1. 토폴로지에서 적절한 IdM 복제본 수를 결정하는 지침 링크 복사링크가 클립보드에 복사되었습니다!
IdM 토폴로지를 계획하여 조직의 요구 사항과 일치하고 최적의 성능 및 서비스 가용성을 보장합니다.
- 각 데이터 센터에 두 개 이상의 복제본을 설정
- 각 데이터 센터에 두 개 이상의 복제본을 배포하여 하나의 서버가 실패하면 복제본이 요청을 인수하고 처리할 수 있도록 합니다.
- 클라이언트를 제공할 수 있도록 충분한 수의 서버 설정
- 하나의 IdM(Identity Management) 서버는 2000 - 3000 클라이언트에 서비스를 제공할 수 있습니다. 클라이언트가 서버를 하루에 여러 번 쿼리하는 것으로 가정하지만 1분마다는 그렇지 않습니다. 자주 쿼리를 예상하는 경우 더 많은 서버를 계획하십시오.
- 충분한 수의 CA(인증 기관) 복제본을 설정
- CA 역할이 설치된 복제본만 인증서 데이터를 복제할 수 있습니다. IdM CA를 사용하는 경우 해당 환경에 인증서 복제 계약과 함께 두 개 이상의 CA 복제본이 있는지 확인합니다.
- 단일 IdM 도메인에서 최대 60개의 복제본 설정
- Red Hat은 최대 60개의 복제본이 있는 환경을 지원합니다.
5.2. 토폴로지에서 IdM 복제본 연결 지침 링크 복사링크가 클립보드에 복사되었습니다!
- 각 복제본을 두 개 이상의 복제본에 연결
- 이렇게 하면 초기 복제본과 설치한 첫 번째 서버뿐만 아니라 다른 복제본 간에 정보가 복제됩니다.
- 복제본을 최대 4개의 다른 복제본에 연결(하드 요구 사항 아님)
서버당 다수의 복제 계약은 상당한 이점을 추가하지 않습니다. 수신 복제본은 한 번에 하나의 다른 복제본만 업데이트할 수 있으며 다른 복제 계약은 유휴 상태입니다. 복제본당 4개 이상의 복제 계약은 일반적으로 리소스 낭비를 의미합니다.
참고이 권장 사항은 인증서 복제 및 도메인 복제 계약에 모두 적용됩니다.
복제본당 4개의 복제 계약 제한에는 다음 두 가지 예외가 있습니다.
- 특정 복제본이 온라인 상태가 아니거나 응답하지 않는 경우 장애 조치(failover) 경로가 필요합니다.
- 대규모 배포에서 특정 노드 간에 추가 직접 링크가 필요합니다.
복제 계약의 구성이 전체 성능에 부정적인 영향을 미칠 수 있습니다. 토폴로지의 여러 복제 계약에서 업데이트를 보내는 경우 특정 복제본에서 들어오는 업데이트와 발신 업데이트 간에 changelog 데이터베이스 파일에 높은 경합이 발생할 수 있습니다.
복제본마다 더 많은 복제 계약을 사용하기로 결정하는 경우 복제 문제 및 대기 시간이 발생하지 않도록 합니다. 그러나 많은 거리와 중간 노드가 많은 경우 대기 시간 문제가 발생할 수 있습니다.
- 데이터 센터의 복제본을 서로 연결
- 이렇게 하면 데이터 센터 내의 도메인 복제가 보장됩니다.
- 각 데이터 센터를 두 개 이상의 다른 데이터 센터에 연결
- 이렇게 하면 데이터 센터 간 도메인 복제가 보장됩니다.
- 최소 한 쌍의 복제 계약을 사용하여 데이터 센터 연결
- 데이터 센터 A 및 B에 A1에서 B1로의 복제 계약이 있는 경우 A2에서 B2로의 복제 계약이 있으면 서버 중 하나가 다운되면 두 데이터 센터 간에 복제가 계속될 수 있습니다.
5.3. 복제본 토폴로지 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 중 하나를 사용하여 안정적인 복제본 토폴로지를 생성할 수 있습니다.
그림 5.1. 4개의 데이터 센터가 있는 복제본 토폴로지, 각각 복제 계약과 연결된 4개의 서버가 있음
그림 5.2. 3개의 데이터 센터가 있는 복제본 토폴로지, 각각 복제 계약을 통해 상호 연결된 서로 다른 서버 수
5.4. IdM 서버에서 IdM CA 서비스 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
토폴로지에서 CA 역할이 있는 4개 이상의 IdM(Identity Management) 복제본이 있고 중복 인증서 복제로 인해 성능 문제가 발생하는 경우 IdM 복제본에서 중복 CA 서비스 인스턴스를 제거합니다. 이렇게 하려면 먼저 영향을 받는 IdM 복제본을 완전히 해제한 다음 CA 서비스 없이 IdM을 다시 설치해야 합니다.
IdM 복제본에 CA 역할을 추가할 수 있지만 IdM은 IdM 복제본에서 CA 역할만 제거하는 방법을 제공하지 않습니다. ipa-ca-install 명령에 --uninstall 옵션이 없습니다.
사전 요구 사항
- 토폴로지의 IdM 서버 4개 이상에 IdM CA 서비스가 설치되어 있습니다.
절차
- 중복 CA 서비스를 식별하고 이 서비스를 호스팅하는 IdM 복제본 에서 IdM 서버 설치 제거 절차를 따릅니다.
- 동일한 호스트에서 IdM 서버 설치 절차에 따라 CA가 없는 통합 DNS를 사용합니다.
6장. 검색 크기 및 시간 제한 조정 링크 복사링크가 클립보드에 복사되었습니다!
IdM 사용자 목록을 요청하는 것과 같은 일부 쿼리는 많은 수의 항목을 반환할 수 있습니다. 이러한 검색 작업을 튜닝하면 ipa *-find 명령과 같은 명령을 실행하고 웹 UI에 해당 목록을 표시할 때 전체 서버 성능을 향상시킬 수 있습니다.
ipa *-find
- 검색 크기 제한
클라이언트의 CLI 또는 IdM 웹 UI에 액세스하는 브라우저에서 서버로 전송된 요청에 대해 반환된 최대 항목 수를 정의합니다.
기본값: 100개 항목
- 검색 시간 제한
서버가 검색을 실행하기 위해 대기하는 최대 시간(초)을 정의합니다. 검색이 이 제한에 도달하면 서버는 검색을 중지하고 해당 시간에 검색된 항목을 반환합니다.
기본값: 2초
값을 -1 로 설정하면 검색 시 IdM에 제한이 적용되지 않습니다.
검색 크기 또는 시간 제한을 너무 높게 설정하면 서버 성능에 부정적인 영향을 미칠 수 있습니다.
6.1. 명령줄에서 검색 크기 및 시간 제한 조정 링크 복사링크가 클립보드에 복사되었습니다!
검색 크기 및 시간 제한을 전역적으로 조정하거나 특정 항목에 대해 조정하여 검색 성능과 응답성을 최적화할 수 있습니다.
절차
CLI에서 현재 검색 시간 및 크기 제한을 표시하려면
ipa config-show명령을 사용합니다.ipa config-show Search time limit: 2 Search size limit: 100
$ ipa config-show Search time limit: 2 Search size limit: 100Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 쿼리에 대해 제한을 전역적으로 조정하려면
ipa config-mod명령을 사용하고--search recordsslimit및--searchtimelimit옵션을 추가합니다. 예를 들어 다음과 같습니다.ipa config-mod --searchrecordslimit=500 --searchtimelimit=5
$ ipa config-mod --searchrecordslimit=500 --searchtimelimit=5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 쿼리에 대해서만 제한을 일시적으로 조정하려면 명령에
--sizelimit또는--timelimit옵션을 추가합니다. 예를 들어 다음과 같습니다.ipa user-find --sizelimit=200 --timelimit=120
$ ipa user-find --sizelimit=200 --timelimit=120Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. 웹 UI에서 검색 크기 및 시간 제한 조정 링크 복사링크가 클립보드에 복사되었습니다!
IdM 웹 UI를 사용하여 글로벌 검색 크기 및 시간 제한을 조정하여 검색 성능과 응답을 최적화할 수 있습니다.
절차
- IdM 웹 UI에 로그인합니다.
- IPA 서버를 클릭합니다.
- IPA 서버 탭에서 구성을 클릭합니다.
Search Options (검색 옵션) 영역에서 필요한 값을 설정합니다.
기본값은 다음과 같습니다.
- 검색 크기 제한: 100개 항목
- 검색 시간 제한: 2초
- 페이지 상단에서 저장을 클릭합니다.
7장. IdM Directory Server 성능 조정 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server의 리소스와 동작을 제어하는 LDAP 특성을 조정하여 ID 관리 데이터베이스의 성능을 조정할 수 있습니다.
다음을 미세 조정할 수 있습니다.
- Directory Server에서 데이터를 캐시 하는 방법을 조정합니다.
- Directory Server의 리소스 제한을 조정합니다.
- 성능에 가장 큰 영향을 미치는 타임아웃 을 조정합니다.
- LDIF 파일에서 사용자 지정 디렉터리 서버 설정을 사용하여 IdM 서버 또는 복제본을 설치합니다.
7.1. IdM Directory Server의 항목 캐시 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 값을 적용할 필요가 없는 한 이 설정은 변경하지 마십시오. IdM Directory Server는 최적화된 성능을 위해 내장된 캐시 자동 설정 기능을 사용합니다.
nsslapd-cachememsize 속성은 항목 캐시에 사용할 수 있는 메모리 공간의 크기(바이트)를 지정합니다. 이 속성은 Directory Server에서 사용하는 물리적 RAM의 양을 제어하기 위한 가장 중요한 값 중 하나입니다.
항목 캐시 크기가 너무 작으면 /var/log/dirsrv/slapd- <instance_name> /errors 로그 파일에 Directory Server 오류 로그에 다음 오류가 표시될 수 있습니다.
REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes). Try increasing nsslapd-cachememsize.
REASON: entry too large (83886080 bytes) for the import buffer size (67108864 bytes). Try increasing nsslapd-cachememsize.
Red Hat은 항목 캐시와 데이터베이스 인덱스 입력 캐시를 메모리에 맞출 것을 권장합니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
자동 캐시 튜닝을 비활성화합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스 접미사와 해당 백엔드를 표시합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 각 접미사 옆에 있는 백엔드 데이터베이스의 이름을 표시합니다. 다음 단계에서 접미사의 데이터베이스 이름을 사용합니다.
데이터베이스의 항목 캐시 크기를 설정합니다. 이 예에서는 userroot 데이터베이스의 항목 캐시를 2GB로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --cache-memsize=2147483648 userroot
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --cache-memsize=2147483648 userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server를 다시 시작합니다.
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
cache-memsize를 다른 값으로 조정하거나 캐시 자동 크기 조정을 다시 활성화합니다.
검증
nsslapd-cachememsize속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize nsslapd-cachememsize: 2147483648
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cachememsize nsslapd-cachememsize: 2147483648Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2. IdM Directory Server의 데이터베이스 인덱스 캐시 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 값을 적용할 필요가 없는 한 이 설정은 변경하지 마십시오. IdM Directory Server는 최적화된 성능을 위해 내장된 캐시 자동 설정 기능을 사용합니다.
nsslapd-dbcachesize 속성은 데이터베이스 인덱스가 사용하는 메모리 양을 제어합니다. 이 캐시 크기는 항목 캐시 크기보다 Directory Server 성능에 미치는 영향은 줄어들지만 항목 캐시 크기가 설정된 후 사용 가능한 RAM이 있는 경우 데이터베이스 캐시에 할당된 메모리 양을 늘리는 것이 좋습니다.
데이터베이스 캐시는 더 높은 값이 성능을 향상시킬 수 없기 때문에 1.5GB RAM으로 제한됩니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
자동 캐시 튜닝을 비활성화하고 데이터베이스 캐시 크기를 설정합니다. 이 예에서는 데이터베이스 캐시를 256MB로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0 --dbcachesize=268435456
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --cache-autosize=0 --dbcachesize=268435456Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server를 다시 시작합니다.
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
dbcachesize를 다른 값으로 조정하거나 캐시 자동 크기 조정을 다시 활성화합니다.
검증
nsslapd-dbcachesize속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-dbcachesize nsslapd-dbcachesize: 2147483648
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-dbcachesize nsslapd-dbcachesize: 2147483648Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. IdM Directory Server에서 데이터베이스 및 항목 캐시 자동 설정 다시 활성화 링크 복사링크가 클립보드에 복사되었습니다!
최적화된 성능을 위해 기본 제공 캐시 자동 크기 조정 기능을 사용합니다. 캐시 크기를 수동으로 설정하지 마십시오.
기본적으로 IdM 디렉터리 서버는 데이터베이스 캐시 및 항목 캐시에 대한 최적의 크기를 자동으로 결정합니다. 자동 크기 조정은 여유 RAM의 일부를 설정하고 인스턴스가 시작될 때 서버의 하드웨어 리소스에 따라 두 캐시의 크기를 최적화합니다.
이 절차를 사용하여 사용자 지정 데이터베이스 캐시 및 항목 캐시 값을 실행 취소하고 캐시 자동 크기 기능을 기본값으로 복원하십시오.
|
|
이 설정은 데이터베이스 및 항목 캐시 자동 스케일링을 위해 할당된 사용 가능한 RAM을 제어합니다. 값이 |
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
|
|
이 값은 데이터베이스 캐시에 사용되는 |
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- 이전에 데이터베이스 및 항목 캐시 자동 조정이 비활성화되었습니다.
절차
Directory Server를 중지합니다.
systemctl stop dirsrv.target
[root@server ~]# systemctl stop dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 수정 전에
/etc/dirsrv/slapd-<instance_name> /dse.ldif파일을 백업합니다.cp /etc/dirsrv/slapd-<instance_name>/dse.ldif \ /etc/dirsrv/slapd-<instance_name>/dse.ldif.bak.$(date "+%F_%H-%M-%S")
[root@server ~]# cp /etc/dirsrv/slapd-<instance_name>/dse.ldif \ /etc/dirsrv/slapd-<instance_name>/dse.ldif.bak.$(date "+%F_%H-%M-%S")Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/dirsrv/slapd-<instance_name> /dse.ldif파일을 편집합니다.데이터베이스 및 진입점 캐시에 사용할 사용 가능한 시스템 RAM의 백분율을 사용 가능한 RAM의 기본값 10%로 다시 설정합니다.
nsslapd-cache-autosize: 10
nsslapd-cache-autosize: 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터베이스 캐시의 사용 가능한 시스템 RAM에서 사용된 백분율을 기본값인 25%로 설정합니다.
nsslapd-cache-autosize-split: 25
nsslapd-cache-autosize-split: 25Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
/etc/dirsrv/slapd-<instance_name> /dse.ldif파일에 변경 사항을 저장합니다. Directory Server를 시작합니다.
systemctl start dirsrv.target
[root@server ~]# systemctl start dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
nsslapd-cache-autosize및nsslapd-cache-autosize-split속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cache-autosize nsslapd-cache-autosize: *10 nsslapd-cache-autosize-split: 25
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-cache-autosize nsslapd-cache-autosize: *10 nsslapd-cache-autosize-split: 25Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. IdM 디렉터리 서버에서 DN 캐시 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 값을 적용할 필요가 없는 한 이 설정은 변경하지 마십시오. IdM Directory Server는 최적화된 성능을 위해 내장된 캐시 자동 설정 기능을 사용합니다.
nsslapd-dncachememsize 속성은 고유 이름(DN) 캐시의 사용 가능한 메모리 공간의 크기(바이트)를 지정합니다. DN 캐시는 데이터베이스의 항목 캐시와 유사하지만 해당 테이블은 항목 ID와 항목 DN만 저장하므로 이름 변경 및 수정 작업을 더 빠르게 조회할 수 있습니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
선택 사항: 데이터베이스 접미사와 해당 데이터베이스 이름을 표시합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list dc=example,dc=com (userroot)
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list dc=example,dc=com (userroot)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 각 접미사 옆에 있는 백엔드 데이터베이스의 이름을 표시합니다. 다음 단계에서 접미사의 데이터베이스 이름을 사용합니다.
데이터베이스의 DN 캐시 크기를 설정합니다. 이 예제에서는 DN 캐시를 20 메가바이트로 설정합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --dncache-memsize=20971520 userroot
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix set --dncache-memsize=20971520 userrootCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server를 다시 시작합니다.
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
dncache-memsize를 다른 값으로 조정하거나 기본값인 10MB로 조정합니다.
검증
nsslapd-dncachememsize속성의 새 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-dncachememsize nsslapd-dncachememsize: 20971520
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=userroot,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-dncachememsize nsslapd-dncachememsize: 20971520Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5. IdM Directory Server에서 정규화된 DN 캐시 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
사용자 지정 값을 적용할 필요가 없는 한 이 설정은 변경하지 마십시오. IdM Directory Server는 최적화된 성능을 위해 내장된 캐시 자동 설정 기능을 사용합니다.
nsslapd-ndn-cache-max-size 특성은 표준 고유 이름(NDN)을 저장하는 캐시의 크기(바이트)를 제어합니다. 이 값을 늘리면 메모리에 더 자주 사용되는 DN이 유지됩니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
NDN 캐시가 활성화되어 있는지 확인합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-enabled Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-enabled: on
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-enabled Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-enabled: onCopy to Clipboard Copied! Toggle word wrap Toggle overflow 캐시가
해제된 경우 다음 명령을 사용하여 활성화합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ndn-cache-enabled=on Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-ndn-cache-enabled"
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ndn-cache-enabled=on Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-ndn-cache-enabled"Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-ndn-cache-max-size매개변수의 현재 값을 검색하고 조정해야 하는 경우 조정하기 전에 기록해 둡니다. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-max-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-max-size: 20971520
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-max-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-max-size: 20971520Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-ndn-cache-max-size속성의 값을 수정합니다. 이 예제에서는 값을41943040(40MB)으로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ndn-cache-max-size=41943040
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ndn-cache-max-size=41943040Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
nsslapd-ndn-cache-max-size를 다른 값으로 조정하거나 캐시 자동 크기 조정을 다시 활성화합니다.
검증
nsslapd-ndn-cache-max-size속성의 새 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-max-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-max-size: 41943040
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ndn-cache-max-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ndn-cache-max-size: 41943040Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.6. IdM Directory Server의 최대 메시지 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
nsslapd-maxbersize 속성은 수신되는 메시지 또는 LDAP 요청에 허용되는 최대 크기(바이트)를 설정합니다. 요청 크기를 제한하면 일부 유형의 서비스 거부 공격이 방지됩니다.
최대 메시지 크기가 너무 작으면 /var/log/dirsrv/slapd- <instance_name> /errors: 디렉터리 서버 오류 로그에 다음 오류가 표시될 수 있습니다.
Incoming BER Element was too long, max allowable is 2097152 bytes. Change the nsslapd-maxbersize attribute in cn=config to increase.
Incoming BER Element was too long, max allowable is 2097152 bytes. Change the nsslapd-maxbersize attribute in cn=config to increase.
제한은 LDAP 요청의 총 크기에 적용됩니다. 예를 들어 요청이 항목을 추가하는 것이며 요청의 항목이 구성된 값 또는 기본값보다 크면 추가 요청이 거부됩니다. 그러나 이 제한은 복제 프로세스에 적용되지 않습니다. 이 속성을 변경하기 전에 주의해야 합니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-maxbersize매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 둡니다. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 2097152
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 2097152Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-maxbersize속성의 값을 수정합니다. 이 예에서는 값을4194304, 4MB로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxbersize=4194304
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxbersize=4194304Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxbersize"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxbersize"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
nsslapd-maxbersize를 다른 값으로 조정하거나 기본값인2097152로 조정합니다.
검증
nsslapd-maxbersize속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 4194304
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxbersize Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxbersize: 4194304Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.7. IdM Directory Server의 최대 파일 설명자 수 조정 링크 복사링크가 클립보드에 복사되었습니다!
값은 /etc/systemd/system.conf 파일의 DefaultLimitNOFILE 매개변수에 대해 정의할 수 있습니다. root 권한이 있는 관리자는 setrlimit 명령을 사용하여 ns-slapd 프로세스의 DefaultLimitNOFILE 매개변수를 더 낮은 값으로 설정할 수 있습니다. 그런 다음 이 값은 /etc/systemd/system.conf 에 있는 것보다 우선하며 nsslapd-maxdescriptors 속성 값으로 IdM(Identity Management) 디렉터리 서버(DS)에서 허용됩니다.
nsslapd-maxdescriptors 속성은 IdM LDAP에서 사용하는 최대 플랫폼 종속 파일 설명자 수를 설정합니다. 파일 설명자는 클라이언트 연결, 로그 파일, 소켓 및 기타 리소스에 사용됩니다.
/etc/systemd/system.conf 또는 setrlimit 에 의해 값이 정의되지 않은 경우 IdM DS는 nsslapd-maxdescriptors 속성을 1048576로 설정합니다.
나중에 IdM DS 관리자가 nsslapd-maxdescriptors 에 대한 새 값을 수동으로 설정한 경우 IdM DS는 setrlimit 또는 /etc/systemd/system.conf 에 의해 로컬로 정의된 항목과 다음 결과를 비교합니다.
-
nsslapd-maxdescriptors의 새 값이 로컬에 정의된 값보다 크면 서버에서 새 값 설정을 거부하고 높은 워터마크 값으로 로컬 제한 값을 계속 적용합니다. - 새 값이 로컬에 정의된 값보다 작으면 새 값이 사용됩니다.
다음 절차에서는 nsslapd-maxdescriptors 의 새 값을 설정하는 방법을 설명합니다.
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-maxdescriptors매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 둡니다. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 4096
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-maxdescriptors속성 값을 수정합니다. 이 예제에서는 값을8192으로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxdescriptors=8192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-maxdescriptors=8192Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxdescriptors"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-maxdescriptors"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
nsslapd-maxdescriptors를 다른 값으로 조정하거나 기본값4096으로 되돌립니다.
검증
nsslapd-maxdescriptors속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 8192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-maxdescriptors Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-maxdescriptors: 8192Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.8. IdM Directory Server의 연결 백로그 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
listen 서비스는 들어오는 연결을 수신하는 데 사용할 수 있는 소켓 수를 설정합니다. nsslapd-listen-backlog-size 값은 연결을 거부하기 전에 sockfd 소켓에 대한 큐의 최대 길이를 설정합니다.
IdM 환경에서 많은 연결을 처리하는 경우 nsslapd-listen-backlog-size 의 값을 늘리는 것이 좋습니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-listen-backlog-size매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 두십시오. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-listen-backlog-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-listen-backlog-size: 128
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-listen-backlog-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-listen-backlog-size: 128Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-listen-backlog-size속성 값을 수정합니다. 이 예제에서는 값을192로 증가시킵니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-listen-backlog-size=192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-listen-backlog-size=192Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-listen-backlog-size"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-listen-backlog-size"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
nsslapd-listen-backlog-size속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-listen-backlog-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-listen-backlog-size: 192
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-listen-backlog-size Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-listen-backlog-size: 192Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.9. IdM 디렉터리 서버의 최대 데이터베이스 잠금 수 조정 링크 복사링크가 클립보드에 복사되었습니다!
잠금 메커니즘은 동시에 실행할 수 있는 Directory Server 프로세스 복사본 수를 제어하고 nsslapd-db-locks 매개변수는 최대 잠금 수를 설정합니다.
/var/log/dirsrv/slapd- <instance_name> /errors 로그 파일에 다음 오류 메시지가 표시되면 최대 잠금 수를 늘립니다.
libdb: Lock table is out of available locks
libdb: Lock table is out of available locks
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-db-locks매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 둡니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-db-locks nsslapd-db-locks: 50000
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-db-locks nsslapd-db-locks: 50000Copy to Clipboard Copied! Toggle word wrap Toggle overflow locking 특성의 값을
수정합니다. 이 예에서는 값을100000개 잠금으로 두 배로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --locks=100000
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend config set --locks=100000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully updated database configuration
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully updated database configurationCopy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server를 다시 시작합니다.
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
nsslapd-db-locks속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=directory manager" -w <directory_manager_password> -b "cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-db-locks nsslapd-db-locks: 100000
[root@server ~]# ldapsearch -D "cn=directory manager" -w <directory_manager_password> -b "cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config" | grep nsslapd-db-locks nsslapd-db-locks: 100000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.10. IdM 디렉터리 서버에서 Transparent Huge Pages 기능 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
THP(Transparent Huge Pages) Linux 메모리 관리 기능은 RHEL에서 기본적으로 활성화됩니다. DS에 스파스 메모리 액세스 패턴이 있으므로 THP 기능은 IdM Directory Server (DS) 성능을 줄일 수 있습니다.
기능을 비활성화하는 방법은 Red Hat Directory Server 설명서에서 투명한 대규모 페이지 기능 비활성화 를 참조하십시오.
7.11. IdM Directory Server의 입력/출력 블록 시간 제한 조정 링크 복사링크가 클립보드에 복사되었습니다!
nsslapd-ioblocktimeout 특성은 정지된 LDAP 클라이언트에 대한 연결이 종료된 후 밀리초 단위의 시간을 설정합니다. LDAP 클라이언트는 읽기 또는 쓰기 작업을 위한 I/O 진행 상황을 고려하지 않은 경우 정지된 것으로 간주됩니다.
nsslapd-ioblocktimeout 속성 값을 줄여 연결을 더 빨리 확보합니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-ioblocktimeout매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 둡니다. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ioblocktimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ioblocktimeout: 10000
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ioblocktimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-ioblocktimeout: 10000Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-ioblocktimeout속성 값을 수정합니다. 이 예제에서는 value를8000으로 낮춥니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ioblocktimeout=8000
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-ioblocktimeout=8000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-ioblocktimeout"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-ioblocktimeout"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
nsslapd-ioblocktimeout을 다른 값으로 조정하거나 기본값인10000으로 다시 조정합니다.
검증
nsslapd-ioblocktimeout속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ioblocktimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 8000
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-ioblocktimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 8000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.12. IdM Directory Server에서 유휴 연결 시간 초과 조정 링크 복사링크가 클립보드에 복사되었습니다!
nsslapd-idletimeout 속성은 IdM 서버에서 유휴 LDAP 클라이언트 연결이 닫히는 시간(초)을 설정합니다. 값이 0 이면 서버가 유휴 연결을 종료하지 않음을 의미합니다.
오래된 연결이 닫히지 않도록 이 값을 조정하는 것이 좋지만 활성 연결은 조기 종료되지 않습니다.
| 기본값 |
|
| 유효한 범위 |
|
| 진입 DN 위치 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
nsslapd-idletimeout매개변수의 현재 값을 검색하여 조정해야 하는 경우 조정하기 전에 기록해 둡니다. 메시지가 표시되면 Directory Manager 암호를 입력합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-idletimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 3600
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-idletimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 3600Copy to Clipboard Copied! Toggle word wrap Toggle overflow nsslapd-idletimeout속성 값을 수정합니다. 이 예에서는 값을1800(30분)으로 줄입니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-idletimeout=1800
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config replace nsslapd-idletimeout=1800Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-idletimeout"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "nsslapd-idletimeout"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
nsslapd-idletimeout을 다른 값으로 조정하거나 기본값3600으로 다시 조정합니다.
검증
nsslapd-idletimeout속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-idletimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 3600
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> config get nsslapd-idletimeout Enter password for cn=Directory Manager on ldap://server.example.com: nsslapd-idletimeout: 3600Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.13. 복제 릴리스 시간 초과 조정 링크 복사링크가 클립보드에 복사되었습니다!
IdM 복제본은 복제 세션 중에 다른 복제본이 있는 동안 독점적으로 잠길 수 있습니다. 일부 환경에서는 대규모 업데이트 또는 네트워크 혼잡으로 인해 복제본이 오랫동안 잠길 수 있으므로 복제 대기 시간이 길어집니다.
repl-release-timeout 매개변수를 조정하여 고정된 시간 후에 복제본을 해제할 수 있습니다. Red Hat은 이 값을 30 에서 120 으로 설정하는 것이 좋습니다.
- 값을 너무 낮게 설정하면 복제본이 지속적으로 서로를 재확인하며 복제본은 더 큰 업데이트를 보낼 수 없습니다.
-
시간이 길어지면 서버가 더 긴 시간 동안 복제본에만 액세스하는 경우 가장 적합한 트래픽이 많은 상황을 개선할 수 있지만
120초보다 높은 값은 복제 속도가 느려집니다.
| 기본값 |
|
| 유효한 범위 |
|
| 권장 범위 |
|
사전 요구 사항
- LDAP Directory Manager 암호
절차
데이터베이스 접미사와 해당 백엔드를 표시합니다.
dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> backend suffix list cn=changelog (changelog) dc=example,dc=com (userroot) o=ipaca (ipaca)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 접미사 옆에 있는 백엔드 데이터베이스의 이름을 표시합니다. 다음 단계에서 접미사 이름을 사용합니다.
기본 userroot 데이터베이스의
repl-release-timeout속성 값을 수정합니다. 이 예제에서는 값을90초로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> replication set --suffix="dc=example,dc=com" --repl-release-timeout=90
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> replication set --suffix="dc=example,dc=com" --repl-release-timeout=90Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리 관리자로 인증하여 구성을 변경합니다.
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "repl-release-timeout"
Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "repl-release-timeout"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: IdM 환경에서 IdM CA(인증 기관)를 사용하는 경우 CA 데이터베이스의
repl-release-timeout속성 값을 수정할 수 있습니다. 이 예제에서는 값을90초로 늘립니다.dsconf -D "cn=Directory Manager" ldap://<server_fqdn> replication set *--suffix="o=ipaca" --repl-release-timeout=90* Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "repl-release-timeout"
[root@server ~]# dsconf -D "cn=Directory Manager" ldap://<server_fqdn> replication set *--suffix="o=ipaca" --repl-release-timeout=90* Enter password for cn=Directory Manager on ldap://server.example.com: Successfully replaced "repl-release-timeout"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Directory Server를 다시 시작합니다.
systemctl restart dirsrv.target
[root@server ~]# systemctl restart dirsrv.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM 디렉터리 서버의 성능을 모니터링합니다. 개선되지 않으면 이 절차를 반복하고
repl-release-timeout을 다른 값으로 조정하거나 기본값인60초로 조정합니다.
검증
nsds5ReplicaReleaseTimeout속성 값을 표시하고 원하는 값으로 설정되어 있는지 확인합니다.ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" | grep nsds5ReplicaReleaseTimeout nsds5ReplicaReleaseTimeout: 90
[root@server ~]# ldapsearch -D "cn=Directory Manager" -w <directory_manager_password> -b "cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config" | grep nsds5ReplicaReleaseTimeout nsds5ReplicaReleaseTimeout: 90Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 예제에서 접미사 중단 이름은 dc=example,dc=com 이지만 ldapsearch 명령에서 등호(=) 및 쉼표(,)를 이스케이프해야 합니다.
다음 이스케이프 문자를 사용하여 접미사 DN을 cn=dc\3Dexample\2Cdc\3Dcom 으로 변환합니다.
-
\3D교체= -
\2C교체.
8장. EgressIP의 성능 조정 링크 복사링크가 클립보드에 복사되었습니다!
사용자, 호스트 및 서비스 인증을 담당하는 KDC(Kerberos Key Distribution Center)의 성능을 최적화하려면 배포의 트래픽 패턴을 기반으로 키 매개변수를 조정합니다.
8.1. EgressIP listen 대기열의 길이 조정 링크 복사링크가 클립보드에 복사되었습니다!
/var/kerberos/krb5kdc/kdc.conf 파일의 [kdcdefaults] 섹션에서 kdc_tcp_listen_backlog 옵션을 설정하여 EgressIP 데몬의 수신 대기열 길이의 크기를 조정할 수 있습니다. 대량의 Kerberos 트래픽을 경험하는 일부 IdM 배포에서는 기본값 5 가 너무 낮을 수 있지만 이 값을 너무 높게 설정하면 성능이 저하됩니다.
| 기본값 |
|
| 유효한 범위 |
|
절차
-
텍스트 편집기에서
/var/kerberos/krb5kdc/kdc.conf파일을 엽니다. TCP listenlog를
7과 같은 원하는 값으로 설정합니다.[kdcdefaults] ... kdc_tcp_listen_backlog = 7
[kdcdefaults] ... kdc_tcp_listen_backlog = 7Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/var/kerberos/krb5kdc/kdc.conf파일을 저장하고 닫습니다. - EgressIP를 다시 시작하여 새 설정을 로드합니다.
8.2. 영역당 DCN 동작을 제어하는 옵션 링크 복사링크가 클립보드에 복사되었습니다!
각 Kerberos 영역의 사용자 계정 잠금 및 잠금을 해제하는 것을 추적하기 위해 EgressIP은 인증이 성공하고 실패한 후 해당 데이터베이스에 씁니다. /etc/krb5.conf 파일의 [dbmodules] 섹션에서 다음 옵션을 조정하여 EgressIP이 정보를 쓰는 빈도를 최소화하여 성능을 향상시킬 수 있습니다.
- disable_last_success
true로 설정하면 이 옵션은 preauthentication이 필요한 보안 주체 항목의 마지막 성공한 인증필드에 대한 EgressIP 업데이트를 표시하지 않습니다.Expand 기본값
false유효한 범위
true또는false- disable_lockout
true로 설정하면 이 옵션은 preauthentication이 필요한 보안 주체 항목의 마지막필드에 대한 EgressIP 업데이트를 표시하지 않습니다. 이 플래그를 설정하면 성능이 향상될 수 있지만 계정 잠금을 비활성화하면 보안 위험으로 간주될 수 있습니다.실패 인증 및 실패한암호 시도Expand 기본값
false유효한 범위
true또는false
8.3. 영역당 dashboard 설정 조정 링크 복사링크가 클립보드에 복사되었습니다!
/etc/krb5.conf 파일을 수정하여 특정 Kerberos 영역에 대한 KDC 설정을 조정합니다.
절차
-
텍스트 편집기에서
/etc/krb5.conf파일을 엽니다. [dbmodules]섹션 내에서 옵션과 원하는 값을 해당 Kerberos 영역에 지정합니다. 이 예제에서는 <kerberos_realm>에 대해변수를 설정 중입니다(예: EXAMPLE.COM).disable_last_success[dbmodules] <kerberos_realm> = { disable_last_success = true }[dbmodules] <kerberos_realm> = { disable_last_success = true }Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/krb5.conf파일을 저장하고 닫습니다. - EgressIP를 다시 시작하여 새 설정을 로드합니다.
8.4. krb5kdc 프로세스 수 조정 링크 복사링크가 클립보드에 복사되었습니다!
KDC(Key Distribution Center)가 들어오는 연결을 처리하기 위해 시작하는 프로세스 수를 수동으로 조정할 수 있습니다.
기본적으로 IdM 설치 프로그램은 CPU 코어 수를 감지하고 /etc/sysconfig/krb5kdc 파일에 값을 입력합니다. 예를 들어 파일에는 다음 항목이 포함될 수 있습니다.
KRB5KDC_ARGS='-w 2' [...]
KRB5KDC_ARGS='-w 2'
[...]
이 예에서 KRB5KDC_ARGS 매개 변수가 -w 2 로 설정된 경우 EgressIP은 기본 프로세스에서 들어오는 연결을 처리하는 두 개의 별도의 프로세스를 시작합니다. 특히 요구 사항에 따라 가상 CPU 수를 쉽게 추가하거나 제거할 수 있는 가상 환경에서 이 값을 조정할 수 있습니다. 포트 88에서 TCP/IP 대기열이 지속적으로 증가하여 성능 문제가 응답하지 않도록 하기 위해 KRB5KDC_ARGS 매개변수를 수동으로 설정하여 더 많은 수의 프로세스를 시뮬레이션합니다.
절차
-
텍스트 편집기에서
/etc/sysconfig/krb5kdc파일을 엽니다. KRB5KDC_ARGS매개변수 값을 지정합니다. 이 예제에서는 프로세스 수를 10으로 설정하고 있습니다.KRB5KDC_ARGS='-w 10' [...]
KRB5KDC_ARGS='-w 10' [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/sysconfig/krb5kdc파일을 저장하고 종료합니다. systemd 구성을 다시 로드합니다.
systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow krb5kdc서비스를 다시 시작합니다.systemctl restart krb5kdc.service
# systemctl restart krb5kdc.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
IdM 상태 점검 유틸리티를 사용하여 KDC가 최적의 작업자 프로세스 수를 사용하도록 구성되어 있는지 확인할 수 있습니다. IdM 상태 점검을 사용하여 KDC 작업자 프로세스의 최적 수 확인을 참조하십시오.
9장. 대규모 IdM-AD 신뢰 배포에 대해 SSSD 성능 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
사용자 및 그룹 정보를 검색하는 것은 특히 대규모 AD(Active Directory) 도메인에 대한 신뢰가 있는 IdM 배포에서 SSSD(System Security Services Daemon)를 위한 매우 데이터 집약적인 작업입니다. ID 공급자에서 SSSD를 검색하는 정보 및 기간을 조정하여 이 성능을 개선할 수 있습니다.
9.1. 대규모 IdM-AD 신뢰 배포를 위해 IdM 서버에서 SSSD 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
IdM 서버의 SSSD 서비스 구성에 튜닝 옵션을 적용하여 대규모 AD 환경에서 정보를 검색할 때 응답 시간을 개선합니다.
사전 요구 사항
-
/etc/sssd/sssd.conf설정 파일을 편집하려면루트권한이 필요합니다.
절차
-
텍스트 편집기에서
/etc/sssd/sssd.conf설정 파일을 엽니다. IdM(Identity Management) 도메인의
[domain]섹션에 다음 옵션을 추가합니다.[domain/<idm_domain_name>] ignore_group_members = true subdomain_inherit = ignore_group_members ...
[domain/<idm_domain_name>] ignore_group_members = true subdomain_inherit = ignore_group_members ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고subdomain_inherit옵션에 나열된 설정은 기본(IdM) 도메인과 신뢰할 수 있는 AD 도메인에 모두 적용됩니다.-
서버의
/etc/sssd/sssd.conf파일을 저장하고 닫습니다. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.
systemctl restart sssd
[root@client ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. IdM 서버에서 ipa-extdom 플러그인의 구성 시간 초과 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트는 Active Directory(AD)에서 사용자 및 그룹에 대한 정보를 직접 수신할 수 없으므로 IdM 서버는 ipa-extdom 플러그인을 사용하여 AD 사용자 및 그룹에 대한 정보를 수신하고 해당 정보를 요청 클라이언트로 전달합니다.
ipa-extdom 플러그인은 AD 사용자에 대한 데이터에 대한 요청을 SSSD에 보냅니다. 정보가 SSSD 캐시에 없는 경우 SSSD는 AD 도메인 컨트롤러(DC)의 데이터를 요청합니다. 플러그인에서 연결을 취소하고 시간 초과 오류를 호출자에게 반환하기 전에 ipa-extdom 플러그인이 SSSD에서 응답을 기다리는 시간을 정의하는 구성 시간 초과 값을 조정할 수 있습니다. 기본값은 10000밀리초(10초)입니다.
다음 예제에서는 구성 시간 제한을 20초(20000밀리초)로 조정합니다.
구성 시간 초과를 조정할 때 주의하십시오.
- 500밀리초와 같이 너무 작은 값을 설정하면 SSSD에 응답하기에 시간이 충분하지 않을 수 있으므로 항상 시간 초과를 반환합니다.
- 30000밀리초(30초)와 같이 크기가 너무 큰 값을 설정하면 단일 요청이 이 시간 동안 SSSD에 대한 연결을 차단할 수 있습니다. 한 번에 하나의 스레드만 SSSD에 연결할 수 있으므로 플러그인의 다른 모든 요청은 기다려야 합니다.
- IdM 클라이언트에서 전송한 요청이 많은 경우 IdM 서버에서 Directory Server에 대해 구성된 사용 가능한 모든 작업자를 차단할 수 있습니다. 결과적으로 서버는 일정 시간 동안 어떤 종류의 요청에도 응답하지 못할 수 있습니다.
다음과 같은 경우 구성 시간 초과를 변경만 합니다.
- IdM 클라이언트가 AD 사용자 및 그룹에 대한 정보를 요청할 때 자체 검색 시간 초과에 도달하기 전에 종종 시간 초과 오류를 수신하는 경우 구성 시간 초과 값이 너무 작습니다.
-
IdM 서버의 Directory Server가 잠기고
pstack유틸리티에서 현재ipa-extdom요청을 처리하는 데 많은 또는 모든 작업자 스레드가 보고되는 경우 값이 너무 큽니다.
사전 요구 사항
- LDAP Directory Manager 암호
절차
다음 명령을 사용하여 구성 시간 제한을 20,000밀리초로 조정합니다.
ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssTimeout ipaExtdomMaxNssTimeout: 20000
# ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssTimeout ipaExtdomMaxNssTimeout: 20000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3. IdM 서버에서 ipa-extdom 플러그인의 최대 버퍼 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트는 Active Directory(AD)에서 사용자 및 그룹에 대한 정보를 직접 수신할 수 없으므로 IdM 서버는 ipa-extdom 플러그인을 사용하여 AD 사용자 및 그룹에 대한 정보를 수신하고 해당 정보를 요청 클라이언트로 전달합니다.
ipa-extdom 플러그인의 최대 버퍼 크기를 조정하여 SSSD가 수신한 데이터를 저장할 수 있는 버퍼 크기를 조정할 수 있습니다. 버퍼가 너무 작으면 SSSD에서 ERANGE 오류를 반환하고 플러그인은 더 큰 버퍼로 요청을 다시 시도합니다. 기본 버퍼 크기는 134217728바이트(128MB)입니다.
다음 예제에서는 최대 버퍼 크기를 256MB(268435456바이트)로 조정합니다.
사전 요구 사항
- LDAP Directory Manager 암호
절차
다음 명령을 사용하여 최대 버퍼 크기를 268435456바이트로 설정합니다.
ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssBufSize ipaExtdomMaxNssBufSize: 268435456
# ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssBufSize ipaExtdomMaxNssBufSize: 268435456Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.4. IdM 서버의 ipa-extdom 플러그인의 최대 인스턴스 수 조정 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트는 AD(Active Directory)에서 사용자 및 그룹에 대한 정보를 직접 수신할 수 없으므로, IdM 서버는 ipa-extdom 플러그인을 사용하여 AD 사용자 및 그룹에 대한 정보를 수신한 다음 요청 클라이언트에 이 정보를 전달합니다.
기본적으로 ipa-extdom 플러그인은 LDAP 작업자 스레드 중 최대 80%를 사용하여 IdM 클라이언트의 요청을 처리하도록 구성됩니다. IdM 클라이언트의 SSSD 서비스에서 AD 신뢰 사용자 및 그룹에 대한 많은 정보를 요청한 경우 대부분의 LDAP 스레드를 사용하는 경우 이 작업을 수행하면 LDAP 서비스가 중단될 수 있습니다. 이러한 문제가 발생하면 AD 도메인의 SSSD 로그 파일에 /var/log/sssd__<your-ad-domain-name.com>_.log :과 유사한 오류가 표시될 수 있습니다.
(2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_get_user_done] (0x0040): s2n exop request failed. (2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_get_user_done] (0x0040): s2n exop request failed. (2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_exop_done] (0x0040): ldap_extended_operation result: Server is busy(51), Too many extdom instances running.
(2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_get_user_done] (0x0040): s2n exop request failed.
(2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_get_user_done] (0x0040): s2n exop request failed.
(2022-05-22 5:00:13): [be[ad.example.com]] [ipa_s2n_exop_done] (0x0040): ldap_extended_operation result: Server is busy(51), Too many extdom instances running.
ipaExtdomMaxInstances 옵션의 값을 설정하여 ipa-extdom 인스턴스 최대 인스턴스 수를 조정할 수 있습니다. 이는 총 작업자 스레드 수보다 크고 0보다 작은 정수여야 합니다.
사전 요구 사항
- LDAP Directory Manager 암호
절차
총 작업자 스레드 수를 검색합니다.
ldapsearch -xLLLD cn=Directory\ Manager -W -b cn=config -s base nsslapd-threadnumber Enter LDAP Password: dn: cn=config nsslapd-threadnumber: 16
# ldapsearch -xLLLD cn=Directory\ Manager -W -b cn=config -s base nsslapd-threadnumber Enter LDAP Password: dn: cn=config nsslapd-threadnumber: 16Copy to Clipboard Copied! Toggle word wrap Toggle overflow 즉,
ipaExtdomMaxInstances의 현재 값은 13입니다.최대 인스턴스 수를 조정합니다. 이 예제에서는 값을 14로 변경합니다.
ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxInstances ipaExtdomMaxInstances: 14
# ldapmodify -D "cn=Directory Manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxInstances ipaExtdomMaxInstances: 14Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipaExtdomMaxInstances의 현재 값을 검색합니다.ldapsearch -xLLLD "cn=Directory Manager" -W -b "cn=ipa_extdom_extop,cn=plugins,cn=config" |grep ipaextdommaxinstances Enter LDAP Password: ipaextdommaxinstances: 14
# ldapsearch -xLLLD "cn=Directory Manager" -W -b "cn=ipa_extdom_extop,cn=plugins,cn=config" |grep ipaextdommaxinstances Enter LDAP Password: ipaextdommaxinstances: 14Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
IdM Directory 서버의 성능을 모니터링하고 개선하지 않으면 이 절차를 반복하고
ipaExtdomMaxInstances변수의 값을 조정합니다.
9.5. IdM-AD 신뢰 배포를 위해 IdM 클라이언트에 SSSD 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
IdM 클라이언트의 SSSD 서비스 구성에 튜닝 옵션을 적용하여 대규모 AD 환경에서 정보를 검색할 때 응답 시간을 개선합니다.
사전 요구 사항
-
/etc/sssd/sssd.conf설정 파일을 편집하려면루트권한이 필요합니다.
절차
단일 캐시되지 않은 로그인에 걸리는 시간(초)을 확인합니다.
IdM 클라이언트에서 SSSD 캐시를 지웁니다.
sss_cache -E
[root@client_hostname ~]# sss_cache -ECopy to Clipboard Copied! Toggle word wrap Toggle overflow time 명령을 사용하여 AD 사용자의 로그인
시간을측정합니다. IdM 클라이언트에서 동일한 호스트에 로그인하여 AD 사용자로 로컬로 인증합니다.time ssh <ad_username>@<ad_domain>@<client_fqdn>
[root@client_hostname ~]# time ssh <ad_username>@<ad_domain>@<client_fqdn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가능한 한 빨리 암호를 입력합니다.
Password: Last login: Sat Jan 23 06:29:54 2021 from 10.0.2.15 [ad_username@ad_domain@client_fqdn ~]$
Password: Last login: Sat Jan 23 06:29:54 2021 from 10.0.2.15 [ad_username@ad_domain@client_fqdn ~]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가능한 한 빨리 로그아웃하여 경과 시간을 표시합니다. 이 예에서는 캐시되지 않은 단일 로그인에는 약
9초가 걸립니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
텍스트 편집기에서
/etc/sssd/sssd.conf설정 파일을 엽니다. Active Directory 도메인의
[domain]섹션에 다음 옵션을 추가합니다.pam_id_timeout및krb5_auth_timeout옵션을 캐시되지 않은 로그인에 사용하는 시간(초)으로 설정합니다. AD 도메인의 도메인 섹션이 아직 없는 경우 새로 생성합니다.[domain/<idm_domain>/<ad_domain>] krb5_auth_timeout = 9 ldap_deref_threshold = 0 ...
[domain/<idm_domain>/<ad_domain>] krb5_auth_timeout = 9 ldap_deref_threshold = 0 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow [pam]섹션에 다음 옵션을 추가합니다.[pam] pam_id_timeout = 9
[pam] pam_id_timeout = 9Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
서버의
/etc/sssd/sssd.conf파일을 저장하고 닫습니다. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.
systemctl restart sssd
[root@client_hostname ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.6. tmpfs에 SSSD 캐시 마운트 링크 복사링크가 클립보드에 복사되었습니다!
SSSD(System Security Services Daemon)는 지속적으로 LDAP 오브젝트를 캐시에 작성합니다. 이러한 내부 SSSD 트랜잭션은 디스크에 데이터를 쓰며 RAM(Random-Access Memory)을 읽고 쓰는 것보다 훨씬 더 느립니다.
이 성능을 개선하기 위해 RAM에 SSSD 캐시를 마운트합니다.
고려 사항
- SSSD 캐시가 RAM에 있으면 캐시된 정보는 재부팅 후에도 유지되지 않습니다.
- IdM 서버의 SSSD 인스턴스가 동일한 호스트의 Directory Server와의 연결이 끊어질 수 없으므로 IdM 서버에서 이러한 변경 사항을 수행하는 것이 안전합니다.
- IdM 클라이언트에서 이러한 조정을 수행하고 IdM 서버 연결이 끊어지면 연결을 재설정할 때까지 재부팅 후 사용자가 인증할 수 없습니다.
사전 요구 사항
-
/etc/fstab구성 파일을 편집하려면root권한이 필요합니다.
절차
tmpfs임시 파일 시스템을 생성합니다.SSSD 사용자가
config.ldb파일을 소유하고 있는지 확인합니다.ls -al /var/lib/sss/db/config.ldb -rw-------. 1 sssd sssd 1286144 Jun 8 16:41 /var/lib/sss/db/config.ldb
# ls -al /var/lib/sss/db/config.ldb -rw-------. 1 sssd sssd 1286144 Jun 8 16:41 /var/lib/sss/db/config.ldbCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstab파일에 다음 항목을 한 줄로 추가합니다.tmpfs /var/lib/sss/db/ tmpfs size=300M,mode=0700,uid=sssd,gid=sssd,rootcontext=system_u:object_r:sssd_var_lib_t:s0 0 0
tmpfs /var/lib/sss/db/ tmpfs size=300M,mode=0700,uid=sssd,gid=sssd,rootcontext=system_u:object_r:sssd_var_lib_t:s0 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 300MB 캐시를 생성합니다. IdM 및 AD 디렉터리 크기에 따라
size매개변수를 튜닝하고 10,000개의 LDAP 항목당 100MB를 추정합니다.
새 SSSD 캐시 디렉터리를 마운트합니다.
mount /var/lib/sss/db/
[root@host ~]# mount /var/lib/sss/db/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 설정 변경 사항을 반영하려면 SSSD를 다시 시작합니다.
systemctl restart sssd
[root@host ~]# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.7. 대규모 IdM-AD 신뢰 배포를 위해 IdM 서버 및 클라이언트 튜닝을 위한 sssd.conf 의 옵션 링크 복사링크가 클립보드에 복사되었습니다!
IdM-AD 신뢰 배포가 큰 경우 /etc/sssd/sssd.conf 구성 파일에서 다음 옵션을 사용하여 IdM 서버 및 클라이언트에서 SSSD의 성능을 조정할 수 있습니다.
9.7.1. IdM 서버에 대한 옵션 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
- ignore_group_members
그룹에 속한 모든 사용자와 달리 사용자가 속한 그룹을 인식하는 것이 사용자를 인증하고 승인할 때 중요합니다.
ignore_group_members가true로 설정된 경우 SSSD는 그룹 오브젝트에 대한 정보만 검색하고 해당 멤버가 아닌 해당 멤버에 대한 정보만 검색하여 상당한 성능 향상을 제공합니다.참고id user@ad-domain.com명령은 여전히 올바른 그룹 목록을 반환하지만getent 그룹 ad-group@ad-domain.com은 빈 목록을 반환합니다.Expand 기본값
false권장 값
true참고배포에 호환 트리가 있는 IdM 서버가 포함된 경우 이 옵션을
true로 설정하지 않아야 합니다.- subdomain_inherit
subdomain_inherit옵션을 사용하면 신뢰할 수 있는 AD 도메인 구성에ignore_group_members설정을 적용할 수 있습니다.subdomain_inherit옵션에 나열된 설정은 기본 (IdM) 도메인 및 AD 하위 도메인에 모두 적용됩니다.Expand 기본값
none권장 값
subdomain_inherit = ignore_group_members
9.7.2. IdM 클라이언트에 대한 옵션 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
- pam_id_timeout
이 매개 변수는 ID 조회 중에 ID 공급자에 대한 과도한 왕복을 방지하기 위해 PAM 세션의 결과가 캐시되는 기간을 제어합니다. IdM 서버 및 IdM 클라이언트 측에 복잡한 그룹 멤버십이 채워지는 환경에서
5초의 기본값이 충분하지 않을 수 있습니다. Red Hat은pam_id_timeout을 캐시되지 않은 단일 로그인에 걸리는 시간(초)으로 설정하는 것이 좋습니다.Expand 기본값
5권장 값
캐시되지 않은 단일 로그인에 사용되는 시간(초)- krb5_auth_timeout
krb5_auth_timeout을 늘리면 사용자가 많은 그룹의 멤버인 환경에서 복잡한 그룹 정보를 처리할 수 있습니다. Red Hat은 캐시되지 않은 단일 로그인에 걸리는 시간(초)으로 이 값을 설정하는 것이 좋습니다.Expand 기본값
6권장 값
캐시되지 않은 단일 로그인에 사용되는 시간(초)- ldap_deref_threshold
역참조 조회는 단일 LDAP 호출에서 모든 그룹 멤버를 가져오는 수단입니다.
ldap_deref_threshold값은 역참조 조회를 트리거하기 위해 내부 캐시에서 누락해야 하는 그룹 멤버 수를 지정합니다. 멤버가 부족한 경우 개별적으로 조회됩니다. 역참조 조회는 대규모 환경에서 오랜 시간이 걸릴 수 있으며 성능이 저하될 수 있습니다. 역참조 조회를 비활성화하려면 이 옵션을0으로 설정합니다.Expand 기본값
10권장 값
0
10장. WSGI 프로세스 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
장기 실행 API 프로세스로 인해 요청 오류가 발생하는 경우 이러한 API 프로세스는 튜닝의 이점을 얻을 수 있습니다.
기본적으로 IPA는 64비트 시스템의 API 서비스에 대해 4개의 WSGI(Web Server Gateway Interface) 프로세스를 할당합니다. 이러한 기본 제한은 메모리 보존을 위해 4개의 프로세스로 구현됩니다. WSGI 프로세스 수를 늘리면 더 많은 CPU 사용 및 메모리 소비를 희생할 수 있습니다. 기본적으로 IPA는 WSGI 프로세스당 API에 약 100~ 110MB의 상주 메모리를 사용합니다. 권장 한도인 16개의 프로세스로 튜닝하면 용량은 약 1.3GB입니다.
절차
/etc/httpd/conf.d/ipa.conf파일에서 processes 값을 수정합니다.WSGIDaemonProcess ipa processes=<4> threads=1 maximum-requests=500 \
WSGIDaemonProcess ipa processes=<4> threads=1 maximum-requests=500 \Copy to Clipboard Copied! Toggle word wrap Toggle overflow
장기 실행 API 끝점 중 하나가 조정의 이점을 얻을 수 있습니다. 이 튜닝 결정은 사용자가 만드는 것입니다.
예를 들어 OpenStack 설치는 여러 서비스를 포함하는 여러 컨트롤러로 구성됩니다. 각 서비스는 모든 내부 통신이 TLS(Transport Layer Security)를 통해 이루어지도록 인증서를 요청합니다. 컨트롤러 또는 컴퓨팅 노드를 설치하거나 새로 고치면 이러한 인증서를 요청하거나 새로 고칠 수 있습니다. 여러 컨트롤러 또는 컴퓨팅 노드와 관련된 시나리오에서는 인증서 요청 볼륨이 상당히 커질 수 있습니다. 이러한 요청은 자동화되므로 거의 동시에 발생합니다. WSGI 스레드 수를 늘리면 설치가 완료될 수 있습니다.
10.1. IPA 서버 성능을 개선하기 위해 CPU 사용량 최적화 링크 복사링크가 클립보드에 복사되었습니다!
대용량 인증서 발급 작업 중에 성능 제한이 발생하면 CPU 및 WSGI(Web Server Gateway Interface) 프로세스 수를 조정하면 동시 요청을 처리하는 IPA 서버의 기능을 크게 향상시킬 수 있습니다.
4개의 CPU와 70개의 클라이언트로 구성된 서버에서 각각 7개의 인증서를 요청하는 서버(490개)를 통해 요청 볼륨이 서버의 처리 용량을 초과하면 서버 시간 초과가 발생했습니다.
CPU 수를 8개로 늘리고 WSGI 프로세스 수를 8개로 늘리면 인증서 처리 용량을 630개의 인증서로 늘어났습니다. CPU 수가 100% 늘어남에도 4개의 CPU 구성보다 2 percent 증가합니다. CPU 수를 16으로 추가로 늘리면 8 WSGI 프로세스로만 성능 향상이 발생하지 않았습니다. 그러나 WSGI 프로세스 수를 16으로 늘리면 서버는 110개의 클라이언트와 함께 770개의 인증서를 처리하여 8 CPU 설정보다 22% 개선되었습니다.
평균적으로 CPU 수를 두 배로 늘리면 WSGI 프로세스가 적절하게 튜닝된 한 인증서 발행 용량이 25% 증가했습니다. 이를 통해 병목 현상을 방지하고 서버 성능을 최적화하기 위해 CPU 및 WSGI 프로세스를 함께 스케일링해야 할 필요성이 강조됩니다.