第 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/
# mkdir -p /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将以下权限设置为该目录:
chown root:root /home/idm/backup/ chmod 700 /home/idm/backup/
# chown root:root /home/idm/backup/ # chmod 700 /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果
/var/lib/ipa/backup/
包含现有的备份,请将其移到新目录中:mv /var/lib/ipa/backup/* /home/idm/backup/
# mv /var/lib/ipa/backup/* /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 删除
/var/lib/ipa/backup/
目录:rm -rf /var/lib/ipa/backup/
# rm -rf /var/lib/ipa/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建
/var/lib/ipa/backup/
链接到/home/idm/backup/
目录:ln -s /home/idm/backup/ /var/lib/ipa/backup/
# ln -s /home/idm/backup/ /var/lib/ipa/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 将存储在不同卷上的目录挂载到
/var/lib/ipa/backup/
。例如,如果/home
存储在具有足够可用空间的不同卷中,请创建/home/idm/backup/
,并将其挂载到/var/lib/ipa/backup/
:- 创建
/home/idm/backup/
目录:mkdir -p /home/idm/backup/
# mkdir -p /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将以下权限设置为该目录:
chown root:root /home/idm/backup/ chmod 700 /home/idm/backup/
# chown root:root /home/idm/backup/ # chmod 700 /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果
/var/lib/ipa/backup/
包含现有的备份,请将其移到新目录中:mv /var/lib/ipa/backup/* /home/idm/backup/
# mv /var/lib/ipa/backup/* /home/idm/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将
/home/idm/backup/
挂载到/var/lib/ipa/backup/
:mount -o bind /home/idm/backup/ /var/lib/ipa/backup/
# mount -o bind /home/idm/backup/ /var/lib/ipa/backup/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 要在系统引导时自动挂载
/home/idm/backup/
到/var/lib/ipa/backup/
,请在/etc/fstab
文件中附加以下内容:/home/idm/backup/ /var/lib/ipa/backup/ none bind 0 0
/home/idm/backup/ /var/lib/ipa/backup/ none bind 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
卷中含有 /tmp 的空间不足
如果因为
/tmp
目录中空间不足造成备份失败,请使用 TMPDIR
环境变量更改在备份期间创建的暂存文件的位置:
TMPDIR=/path/to/backup ipa-backup
# TMPDIR=/path/to/backup ipa-backup
详情请查看 ipa-backup 命令无法完成 知识库解决方案。
9.1.2. 加密备份 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 GNU Privacy Guard(GPG)加密 IdM 备份。
创建 GPG 密钥:
- 创建包含密钥详情的
keygen
文件,例如运行 cat >keygen <<EOF 并在命令行中提供所需的加密详情:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 生成名为
backup
的新密钥对,并将keygen
的内容提供给命令。以下示例生成了一个名为 /root/backup.sec 和 /
:root
/backup.pub 的密钥对gpg --batch --gen-key keygen gpg --no-default-keyring --secret-keyring /root/backup.sec \ --keyring /root/backup.pub --list-secret-keys
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要创建 GPG 加密备份,请通过提供以下选项将生成的 备份密钥传递给 ipa-
backup
:
- --GPG,它指示 ipa-backup 执行加密的备份
- --GPG-keyring=GPG_KEYRING,它提供了 GPG 密钥环的完整路径,而无需文件扩展名。
例如:
ipa-backup --gpg --gpg-keyring=/root/backup
[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. 备份期间目录和文件绑定列表 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
目录:
文件:
日志文件和目录: