Я нахожу документацию по резервному копированию и восстановлению ipa-сервера, к сожалению, отсутствует, и, будучи настолько критически важным, это не то, с чем я действительно счастлив снимать в темноте - не могла бы какая-то душа более осведомленная в этом вопросе, пожалуйста, попытайтесь предоставить идиота надежное руководство по резервному копированию и восстановлению IPA сервера (ов)? В частности, главный сервер (сервер подписи сертификата).
... Мы планируем развернуть ipa в конфигурации с двумя серверами (1 мастер, 1 реплика). Я использую записи dns srv для обработки аварийного переключения, поэтому потеря реплики не имеет большого значения, поскольку я мог бы сделать новую и принудительно выполнить повторную синхронизацию - это потеря мастера, которая меня беспокоила.
То, что я действительно пытается найти пошаговую процедуру резервного копирования и восстановления главного сервера. Я знаю, что моментальный снимок всей виртуальной машины - это рекомендуемый способ резервного копирования IPA-сервера, но в настоящее время для нас это не вариант.
Я также знаю, что freeipa 3.2.0 включает в себя какую-то встроенную команду резервного копирования, но этого нет в версии centos для ipa, и я не ожидаю, что она будет в ближайшее время.
Я пробовал много разных методов, но ни один из них, похоже, не восстанавливает чисто, среди прочего, что я пробовал;
команда, аналогичная db2ldif.pl -D "cn = менеджер каталогов" -w - -n userroot -a /root/userroot.ldif
сценарий отсюда для создания трех файлов ldif - одного для домена ({domain} -userroot) и двух для сервера ipa (ipa-ipaca и ipa-userroot):
Большинство попыток восстановления, которые я пробовал, были похожи на следующую форму: ldif2db.pl -D "cn = directory manager" -w - -n userroot -i userroot.ldif
который, кажется, работает и не сообщает об ошибках, но полностью останавливает установку ipa на машине, и я больше не могу войти в систему с паролем администратора на резервном сервере или с тем, который я установил при установке, прежде чем пытаться выполнить команду ldif2db ( Я устанавливаю ipa-server и запускаю ipa-server-install, затем пытаюсь восстановить).
Меня не слишком беспокоит потеря ЦС, необходимость повторного присоединения к домену, потеря репликации и т. Д. (Хотя было бы здорово, если бы этого можно было избежать), но в случае падения основного сервера я действительно хотел бы избежать необходимо повторно ввести всю информацию о пользователе / группе.
Я думаю, что в случае потери основного сервера я мог бы продвинуть другой и воспроизвести в другом направлении, но я тоже не пробовал этого. Кто-нибудь это сделал?
tl; dr: Может ли кто-нибудь предоставить идиотам руководство по резервному копированию и восстановление сервер IPA (желательно на CentOS 6) достаточно ясно, чтобы я был уверен, что он действительно будет работать, когда придет ужасное время? Цветные карандаши не обязательны, но приветствуются ;-) Я не могу быть единственным человеком, который борется с этим, ведь, видя, насколько широко используется IPA?
FreeIPA (теперь именуемый Red Hat Identity Manager на RHEL) начиная с 4.x включает инструменты интерфейса командной строки: ipa-backup
(создание резервной копии, зашифрованной с помощью GPG, либо всей информации о сервере, либо только данных LDAP) и ipa-restore
.
Одно предостережение: после восстановления резервной копии только данных на только что установленном сервере я обнаружил, что он сбил учетные данные администратора, и я не мог войти в систему как администратор или использовать любое другое использование, что бы я ни делал (сообщение об ошибке «неверный пароль»). Так что это было бесполезно. Однако это могло быть причудой моей установки. Обязательно протестируйте восстановление, прежде чем полагаться на него!
У меня нет подходящего решения для резервного копирования и восстановления сервера FreeIPA в CentOS, есть только обходной путь, чтобы сервер работал с той же конфигурацией в кратчайшие сроки. Вы теряете CA, и вам нужно повторно присоединить хосты к серверу.
Именно так я поступил с "аварийным восстановлением" при использовании 2.x
серии. Я провел много экспериментов методом проб и ошибок и устал восстанавливать свои настройки с нуля:
puppetlabs
репо и зарегистрироваться в puppetmaster
, есть (была) запись в autosign.conf
для этого. (The puppetlabs
репо не является обязательным, но я использовал синтаксис, отсутствующий в стандартной версии puppet
).package
ресурс для установки сервера и его зависимостей, а также exec
ресурс для запуска сценария оболочки (все находится под контролем версий), определяющего всю инфраструктуру, необходимую в домене. Я дам вам отрывок из сценария, вы уловили общую идею:
#!/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='jdoe@domain.com' --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
# }}}
# }}}
# }}}
Нет простого ответа на резервное копирование и восстановление в FreeIPA. Мы говорим о среде репликации с несколькими мастерами, где каждый сервер может иметь разную конфигурацию, разные службы (CA, DNS), которые мы хотим сохранить.
С самого начала проекта общий ответ на резервное копирование и восстановление во FreeIPA был - есть реплики. Имея несколько реплицированных серверов FreeIPA, вы сохраняете избыточность и доступность даже при сбое некоторых серверов. Если у вас есть другие службы, такие как CA или DNS, просто добавьте их на реплики FreeIPA, чтобы вас не застали врасплох. Если вы используете записи DNS SRV для обнаружения служб FreeIPA своими клиентами, они не должны даже замечать, если вы потеряете некоторые из них, им следует просто переключиться на другие доступные FreeIPA.
Также может быть разумным делать регулярные Снимки ВМ одного сервера резервного копирования FreeIPA, чтобы убедиться, что у вас есть с чего начать на случай, если вся ваша реплицированная среда сломается. Если вас интересует не структурное резервное копирование, а резервное копирование данных, я бы посоветовал db2ldif как лучший способ резервного копирования данных.
Надеюсь, этот краткий совет поможет, вы можете найти больше ресурсов на сайте FreeIPA.org: