13.2. 대규모 변경 로그의 크기를 수동으로 줄입니다.

복제 변경 로그 트리밍이 활성화되지 않은 경우와 같은 특정 상황에서는 변경 로그가 과도하게 큰 크기로 증가할 수 있습니다. 이 문제를 해결하려면 수동으로 변경 로그 크기를 줄일 수 있습니다.

다음 절차에서는 dc=example,dc=com 접미사의 변경 로그를 트리밍하는 방법을 설명합니다. 공급자에게 이 절차를 수행하십시오.

사전 요구 사항

  • dc=example,dc=com 접미사에 대한 복제를 활성화했습니다.

절차

  1. 선택 사항: 변경 로그 크기를 표시합니다.

    1. dc=example,dc=com 접미사의 백엔드 데이터베이스를 확인합니다.

      # dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list
      dc=example,dc=com (userroot)

      대괄호로 있는 이름은 해당 접미사의 데이터를 저장하는 백엔드 데이터베이스입니다.

    2. userroot 백엔드의 changelog 파일의 크기를 표시합니다.

      # ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
      -rw-------. 1 dirsrv dirsrv 517M Jul  5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
  2. 변경 로그 크기를 단축한 후 매개변수를 재설정할 수 있도록 하려면 해당 매개변수의 현재 값을 표시하고 기록해 둡니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication get-changelog --suffix "dc=example,dc=com"
    dn: cn=changelog,cn=userroot,cn=ldbm database,cn=plugins,cn=config
    cn: changelog
    nsslapd-changelogmaxage: 4w
    nsslapd-changelogtrim-interval: 300

    출력에 특정 속성이 표시되지 않으면 Directory Server에서 기본값을 사용합니다.

  3. 임시로 trimming 관련 매개변수를 줄입니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "300s" --max-entries 500 --trim-interval 60
    중요

    성능상의 이유로 너무 짧은 간격 설정을 영구적으로 사용하지 마십시오.

  4. --trim-interval 매개변수에 설정된 시간이 만료될 때까지 기다립니다.
  5. 디스크 공간을 복구하려면 changelog를 압축하십시오.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com backend compact-db --only-changelog
  6. 일시적으로 감소하기 전에 보유 값으로 changelog 매개변수를 재설정하십시오.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com replication set-changelog --suffix "dc=example,dc=com" --max-age "4w" --trim-interval 300

검증

  • 변경 로그 크기를 표시합니다.

    # ls -lh /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db
    -rw-------. 1 dirsrv dirsrv 12M Jul  5 12:58 /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db