第 3 章 使用虚拟机快照恢复数据丢失

如果发生数据丢失事件,您可以恢复证书颁发机构(CA)副本的虚拟机快照(VM)快照来修复丢失的数据,或者从中部署新环境。

3.1. 仅从虚拟机快照中恢复

如果灾难影响所有 IdM 服务器,且只保留 IdM CA 副本虚拟机(VM)的快照,您可以通过删除所有对丢失的服务器的引用并安装新副本来重新创建部署。

先决条件

流程

  1. 引导 CA 副本虚拟机所需的快照。
  2. 将复制协议删除到任何丢失的副本中。

    [root@server ~]# ipa server-del lost-server1.example.com
    [root@server ~]# ipa server-del lost-server2.example.com
    ...
  3. 安装第二个 CA 副本。请参阅使用 CA 安装 IdM 副本
  4. VM CA 副本现在是 CA 续订服务器。红帽建议在环境中提升另一个 CA 副本以作为 CA 续订服务器。请参阅 更改和重置 IdM CA 续订服务器
  5. 通过部署所需服务(CA、DNS)的额外副本来重新创建所需的副本拓扑。请参阅 安装 IdM 副本
  6. 更新 DNS 以反应新的副本拓扑。如果使用 IdM DNS,则会自动更新 DNS 服务记录。
  7. 验证 IdM 客户端是否可以访问 IdM 服务器。请参阅在 恢复过程中调整 IdM 客户端

验证步骤

  1. 以 IdM 用户身份成功检索 Kerberos ticket-granting ticket,在每个副本中测试 Kerberos 服务器。

    [root@server ~]# kinit admin
    Password for admin@EXAMPLE.COM:
    
    [root@server ~]# klist
    Ticket cache: KCM:0
    Default principal: admin@EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    10/31/2019 15:51:37  11/01/2019 15:51:02  HTTP/server.example.com@EXAMPLE.COM
    10/31/2019 15:51:08  11/01/2019 15:51:02  krbtgt/EXAMPLE.COM@EXAMPLE.COM
  2. 通过检索用户信息,在每个副本上测试 Directory Server 和 SSSD 配置。

    [root@server ~]# ipa user-show admin
      User login: admin
      Last name: Administrator
      Home directory: /home/admin
      Login shell: /bin/bash
      Principal alias: admin@EXAMPLE.COM
      UID: 1965200000
      GID: 1965200000
      Account disabled: False
      Password: True
      Member of groups: admins, trust admins
      Kerberos keys available: True
  3. 使用 ipa cert-show 命令测试每个 CA 副本上的 CA 服务器。

    [root@server ~]# ipa cert-show 1
      Issuing CA: ipa
      Certificate: MIIEgjCCAuqgAwIBAgIjoSIP...
      Subject: CN=Certificate Authority,O=EXAMPLE.COM
      Issuer: CN=Certificate Authority,O=EXAMPLE.COM
      Not Before: Thu Oct 31 19:43:29 2019 UTC
      Not After: Mon Oct 31 19:43:29 2039 UTC
      Serial number: 1
      Serial number (hex): 0x1
      Revoked: False

其它资源

3.2. 在部分工作的环境中从虚拟机快照中恢复

如果灾难影响一些 IdM 服务器,而其他服务器仍处于正常工作状态,您可能需要将部署恢复到虚拟机(VM)快照中捕获的状态。例如,如果所有证书颁发机构(CA)副本都丢失,其他副本仍在生产中,则需要将 CA 副本放回到环境中。

在这种情况下,删除对丢失的副本的引用,从快照中恢复 CA 副本,验证复制和部署新副本。

先决条件

流程

  1. 将所有复制协议删除到丢失的服务器中。请参阅卸载 IdM 服务器
  2. 引导 CA 副本虚拟机所需的快照。
  3. 删除恢复的服务器和丢失的服务器之间的任何复制协议。

    [root@restored-CA-replica ~]# ipa server-del lost-server1.example.com
    [root@restored-CA-replica ~]# ipa server-del lost-server2.example.com
    ...
  4. 如果恢复的服务器没有与仍在生产中的服务器的复制协议,请将恢复的服务器连接到恢复的服务器中,以便更新恢复的服务器。

    [root@restored-CA-replica ~]# ipa topologysegment-add
    Suffix name: domain
    Left node: restored-CA-replica.example.com
    Right node: server3.example.com
    Segment name [restored-CA-replica.com-to-server3.example.com]: new_segment
    ---------------------------
    Added segment "new_segment"
    ---------------------------
      Segment name: new_segment
      Left node: restored-CA-replica.example.com
      Right node: server3.example.com
      Connectivity: both
  5. 查看 /var/log/dirsrv/slapd-YOUR-INSTANCE/errors 的 Directory Server 错误日志,以查看快照中的 CA 副本是否与剩余的 IdM 服务器正确同步。
  6. 如果恢复的服务器上的复制失败,因为其数据库太过时,请重新初始化恢复的服务器。

    [root@restored-CA-replica ~]# ipa-replica-manage re-initialize --from server2.example.com
  7. 如果恢复的服务器上的数据库被正确同步,请根据 安装 IdM 副本来继续使用所需服务(CA、DNS)的额外副本

验证步骤

  1. 以 IdM 用户身份成功检索 Kerberos ticket-granting ticket,在每个副本中测试 Kerberos 服务器。

    [root@server ~]# kinit admin
    Password for admin@EXAMPLE.COM:
    
    [root@server ~]# klist
    Ticket cache: KCM:0
    Default principal: admin@EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    10/31/2019 15:51:37  11/01/2019 15:51:02  HTTP/server.example.com@EXAMPLE.COM
    10/31/2019 15:51:08  11/01/2019 15:51:02  krbtgt/EXAMPLE.COM@EXAMPLE.COM
  2. 通过检索用户信息,在每个副本上测试 Directory Server 和 SSSD 配置。

    [root@server ~]# ipa user-show admin
      User login: admin
      Last name: Administrator
      Home directory: /home/admin
      Login shell: /bin/bash
      Principal alias: admin@EXAMPLE.COM
      UID: 1965200000
      GID: 1965200000
      Account disabled: False
      Password: True
      Member of groups: admins, trust admins
      Kerberos keys available: True
  3. 使用 ipa cert-show 命令测试每个 CA 副本上的 CA 服务器。

    [root@server ~]# ipa cert-show 1
      Issuing CA: ipa
      Certificate: MIIEgjCCAuqgAwIBAgIjoSIP...
      Subject: CN=Certificate Authority,O=EXAMPLE.COM
      Issuer: CN=Certificate Authority,O=EXAMPLE.COM
      Not Before: Thu Oct 31 19:43:29 2019 UTC
      Not After: Mon Oct 31 19:43:29 2039 UTC
      Serial number: 1
      Serial number (hex): 0x1
      Revoked: False

其它资源

3.3. 从虚拟机快照中恢复以建立新的 IdM 环境

如果恢复的虚拟机(VM)快照中的证书颁发机构(CA)副本无法与其他服务器复制,请从虚拟机快照创建一个新的 IdM 环境。

要建立新的 IdM 环境,请隔离虚拟机服务器,从中创建额外副本,并将 IdM 客户端切换到新环境。

先决条件

流程

  1. 引导 CA 副本虚拟机所需的快照。
  2. 通过删除所有复制拓扑片段,将恢复的服务器与当前部署的其余部分隔离。

    1. 首先,显示所有 domain 复制拓扑片段。

      [root@restored-CA-replica ~]# ipa topologysegment-find
      Suffix name: domain
      ------------------
      8 segments matched
      ------------------
        Segment name: new_segment
        Left node: restored-CA-replica.example.com
        Right node: server2.example.com
        Connectivity: both
      
      ...
      
      ----------------------------
      Number of entries returned 8
      ----------------------------
    2. 接下来,删除每个涉及恢复的服务器的 domain 拓扑片段。

      [root@restored-CA-replica ~]# ipa topologysegment-del
      Suffix name: domain
      Segment name: new_segment
      -----------------------------
      Deleted segment "new_segment"
      -----------------------------
    3. 最后,使用任何 ca 拓扑片段执行相同的操作。

      [root@restored-CA-replica ~]# ipa topologysegment-find
      Suffix name: ca
      ------------------
      1 segments matched
      ------------------
        Segment name: ca_segment
        Left node: restored-CA-replica.example.com
        Right node: server4.example.com
        Connectivity: both
      ----------------------------
      Number of entries returned 1
      ----------------------------
      
      [root@restored-CA-replica ~]# ipa topologysegment-del
      Suffix name: ca
      Segment name: ca_segment
      -----------------------------
      Deleted segment "ca_segment"
      -----------------------------
  3. 从恢复的服务器安装足够数量的 IdM 副本,以处理部署负载。现在,两个断开连接的 IdM 部署会并行运行。
  4. 通过硬编码引用新的 IdM 副本来切换 IdM 客户端使用新的部署。请参阅在恢复过程中调整 IdM 客户端
  5. 从以前的部署停止和卸载 IdM 服务器。请参阅卸载 IdM 服务器

验证步骤

  1. 以 IdM 用户身份成功检索 Kerberos ticket-granting ticket,在每个新副本中测试 Kerberos 服务器。

    [root@server ~]# kinit admin
    Password for admin@EXAMPLE.COM:
    
    [root@server ~]# klist
    Ticket cache: KCM:0
    Default principal: admin@EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    10/31/2019 15:51:37  11/01/2019 15:51:02  HTTP/server.example.com@EXAMPLE.COM
    10/31/2019 15:51:08  11/01/2019 15:51:02  krbtgt/EXAMPLE.COM@EXAMPLE.COM
  2. 通过检索用户信息,在每个新副本中测试 Directory Server 和 SSSD 配置。

    [root@server ~]# ipa user-show admin
      User login: admin
      Last name: Administrator
      Home directory: /home/admin
      Login shell: /bin/bash
      Principal alias: admin@EXAMPLE.COM
      UID: 1965200000
      GID: 1965200000
      Account disabled: False
      Password: True
      Member of groups: admins, trust admins
      Kerberos keys available: True
  3. 使用 ipa cert-show 命令在每个新 CA 副本中测试 CA 服务器。

    [root@server ~]# ipa cert-show 1
      Issuing CA: ipa
      Certificate: MIIEgjCCAuqgAwIBAgIjoSIP...
      Subject: CN=Certificate Authority,O=EXAMPLE.COM
      Issuer: CN=Certificate Authority,O=EXAMPLE.COM
      Not Before: Thu Oct 31 19:43:29 2019 UTC
      Not After: Mon Oct 31 19:43:29 2039 UTC
      Serial number: 1
      Serial number (hex): 0x1
      Revoked: False

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。