[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Freeipa-users] Please help: How to restore IPA Master/Replicas from daily IPA Replica setup???



Gelen James wrote:
Hi Mmitri, Rob and all.

Thanks for your instructions. I've performed your steps on case#1:
replacing failed IPA master. The results, and my confusion and
questions, are all detailed below. In general, please setup your own
real test environment, and write down the detailed steps one by one clearly.

It took me more than one week and still no clues. Frankly, your steps in
the formal email are kind of over-simplified for normal IPA users, and
not covering how the CA LDAP backend will be handled.

The problem is the CA backend. All the replicas still trying to sync to
old failed IPA master, even after reboot.

Could be that the 'ipa-replica-manage' only manages the user data
replication? and 'ipa-csreplica-manage' only handles CA-end replication?
In other words, when build, or tear down, IPA replication between two
servers, do we need to deal with both replication types with
'ipa-replica-mange' AND 'ipa-csreplica-manage'? If so, then why who
should run first?

Yes, the replication agreements are managed separately which is why there are separate tools. This allows you to have a different replication topology for the CA than IPA user data.

The order the commands are executed doesn't matter.


The error messages in /var/log/dirsrv/slapd-PKI-IPA/errors are attached,
same from B,C,D replicas.

[19/May/2012:19:40:48 -0700] - 389-Directory/1.2.9.16 B2012.023.214
starting up
[19/May/2012:19:40:48 -0700] - slapd started. Listening on All
Interfaces port 7389 for LDAP requests
[19/May/2012:19:40:48 -0700] - Listening on All Interfaces port 7390 for
LDAPS requests
[19/May/2012:19:40:50 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:40:50 -0700] NSMMReplicationPlugin -
agmt="cn=cloneAgreement1-B.example.com-pki-ca" (<A>:7389): Replication
bind with SIMPLE auth failed: LDAP error -1 (Can't contact LDAP server)
((null))
[19/May/2012:19:40:57 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:41:03 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:41:15 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:41:39 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:42:27 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:44:03 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[19/May/2012:19:47:15 -0700] slapi_ldap_bind - Error: could not send
startTLS request: error -1 (Can't contact LDAP server)
[root@<B> ~]#

After seeing the above messages, I tried to run similar commands for CA
replication, it shows that replication agreement (which replication
agreement? User data, or CA data ?? ) exists already.

on B,
ipa-csreplica-manage connect C
ipa-csreplica-manage connect D
ipa-csreplica-manage del A --force
ipactl restart

on C,
ipa-csreplica-manage del A --force
ipactl restart

on D,
ipa-csreplica-manage del A --force
ipactl restart


[root B ~]# ipa-csreplica-manage --password=xxxxxxx connect C.example.com
This replication agreement already exists.
[root B ~]#

[root B ~]# ipa-csreplica-manage --password=xxxxxxx connect D.example.com
This replication agreement already exists.
[root B ~]#

[root B ~]# ipa-csreplica-manage --password=xxxxxxx del C.example.com
--force
Unable to connect to replica A.example.com, forcing removal
Failed to get data from 'A.example.com': Can't contact LDAP server
Forcing removal on 'B.example.com'
[root B ~]#

....

After restarting IPA services on B, C, D, and now the error messages
finally got away from CA errors log file.

But we still can not find the CA replication setups. Please see the
difference of output from 'ipa-replica-manage' and 'ipa-csreplica-manage':

[root B ~] ipa-replica-manage list
B.example.com
C.example.com
D.example.com

[root B ~] ipa-csreplica-manage list
B.example.com
C.example.com
D.example.com

[root B ~] ipa-replica-manage list B.example.com
C.example.com
D.example.com

[root B ~] ipa-csreplica-manage list B.example.com
## Nothing at all!

Please have a check and give correct command and sequences for us IPA
users. It is such a pain to spend so much time and still can not get
restoration work as expected. Even worse is, Have no idea how the
'ipa-replica-manage' and 'ipa-csreplica-manage' work together behind the
scene.

Thanks a lot.

--Gelen




------------------------------------------------------------------------
*From:* Rob Crittenden <rcritten redhat com>
*To:* Robinson Tiemuqinke <hahaha_30k yahoo com>
*Cc:* "Freeipa-users redhat com" <Freeipa-users redhat com>; Rich
Megginson <rmeggins redhat com>; Dmitri Pal <dpal redhat com>
*Sent:* Tuesday, May 15, 2012 9:57 AM
*Subject:* Re: [Freeipa-users] Please help: How to restore IPA
Master/Replicas from daily IPA Replica setup???

Robinson Tiemuqinke wrote:
 > Hi Dmitri, Rich and all,
 >
 > I am a newbie to Redhat IPA, It looks like pretty cool compared with
 > other solutions I've tried before. Thanks a lot for this great
product! :)
 >
 > But there are still some things I needs your help. My main question is:
 > How to restore the IPA setup with a daily machine-level IPA Replica
backup?
 >
 > Please let me explain my IPA setup background and backup/restore goals
 > trying to reach:
 >
 > I'm running IPA 2.1.3 on Redhat Enterprise 6.2. The IPA master is setup
 > with Dogtag CA system. It is installed first. Then two IPA replicas are
 > installed -- with '--setup-ca' options -- for load balancing and
 > failover purposes.
 >
 > To describe my problems/objectives, I'll name the IPA Master as machine
 > A, IPA replicas as B and C. and now I've one more extra IPA replica 'D'
 > (virtual machine) setup ONLY for backup purposes.
 > The setup looks like the following, A is the configuration Hub. B,C,D
 > are siblings.
 >
 > A
 > / | \
 > B C D
 >
 > The following are the steps I backup IPA setups and LDAP backends daily
 > -- it is a whole machine-level backup (through virtual machine D).
 >
 > 1, First, IPA replica D is backed up daily. The backup happens like this:
 >
 > 1.1 on IP replica D, run 'service IPA stop'. Then run 'shutdown -h <D>'.
 > On the Hypervisor which holds virtual machine D, do a daily backup of
 > the whole virtual disk that D is on.
 > 1.2 turn on the IP replica D again.
 > 1.3 after virtual machine D is up, on D optionally run a
 > 'ipa-replica-manage --force-sync --from <A>' to sync the IPA databases
 > forcibly.
 >
 > Now comes to restore part, which is pretty confusing to me. I've tried
 > several times, and every times it comes this or that kinds of issues and
 > so I am wondering that correct steps/ineraction of IPA Master/replicas
 > are the king :(
 >
 > 2, case #1, A is broken, like disc failure, and then re-imaged after
 > several days.
 >
 > 2.1 How to rebuild the IPA Master/Hub A after A is re-imaged, with the
 > daily backup from IPA replica D?

The first thing you'll need to do is to connect your other replias
together, either by picking a new hub or adding links to each one. Then
you'll need to delete the replication agreement to A. You should be left
with a set of servers that continues to replicate.

So, for arguments sake, we promote B to be the new hub:

On B:

# ipa-replica-manage connect C
# ipa-replica-manage connect D
# ipa-replica-manage del --force A
# ipactl restart

On C:

# ipa-replica-manage del --force A
# ipactl restart

On D:

# ipa-replica-manage del --force A
# ipactl restart

It is unclear what you mean by re-imaged. Are you restoring from backup
or installing it fresh? I'll assume it is a new install. You'll need to
prepare a replica file for A and install it as a replica. Then if you
want to keep A as the primary you'll need to change the replication
agreements back to it is the hub (using ipa-replica-manage connect and
disconnect).

When you install the new A server it should get all the changes needed,
you should be done.

You'll want to check the documentation on promoting a master to verify
that only one server is the CRL generator (at this point there may be none).

 > 2.2 do I have to check some files on A into subversion immediately after
 > A was initially installed?

The only thing you really need to save is the cacert.p12 file. This is
your root CA.

 > 2.3 Please describe the steps. I'll follow exactly and report the
results.
 >
 > 3, case #2, A is working, but either B, or C is broken.
 >
 > 3.1 It looks that I don't need the daily backup of D to kick in, is that
 > right?

No, D is unrelated.

 > 3.2 What are the correct steps on A; and B after it is re-imaged?

On A:
# ipa-replica-manage del B
# ipactl restart
# ipa-replica-prepare B

On B
# ipa-replica-install B

You'll probably need/want to clean RUV,
http://directory.fedoraproject.org/wiki/Howto:CLEANRUV

 > 3.3 Please describe the steps. I'll follow exactly and report the
results.
 >
 > 4, case #3, If some un-expected IPA changes happens on A -- like all
 > users are deleted by human mistakes --, and even worse, all the changes
 > are propagated to B and C in minutes.
 >
 > 4.1 How can I recover the IPA setup from daily backup from D?

We have not yet documented how to recover from tombstones or an offline
replica.

 > 4.2 which IPA master/replicas I should recover first? IPA master A, or
 > IPA replicas B/C? and then how to recover others left one by one?

If the entries are re-added on any of the replicas it will be propogated
out.

 > 4.3 Do I have to disconnect replication agreement of B,C,D from A first?

Depends on how 4.1 gets answered which we are still investigating.

 > 4.4 Please describe the steps. I'll follow exactly and report the
results.
 >
 > I've heard something about tombstone records too, Not sure whether the
 > problem still exists in 2.1.3, or 2.2.0(on 6.3Beta)? If so, How can I
 > avoid it with correct recovery steps/interactions.

It is RUV that is the problem. This 389-ds wiki page describes how to
clean up: http://directory.fedoraproject.org/wiki/Howto:CLEANRUV

The 389-ds team is working to make this less manual.

rob




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]