Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9장. ID 관리 백업 및 복원

Red Hat Enterprise Linux Identity Management는 서버가 올바르게 수행하지 않거나 데이터 손실이 발생하는 경우와 같이 IdM 시스템을 수동으로 백업 및 복원하는 솔루션을 제공합니다. 백업 중에 시스템은 IdM 설정에 대한 정보가 포함된 디렉터리를 생성하고 저장합니다. 복원 중에 이 백업 디렉터리를 사용하여 원래 IdM 설정을 다시 가져올 수 있습니다.
중요
이 장에서 설명하는 백업 및 복원 프로시저는 나머지 복제본의 복제본으로 다시 설치하여 배포에 있는 나머지 서버에서 IdM 서버 그룹의 손실 부분을 다시 빌드할 수 없는 경우에만 사용합니다.
"Id/IPA의 백업 및 복원" 기술 자료 솔루션은 여러 서버 복제본을 유지 관리하여 손실을 방지하는 방법을 설명합니다. 백업 버전에는 일반적으로 오래되고 잠재적으로 오래된 정보가 포함되어 있으므로 동일한 데이터로 기존 복제본을 다시 빌드하는 것이 좋습니다.
백업 및 복원이 방지할 수 있는 잠재적 위협 시나리오는 다음과 같습니다.
  • 시스템에서 치명적인 하드웨어 장애가 발생하여 시스템이 추가로 작동할 수 없게 됩니다. 이 경우 다음을 수행합니다.
    1. 운영 체제를 처음부터 다시 설치합니다.
    2. 동일한 호스트 이름, FQDN(정규화된 도메인 이름) 및 IP 주소로 시스템을 구성합니다.
    3. IdM 패키지 및 원래 시스템에 있는 IdM과 관련된 기타 모든 선택적 패키지를 설치합니다.
    4. IdM 서버의 전체 백업을 복원합니다.
  • 격리된 시스템의 업그레이드가 실패합니다. 운영 체제는 계속 작동하지만 IdM 데이터가 손상되어 IdM 시스템을 알려진 양호한 상태로 복원해야 합니다.
    중요
    위에서 언급한 두 가지와 같은 하드웨어 또는 업그레이드 실패의 경우, 유일한 CA(인증 기관)와 같은 특별한 역할의 복제본 또는 복제본이 손실된 경우에만 백업에서 복원됩니다. 동일한 데이터가 있는 복제본이 계속 존재하는 경우 손실된 복제본을 삭제한 다음 나머지 복제본에서 다시 빌드하는 것이 좋습니다.
  • 예를 들어 항목과 같이 LDAP 콘텐츠에 적절하지 않은 변경이 수행되었으며 되돌리려는 경우입니다. 백업된 LDAP 데이터를 복원하면 IdM 시스템 자체에 영향을 주지 않고 LDAP 항목을 이전 상태로 반환합니다.
복원된 서버는 IdM에 대한 정보의 유일한 소스가 됩니다. 다른 마스터 서버는 복원된 서버에서 다시 초기화됩니다. 마지막 백업 후에 생성된 모든 데이터는 손실됩니다. 따라서 정상적인 시스템 유지 관리를 위해 백업 및 복원 솔루션을 사용해서는 안 됩니다. 가능한 경우 항상 복제본으로 다시 설치하여 손실된 서버를 다시 빌드합니다.
백업 및 복원 기능은 명령줄에서만 관리할 수 있으며 IdM 웹 UI에서 사용할 수 없습니다.

9.1. 전체 서버 백업 및 데이터 전용 백업

IdM은 다음 두 가지 백업 옵션을 제공합니다.
Full-IdM 서버 백업
전체 서버 백업은 모든 IdM 서버 파일과 LDAP 데이터의 백업 사본을 생성하여 독립 실행형 백업으로 만듭니다. IdM은 수백 개의 파일에 영향을 미칩니다. 백업 프로세스 사본이 구성 파일 또는 로그 파일과 같은 전체 디렉토리와 특정 파일이 혼합되어 있으며 IdM 또는 IdM이 의존하는 다양한 서비스와 직접 연결됩니다. 전체 서버 백업은 원시 파일 백업이므로 오프라인으로 수행됩니다. 전체 서버 백업을 수행하는 스크립트는 모든 IdM 서비스를 중지하여 안전한 백업 프로세스를 보장합니다.
전체 서버 백업이 복사하는 파일 및 디렉터리의 전체 목록은 9.1.3절. “백업 중에 복사된 디렉토리 및 파일 목록” 를 참조하십시오.
데이터 전용 백업
데이터 전용 백업은 LDAP 데이터 및 변경 로그의 백업 사본만 생성합니다. 프로세스는 IPA-REALM 인스턴스를 백업하고 여러 백엔드 또는 단일 백엔드만 백업할 수 있습니다. 백엔드에는 IPA 백엔드와 CA Dogtag 백엔드가 포함됩니다. 이 유형의 백업은 LDIF(LDAP 데이터 교환 형식)에 저장된 LDAP 콘텐츠 레코드도 백업합니다. 데이터 전용 백업은 온라인과 오프라인으로 모두 수행할 수 있습니다.
기본적으로 IdM은 생성된 백업을 /var/lib/ipa/backup/ 디렉터리에 저장합니다. 백업이 포함된 하위 디렉터리의 명명 규칙은 다음과 같습니다.
  • ipa-full-Yovn-MM-DD-HH-MM-SS (전체 서버 백업의 GMT 시간대의 HH-MM-SS)
  • ipa-data-Yovn-MM-DD-HH-MM-SS (데이터 전용 백업의 GMT 표준시)

9.1.1. 백업 생성

전체 서버 및 데이터 전용 백업은 항상 root로 실행해야 하는 ipa-backup 유틸리티를 사용하여 생성됩니다.
전체 서버 백업을 생성하려면 ipa-backup 을 실행합니다.
중요
프로세스가 오프라인으로 실행되어야 하므로 전체 서버 백업을 수행하면 모든 IdM 서비스가 중지됩니다. 백업이 완료되면 IdM 서비스가 다시 시작됩니다.
데이터 전용 백업을 생성하려면 ipa-backup --data 명령을 실행합니다.
ipa-backup 에 몇 가지 추가 옵션을 추가할 수 있습니다.
  • --online 은 온라인 백업을 수행합니다. 이 옵션은 데이터 전용 백업에서만 사용할 수 있습니다.
  • --logs 에는 백업에 IdM 서비스 로그 파일이 포함되어 있습니다.
ipa-backup 사용에 대한 자세한 내용은 ipa-backup(1) 매뉴얼 페이지를 참조하십시오.

9.1.1.1. 백업 중 볼륨 Insufficient Space onvolved During Backup

이 섹션에서는 IdM 백업 프로세스와 관련된 디렉터리가 사용 가능한 공간이 충분하지 않은 볼륨에 저장된 경우 문제를 해결하는 방법을 설명합니다.

/var/lib/ipa/backup/을 포함하는 볼륨의 공간이 충분하지 않습니다.

사용 가능한 공간이 충분하지 않은 볼륨에 /var/lib/ipa/backup/ 디렉터리가 저장된 경우 백업을 생성할 수 없습니다. 이 문제를 해결하려면 다음 해결 방법 중 하나를 사용하십시오.
  • 다른 볼륨에 디렉터리를 만들고 /var/lib/ipa/backup/ 에 연결합니다. 예를 들어 /home 이 충분한 여유 공간이 있는 다른 볼륨에 저장된 경우:
    1. /home/idm/backup/ 와 같은 디렉토리를 만듭니다.
      # mkdir -p /home/idm/backup/
    2. 다음 권한을 디렉터리로 설정합니다.
      # chown root:root /home/idm/backup/
      # chmod 700 /home/idm/backup/
    3. /var/lib/ipa/backup/ 에 기존 백업이 포함된 경우 새 디렉터리로 이동합니다.
      # mv /var/lib/ipa/backup/* /home/idm/backup/
    4. /var/lib/ipa/backup/ 디렉토리를 삭제합니다.
      # rm -rf /var/lib/ipa/backup/
    5. /home/idm/backup/ 디렉토리에 대한 /var/lib/ipa/backup/ 링크를 만듭니다.
      # ln -s /home/idm/backup/ /var/lib/ipa/backup/
  • 다른 볼륨에 저장된 디렉터리를 /var/lib/ipa/backup/ 에 마운트합니다. 예를 들어 /home 이 충분한 여유 공간이 있는 다른 볼륨에 저장된 경우 /home/idm/backup/ 을 생성하고 /var/lib/ipa/backup/ 에 마운트합니다.
    1. /home/idm/backup/ 디렉토리를 만듭니다.
      # mkdir -p /home/idm/backup/
    2. 다음 권한을 디렉터리로 설정합니다.
      # chown root:root /home/idm/backup/
      # chmod 700 /home/idm/backup/
    3. /var/lib/ipa/backup/ 에 기존 백업이 포함된 경우 새 디렉터리로 이동합니다.
      # mv /var/lib/ipa/backup/* /home/idm/backup/
    4. /home/idm/backup//var/lib/ipa/backup/ 에 마운트합니다.
      # mount -o bind /home/idm/backup/ /var/lib/ipa/backup/
    5. 시스템이 부팅될 때 /home/idm/backup//var/lib/ipa/backup/ 에 자동으로 마운트하려면 /etc/fstab 파일에 다음을 추가합니다.
      /home/idm/backup/     /var/lib/ipa/backup/     none     bind     0 0

/tmp를 포함하는 볼륨의 공간이 충분하지 않음

/tmp 디렉토리에서 사용 가능한 공간이 부족하여 백업이 실패하는 경우 TMPDIR 환경 변수를 사용하여 백업 중에 생성할 준비 파일의 위치를 변경합니다.
# TMPDIR=/path/to/backup ipa-backup

9.1.2. 백업 암호화

