备份和恢复Freeipa基础设施

我find了关于ipa服务器备​​份和恢复的文档,可惜我们缺乏这方面的知识,而且这么集中的批评并不是我在黑暗中拍摄的时候真的很高兴 – 可能有些更灵活的事情,请尝试提供一个白痴备份和恢复IPA服务器的防指南? 特别是主服务器(证书签名之一)。

…我们正在考虑在两台服务器设置(1主,1副本)中推出ipa。 我正在使用DNS SRVlogging来处理故障转移,因此,复制品的损失不是一个大问题,因为我可以做一个新的,并强制重新同步发生 – 这是失去了困扰我的主人。

真的很苦恼的是find一个备份和恢复主服务器的分步过程。 我知道整个虚拟机快照是进行IPA服务器备份的推荐方式,但目前这不是我们的select。

我也知道freeipa 3.2.0包含了一些内置的备份命令,但这不是在centos的ipa版本,我不期望它会有一段时间。

我一直在尝试很多不同的方法,但是其中没有一个似乎能够干净地恢复,除此之外,我尝试过;

  • 一个类似于db2ldif.pl的命令-D“cn =目录pipe理器”-w – -n userroot -a /root/userroot.ldif

  • 从这里生成三个ldif文件 – 一个用于域({domain} -userroot),另外两个用于ipa服务器(ipa-ipaca和ipa-userroot):

我试过的大多数恢复类似于以下forms:ldif2db.pl -D“cn =目录pipe理器”-w – -n userroot -i userroot.ldif

这似乎工作和报告没有错误,但完全borks ipa安装在机器上,我不能再login与备份的服务器上的pipe理员密码,或我尝试ldif2db命令之前设置它的一个(我正在安装ipa-server并运行ipa-server-install,然后尝试恢复)。

我不会过分地关心失去CA,不得不重新join域名,丢失复制等等(虽然如果可以避免的话,这会很棒),但是在主服务器掉落的情况下,我真的很想避免不得不重新input所有的用户/组信息。

我想在失去主服务器的情况下,我可以推动另一个方向,并在另一个方向复制,但我还没有尝试过。 有没有人做到这一点?

tl; dr:有人可以提供一个白痴指南,以足够清晰的方式备份和恢复 IPA服务器(最好在CentOS 6上),让我感到自信,当可怕的时间到来时,它实际上会工作。 蜡笔是可选的,但赞赏;-)我不能是唯一一个挣扎着,看到IPA是多么广泛使用,是吗?

我没有一个适当的解决scheme来备份和恢复CentOS上的FreeIPA服务器,只有一个解决方法,让服务器在最短的时间内以相同的configuration运行。 你确实失去了CA,你需要重新join主机到服务器

这是我在使用2.x系列时处理“灾难恢复”的方式。 我做了很多试验和错误实验,并厌倦了从零开始恢复我的设置:

  1. 使用DHCP + PXE + TFTP + Kickstartconfiguration新主机。
  2. 确保kickstart脚本安装puppetlabs repo并向puppetlabs注册, puppetmaster中有一个条目用于此目的。 ( puppetlabs回购不是强制性的,但我使用的语法不存在于股票版本的puppet )。
  3. 编写一个包含package资源的模块,以便安装服务器及其依赖项,并使用exec资源运行一个shell脚本(全部保留在版本控制下),以定义域中所需的所有基础结构。

