第 9 章 备份和恢复身份管理
Red Hat Enterprise Linux Identity Management 提供了手动备份和恢复 IdM 系统的解决方案,例如当服务器停止正确执行或数据丢失时。在备份过程中,系统会创建一个目录,其中包含您的 IdM 设置信息并存储它。在恢复过程中,您可以使用这个备份目录使原始 IdM 设置返回。
重要
只有在您无法从部署的其余部分中重建丢失的 IdM 服务器组部分时,才使用本章中描述的备份和恢复步骤,方法是重新安装丢失的副本作为剩余服务器的副本。
IdM/IPA 中的 "Backup 和 Restore in IdM/IPA"知识库解决方案 描述了如何通过维护多个服务器副本来避免损失。最好从具有相同数据的现有副本中重建,因为备份版本通常包含较旧的信息,因此可能会过期的信息。
备份和恢复可防止的潜在威胁情况包括:
- 机器上的灾难性硬件故障发生,机器变得无法进一步运行。在这种情况下:
- 从头开始重新安装操作系统。
- 配置相同主机名、完全限定域名(FQDN)和 IP 地址的计算机。
- 安装 IdM 软件包,以及与原始系统中存在的 IdM 相关的所有其他可选软件包。
- 恢复 IdM 服务器的完整备份。
- 在隔离的机器上进行升级会失败。操作系统仍然可以正常工作,但 IdM 数据已损坏,因此您要将 IdM 系统恢复到已知良好的状态。重要如果出现硬件或升级失败(如上述两项),只有在所有副本或具有特殊角色(如唯一证书颁发机构(CA))的副本都已丢失时才从备份中进行恢复。如果仍存在具有相同数据的副本,建议删除丢失的副本,然后将其从剩余副本中重建。
- 对 LDAP 内容进行了不必要的更改,例如删除了条目,您想要恢复它们。恢复备份的 LDAP 数据会将 LDAP 条目返回到之前的状态,而不影响 IdM 系统本身。
恢复的服务器成为 IdM 的唯一信息来源;其他 master 服务器是从恢复的服务器重新初始化的。最后一次备份后创建的所有数据都将丢失。因此,您不应该使用备份和恢复解决方案进行正常的系统维护。如果可能,请始终通过将丢失的服务器重新安装为副本来重建丢失的服务器。
备份和恢复功能只能从命令行管理,在 IdM Web UI 中不可用。
9.1. 仅备份全服务器备份和恢复 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
IdM 提供两个备份选项:
- 全 IdM 服务器备份
- 全服务器备份会创建所有 IdM 服务器文件的备份副本以及 LDAP 数据,这使其成为独立备份。IdM 会影响数百个文件;备份过程复制的文件是整个目录和特定文件(如配置文件或日志文件)的组合,并与 IdM 依赖的各种服务直接相关。由于全服务器备份是原始文件备份,因此它会脱机执行。执行 full-server 备份的脚本停止所有 IdM 服务,以确保备份过程的安全。有关完整服务器备份副本的文件和目录的完整列表,请查看 第 9.1.3 节 “备份期间目录和文件绑定列表”。
- 只数据备份
- 仅数据备份仅创建 LDAP 数据的备份副本以及 changelog。进程备份
IPA-REALM实例,也可以备份多个后端或只有一个后端;后端包括IPA后端和CA Dogtag后端。这种类型的备份还会备份以 LDIF(LDAP 数据交换格式)存储的 LDAP 内容记录。仅数据备份可以在线和脱机执行。
默认情况下,IdM 将创建的备份存储在
/var/lib/ipa/backup/ 目录中。包含备份的子目录的命名约定有:
ipa-full-YEAR-MM-DD-HH-MM-SS(全服务器备份)中的 ipa-full-YEAR-MM-DD-HH-MM-SSipa-data-YEAR-MM-DD-HH-MM-SS(仅数据备份)中的 ipa-data-YEAR-MM-DD-HH-MM-SS
9.1.1. 创建备份 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 ipa-backup 工具创建全服务器和仅数据备份,必须始终以 root 用户身份运行。
要创建全服务器备份,请运行 ipa-backup。
重要
执行全服务器备份会停止所有 IdM 服务,因为进程必须离线运行。IdM 服务将在备份完成后再次启动。
要创建仅数据备份,请运行 ipa-backup --data 命令。
您可以在 ipa-backup 中添加几个附加选项:
- --online 执行在线备份 ; 这个选项仅适用于仅数据备份
- --logs 在备份中包含 IdM 服务日志文件
有关使用 ipa-backup 的详情,请参考 ipa-backup(1) man page。
9.1.1.1. 在备份过程中,在卷不足时工作空间不足 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节论述了如何解决 IdM 备份过程中涉及的目录存储在空闲空间不足的卷中的问题。
卷中含有 /var/lib/ipa/backup/ 的空间不足
如果
/var/lib/ipa/backup/ 目录存储在空闲空间不足的卷中,则无法创建备份。要解决这个问题,请使用以下临时解决方案之一:
- 在不同的卷上创建一个目录,并将其链接到
/var/lib/ipa/backup/。例如,如果/home存储在有足够可用空间的不同卷中:- 创建目录,如
/home/idm/backup/:# mkdir -p /home/idm/backup/ - 将以下权限设置为该目录:
# chown root:root /home/idm/backup/ # chmod 700 /home/idm/backup/ - 如果
/var/lib/ipa/backup/包含现有的备份,请将其移到新目录中:# mv /var/lib/ipa/backup/* /home/idm/backup/ - 删除
/var/lib/ipa/backup/目录:# rm -rf /var/lib/ipa/backup/ - 创建
/var/lib/ipa/backup/链接到/home/idm/backup/目录:# ln -s /home/idm/backup/ /var/lib/ipa/backup/
- 将存储在不同卷上的目录挂载到
/var/lib/ipa/backup/。例如,如果/home存储在具有足够可用空间的不同卷中,请创建/home/idm/backup/,并将其挂载到/var/lib/ipa/backup/:- 创建
/home/idm/backup/目录:# mkdir -p /home/idm/backup/ - 将以下权限设置为该目录:
# chown root:root /home/idm/backup/ # chmod 700 /home/idm/backup/ - 如果
/var/lib/ipa/backup/包含现有的备份,请将其移到新目录中:# mv /var/lib/ipa/backup/* /home/idm/backup/ - 将
/home/idm/backup/挂载到/var/lib/ipa/backup/:# mount -o bind /home/idm/backup/ /var/lib/ipa/backup/ - 要在系统引导时自动挂载
/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
详情请查看 ipa-backup 命令无法完成 知识库解决方案。
9.1.2. 加密备份 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 GNU Privacy Guard(GPG)加密 IdM 备份。
创建 GPG 密钥:
- 创建包含密钥详情的
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 ~]# - 生成名为
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 :
- --GPG,它指示 ipa-backup 执行加密的备份
- --GPG-keyring=GPG_KEYRING,它提供了 GPG 密钥环的完整路径,而无需文件扩展名。
例如:
[root@server ~]# ipa-backup --gpg --gpg-keyring=/root/backup
注意
如果您的系统使用 gpg2 工具生成 GPG 密钥,您可能会遇到问题,因为 gpg2 需要外部程序才能正常工作。要在这种情况下从控制台生成密钥,请在生成密钥前将 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