GPG(GNU Privacy Guard) 암호화를 사용하여 IdM 백업을 암호화할 수 있습니다.
GPG 키를 생성하려면 다음을 수행합니다.
  1. 키 세부 정보가 포함된 keygen 파일을 만듭니다(예: cat >keygen="EOF )을 실행하고 명령줄에서 필요한 암호화 세부 정보를 파일에 제공합니다.
    [root@server ~]# cat >keygen <<EOF
    > %echo Generating a standard key
    > Key-Type: RSA
    > Key-Length:2048
    > Name-Real: IPA Backup
    > Name-Comment: IPA Backup
    > Name-Email: root@example.com
    > Expire-Date: 0
    > %pubring /root/backup.pub
    > %secring /root/backup.sec
    > %commit
    > %echo done
    > EOF
    [root@server ~]#
  2. backup 이라는 새 키 쌍을 생성하고 keygen 의 내용을 명령에 제공합니다. 다음 예제에서는 경로 이름이 /root/backup.sec/root/backup.pub 인 키 쌍을 생성합니다.
    [root@server ~]# gpg --batch --gen-key keygen
    [root@server ~]# gpg --no-default-keyring --secret-keyring /root/backup.sec \
    		     --keyring /root/backup.pub --list-secret-keys
GPG 암호화 백업을 만들려면 다음 옵션을 제공하여 생성된 백업 키를 ipa-backup 에 전달합니다.
  • --GP G , 암호화된 백업을 수행하기 위해 ipa-backup 에 지시합니다.
  • --GPG-keyring=GPG_KEYRING 은 파일 확장자 없이 GPG 키링에 대한 전체 경로를 제공합니다.
예를 들어 다음과 같습니다.
[root@server ~]# ipa-backup --gpg --gpg-keyring=/root/backup
참고
gpg2 유틸리티를 사용하여 GPG 키를 생성하는 경우 시스템에 외부 프로그램이 작동해야 하므로 문제가 발생할 수 있습니다. 이 경우 콘솔에서 키를 순전히 생성하려면 키를 생성하기 전에 pinentry-program /usr/bin/pinentry-curses 행을 .gnupg/gpg-agent.conf 파일에 추가하십시오.

9.1.3. 백업 중에 복사된 디렉토리 및 파일 목록

디렉터리:
/usr/share/ipa/html
/root/.pki
/etc/pki-ca
/etc/pki/pki-tomcat
/etc/sysconfig/pki
/etc/httpd/alias
/var/lib/pki
/var/lib/pki-ca
/var/lib/ipa/sysrestore
/var/lib/ipa-client/sysrestore
/var/lib/ipa/dnssec
/var/lib/sss/pubconf/krb5.include.d/
/var/lib/authconfig/last
/var/lib/certmonger
/var/lib/ipa
/var/run/dirsrv
/var/lock/dirsrv
파일:
/etc/named.conf
/etc/named.keytab
/etc/resolv.conf
/etc/sysconfig/pki-ca
/etc/sysconfig/pki-tomcat
/etc/sysconfig/dirsrv
/etc/sysconfig/ntpd
/etc/sysconfig/krb5kdc
/etc/sysconfig/pki/ca/pki-ca
/etc/sysconfig/ipa-dnskeysyncd
/etc/sysconfig/ipa-ods-exporter
/etc/sysconfig/named
/etc/sysconfig/ods
/etc/sysconfig/authconfig
/etc/ipa/nssdb/pwdfile.txt
/etc/pki/ca-trust/source/ipa.p11-kit
/etc/pki/ca-trust/source/anchors/ipa-ca.crt
/etc/nsswitch.conf
/etc/krb5.keytab
/etc/sssd/sssd.conf
/etc/openldap/ldap.conf
/etc/security/limits.conf
/etc/httpd/conf/password.conf
/etc/httpd/conf/ipa.keytab
/etc/httpd/conf.d/ipa-pki-proxy.conf
/etc/httpd/conf.d/ipa-rewrite.conf
/etc/httpd/conf.d/nss.conf
/etc/httpd/conf.d/ipa.conf
/etc/ssh/sshd_config
/etc/ssh/ssh_config
/etc/krb5.conf
/etc/ipa/ca.crt
/etc/ipa/default.conf
/etc/dirsrv/ds.keytab
/etc/ntp.conf
/etc/samba/smb.conf
/etc/samba/samba.keytab
/root/ca-agent.p12
/root/cacert.p12
/var/kerberos/krb5kdc/kdc.conf
/etc/systemd/system/multi-user.target.wants/ipa.service
/etc/systemd/system/multi-user.target.wants/sssd.service
/etc/systemd/system/multi-user.target.wants/certmonger.service
/etc/systemd/system/pki-tomcatd.target.wants/pki-tomcatd@pki-tomcat.service
/var/run/ipa/services.list
/etc/opendnssec/conf.xml
/etc/opendnssec/kasp.xml
/etc/ipa/dnssec/softhsm2.conf
/etc/ipa/dnssec/softhsm_pin_so
/etc/ipa/dnssec/ipa-ods-exporter.keytab
/etc/ipa/dnssec/ipa-dnskeysyncd.keytab
/etc/idm/nssdb/cert8.db
/etc/idm/nssdb/key3.db
/etc/idm/nssdb/secmod.db
/etc/ipa/nssdb/cert8.db
/etc/ipa/nssdb/key3.db
/etc/ipa/nssdb/secmod.db
로그 파일 및 디렉토리:
/var/log/pki-ca
/var/log/pki/
/var/log/dirsrv/slapd-PKI-IPA
/var/log/httpd
/var/log/ipaserver-install.log
/var/log/kadmind.log
/var/log/pki-ca-install.log
/var/log/messages
/var/log/ipaclient-install.log
/var/log/secure
/var/log/ipaserver-uninstall.log
/var/log/pki-ca-uninstall.log
/var/log/ipaclient-uninstall.log
/var/named/data/named.run