我会在这里给你一个脚本的片段,你得到的总体思路:

 #!/usr/bin/env bash # vim:syn=sh:ts=2:fdm=marker # IPASERVER BOOTSTRAP {{{ # HOSTGROUPS {{{ # foo {{{ ipa hostgroup-add foo --desc='Foo Bar Baz' ipa hostgroup-add-member sanfernando --hosts={foo,bar,baz}.domain.com ipa netgroup-add net_foo --nisdomain=domain.com --desc='Foo Bar Baz' ipa netgroup-add-member net_foo --hostgroups=sanfernando # }}} # }}} # PWPOLICY {{{ ipa pwpolicy-mod global_policy --history=24 ipa pwpolicy-mod global_policy --lockouttime=1200 ipa pwpolicy-mod --setattr=krbpwdmindiffchars=4 ipa pwpolicy-mod --setattr=krbpwdminlenght=14 ipa pwpolicy-mod --setattr=krbpwdmaxfailure=5 ipa pwpolicy-mod --setattr=krbminpwdlife=168 ipa pwpolicy-mod --setattr=krbpwdfailurecountinterval=1200 # }}} # USERS/GROUPS/HBAC {{{ # developers {{{ ipa user-add jdoe --first='Jane' --last='Doe' --email='[email protected]' --gecos='Jane Doe' --shell='/bin/rbash' --sshpubkey='AAA......XXGDGHU=' ipa group-add foo --desc='Foo Staff' ipa group-add-member foo --users=jdoe ipa hbacrule-add developers_access --desc='Developers access' ipa hbacrule-add-host developers_access --hostgroups=development ipa hbacrule-add-user developers_access --groups=developers ipa hbacrule-add-service developers_access --hbacsvcs=sshd ipa hbacrule-add-service developers_access --hbacsvcgroups=Sudo # }}} # }}} # SUDO CMD/RULE/GROUP {{{ # networking {{{ ipa sudocmd-add --desc='administration tool for IPv4 packet filtering and NAT' '/sbin/iptables' ipa sudocmd-add --desc='view and manipulate media-independent interface status' '/sbin/mii-tool' ipa sudocmd-add --desc='display or change ethernet card settings' '/sbin/ethtool' ipa sudocmd-add --desc='show and manipulate routing, devices, policy routing and tunnels' '/sbin/ip' ipa sudocmd-add --desc='sudoedit configuration file of IPv4 packet filtering and NAT' 'sudoedit /etc/sysconfig/iptables' ipa sudocmdgroup-add networking --desc='commands for network configuration and troubleshooting' ipa sudocmdgroup-add-member networking --sudocmds=/sbin/{iptables,mii-tool,ethtool,ip} ipa sudocmdgroup-add-member networking --sudocmds='sudoedit /etc/sysconfig/iptables' ipa sudorule-add networking_4_operators_2 --desc='Operator Level 2 access to networking management commands' ipa sudorule-add-allow-command networking_4_operators_2 --sudocmdgroups='networking' ipa sudorule-add-user networking_4_operators_2 --groups='operators_2' ipa sudorule-add-host networking_4_operators_2 --hostgroups=foo-hosts # }}} # }}} # }}} 

从4.x起,FreeIPA(现称RHEL上的Red Hat Identity Manager)包括CLI工具: ipa-backup (产生GPGencryption的备份转储,仅包含所有服务器信息或仅包含LDAP数据)和ipa-restore

一个警告:在刚刚安装的服务器上恢复数据备份后,我发现它会破坏pipe理员凭据,无法以pipe理员身份或任何其他用途(不正确的密码错误消息)login。 所以这是相当无用的。 然而,这可能是我的设置的一个怪癖。 在依靠它之前一定要testing恢复!

在FreeIPA中备份和恢复没有简单的答案。 我们正在讨论一个多主复制环境,每个服务器可能有不同的configuration,我们要保留不同的服务(CA,DNS)。

自项目开始以来,在FreeIPA中进行备份和恢复的常见答案是 – 具有复制品 。 使用多个FreeIPA复制服务器时,即使某些服务器崩溃,您也可以保持冗余和可用性。 如果您有其他服务,如CA或DNS,简单的有更多的FreeIPA副本,以避免被卷入警惕。 如果你使用DNS SRVlogging来发现你的客户的FreeIPA服务,如果你松了一些他们甚至不应该注意到,他们应该简单地切换到其他可用的FreeIPA。

对一台FreeIPA备份服务器进行定期的虚拟机快照 ,以确保在整个复制环境中断的情况下,您可以从头开始。 如果您对结构备份不感兴趣,而且对数据备份感兴趣,则build议将db2ldif作为备份数据的最佳方式。

我希望这个简短的build议有帮助,你可以在FreeIPA.org网站find更多的资源:

  • 备份和恢复策略
  • FreeIPA 3.2.0中引入的实验备份和恢复脚本