Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

6445

August 3rd, 2009 13:00

How to create replicated pool

Hello guys,

i apologize if this has been asked before but i could not find any posts that would help me answer my questions. I am trying to determine how to properly setup a pool in replicated environment. Replication is already in place, there are pools that are already replicating. It was setup by EMC so i have no idea where to start. I found article emc134057 that explains how to set it up. Here are the steps:

On Source

1) create pool NewApp
2) create profile NewApp_profile (during this command it will ask me what pool to use and i will select NewApp. It will also allow me to create a PEA file (NewApp_src.PEA))
3) export poolprofilesetup (i will specify to export NewApp pool)

On Target

1) Import poolprofilesetup ( I will be asked to create another PEA file (NewApp_tgt_PEA)
2) I will merge NewApp_src.PEA and NewApp_tgt_PEA files into one file and give it to my application owner
3) Create pool profile replication ( only on the target side, this should be pointing to the default pool, not NewApp pool.

Why am i creating this pool, what is it used for and why is it pointing to default pool and not NewApp pool ? Also why is it only created on target and not on source ?

4) Set grants NewApp replication (give the replication profile only c grants for all pools you wish to replicate (d to be enabled if you are replicating deletes)

So what exactly are we doing here ?


I've been looking at Centera Online help, Centera admin guide but it's still very confusing to me.

Thank you for your help

124 Posts

August 20th, 2009 12:00

Yes - When replication is enabled/configured, you are asked what profile replication should use - This can be changed via CLI command "set cluster replication"

Additional information regarding my previous post - When a clip is written to Centera, the pool and profile ID's are stored inside the clip XML file. This ID is not the name of the pool/profile but is a grouping of numbers and letters. This ID is set automatically by Centera when the pool/profile is created. Since replication copies clips from the source to the target, the target must have identical pool/profile ID's. This is why you need to export/import poolprofilesetup else replication will fail with "no such pool" error.

On a different thread, for anyone else reading this, if replication is enabled and you disable replication, then re-enable replication, anything written from the time that replication was disabled to the time it was re-enabled, will not get replicated. Only new content that is written after enabling replication will get replicated. To ensure all data is replicated, pause replication, don't disable it, if ever the need arises.

2 Intern

 • 

337 Posts

August 4th, 2009 00:00

Hi Dynamox

If your replication is already running using a profile then the step 3) on the target is not necessary. You only need to grant the c (and d if you need) capability from the newapp pool to the replicatin profile.
Please issue a sho repl det on the source to find out if the profile used for replication is really called replication. It may be called differently.

What you are exactly doing is the following. By using a profile on the source to connect to the target for replication you can disable the anonymous profile. The replication profile used should be an access profile and have c (and d) capability in all replicated pools.

I personally prefer bi-directionally replicated environments as it removes handish work after a disaster situation where an application may write content to the target system.

Your command 3 on the target won't work. it's either create pool or create profile. I normally take care to have the replication profile have the default as it's home pool but with no capabilities (provided that all applications are using their own pools and no writes to the default pool are made). Then grant c and d to the replication profile for all replicated pools so that the replication profile only has capabilities in the replicated pools. With this you can add a pool to the replication accidentally and no content will get replicated as no capabilities available.

Best regards, Holger

124 Posts

August 4th, 2009 07:00

On the source cluster
1) Create the pool
2) update pool replication
3) Create the profile - Set the profile to use the new pool as its home pool
4) Create a pea file
5) export poolprofilesetup

On the replica
1) import poolprofilesetup - import the new pool and profile
2) Create a pea file for the imported profile
3) set grants
where profile name = the replication profile (show replication detail on the source)
and pool name = the new pool
grant 'ced' rights to the pool

Merge PEA Files

This procedure explains how to merge two or more PEA files generated on different clusters into one PEA file to support replication and application failover.

1.

Launch a text editor on your local machine and open the PEA file of the profile that was generated on the source cluster. The content of this file should be similar to:

<.pea version=¿1.0.0¿>





MyApplicationSecret









MySpecialApplicationSecretForClusterA







2.

Open the PEA file that was generated on the target cluster for the same profile and copy everything from the ... section, including the profile-cluster information, from the second file into the first one:





MySpecialApplicationSecretForClusterB







The merged PEA file would then look like this:


<.pea version=¿1.0.0¿>





MyApplicationSecret









MySpecialApplicationSecretForClusterA









MySpecialApplicationSecretForClusterB







3.

Repeat step 2 for each PEA file that has been created for the same profile on a different cluster.
4.

Close all PEA files and save the merged PEA file.
5.

Copy the merged PEA file to the application server and configure the server to use the new pea file

9 Legend

 • 

20.4K Posts

August 4th, 2009 09:00

Thank you Holger and Dennis,

I am going to dissect Dennis instructions to make sure i understand what i am doing :)

On source:

1) Make sense, i will use command:

create pool NewApp

2) when you say "update pool replication", in this instance replication simply means we are modifying replication functionality, there is no such pool as replication ? So i would enter:

update pool replication NewApp

We are just simply enabling replication functionality for NewApp pool ?

3) Makes sense, i will select NewApp as my home pool.

create profile NewApp

4) I will create PEA file during step 3.

5) I will export pool information and profile information just for NewApp


On the replica

1) I will import pool and profile information that was created in step 5 on source

import poolprofilesetup

2) I will create PEA file during step 1

3) Here comes the confusing part

this is output from "show replication detail" on source

Replicate Delete:                             yes
Replicate incoming replicated Objects:        no
Replicated Pools:                             default,
                                              mail-dev,
                                              mail-dev-dr,
                                              email-arc,
                                              app-01,
                                              app-02,
                                              app-03
Profile Name:                                 replication
 
Number of Blob Writes to be replicated:                   N/A
Number of MB to be replicated:                            N/A
Number of C-Clip Deletes to be replicated:                2,459
Number of C-Clip Event and Hold Updates to be replicated: 0
Number of Parked Entries:                                 320


So in my case replication profile is actually called "replication" ? My command would look like this:

set grants NewApp replication

So what are we saying here ? Profile "replication" that exists on source can write to pool NewApp on replica ? How does replica know about existence of profile "replication" on target ?

Thank you so much

124 Posts

August 4th, 2009 10:00

Comments within preceeded by >>


On source:

1) Make sense, i will use command:

create pool NewApp

Correct


2) when you say "update pool replication", in this instance replication simply means we are modifying replication functionality, there is no such pool as replication ? So i would enter:

update pool replication NewApp

We are just simply enabling replication functionality for NewApp pool ?

Correct


3) Makes sense, i will select NewApp as my home pool.

create profile NewApp

Correct


4) I will create PEA file during step 3.

Correct - When you are prompted to "create pool entry authorization file?" enter "yes" then type the pathname and filename that will be created on your local PC - something like: C:\temp\newapp-source.pea

Do the same on the replica calling it something like C:\temp\newapp-target.pea
then you merge these two into a single pea file per previous instructions.

5) I will export pool information and profile information just for NewApp
You can export just this pool/profile or all pools/profiles - When importing, just import this pool/profile and not all of them



On the replica

1) I will import pool and profile information that was created in step 5 on source

import poolprofilesetup

Correct


2) I will create PEA file during step 1

Correct


3) Here comes the confusing part

this is output from "show replication detail" on source

Replicate Delete:                             yes
Replicate incoming replicated Objects:        no
Replicated Pools:                             default,
                                              mail-dev,
                                              mail-dev-dr,
                                              email-arc,
                                              app-01,
                                              app-02,
                                              app-03
Profile Name:                                 replication
 
Number of Blob Writes to be replicated:                   N/A
Number of MB to be replicated:                            N/A
Number of C-Clip Deletes to be replicated:                2,459
Number of C-Clip Event and Hold Updates to be replicated: 0
Number of Parked Entries:                                 320


So in my case replication profile is actually called "replication" ? My command would look like this:

set grants NewApp replication

Correct - grant it 'ced' rights


So what are we saying here ? Profile "replication" that exists on source can write to pool NewApp on replica ? How does replica know about existence of profile "replication" on target ?

profile "replication" exists on the target not the source. You are granting this profile "copy" "exists" and "delete" rights to the NewApp pool

9 Legend

 • 

20.4K Posts

August 20th, 2009 10:00

So what are we saying here ? Profile "replication"
that exists on source can write to pool NewApp on
replica ? How does replica know about existence of
profile "replication" on target ?

profile "replication" exists on the target not the

source. You are granting this profile "copy" "exists"
and "delete" rights to the NewApp pool


Dennis,

when i run "show profile list" on source and target Centera, they both list:

Profile Name              Home Pool       Enabled  Configured Usage
-----------------------------------------------------------------------------
 
replication               default         yes      Data Access


what does it mean ? Is "replication" profile supposed to exist on both source and replica ?

Thank you very much for your time

124 Posts

August 20th, 2009 11:00

The profile is only needed on the replica cluster unless you have bi-directional replication enabled. In this case, you will need it on both sides.

Dennis

9 Legend

 • 

20.4K Posts

August 20th, 2009 11:00

ok, so i'll assume it was created by EMC thinking we would be doing bi-direction replication which we never did, we only have uni-directional.

So we have this "replication" profile on target Centera. How does replication process work? In step 2 on source we did:

update pool replication NewApp

1) So now Source Centera knows that NewApp pool needs to be replicated, it starts sending data to remote Centera and remote Centera uses profile "replication" to write data coming from source Centera to pool NewApp ?

2) Since we have only one "replication" profile, how does target Centera know which pool incoming writes need to go to ?

Thank you for your patience Dennis.

124 Posts

August 20th, 2009 12:00

1) So now Source Centera knows that NewApp pool needs to be replicated, it starts sending data to remote Centera and remote Centera uses profile "replication" to write data coming from source Centera to pool NewApp ?
Correct


2) Since we have only one "replication" profile, how does target Centera know which pool incoming writes need to go to ?
Replication "copies" data as opposed to writing data. This is why this profile should have 'ced' rights to the replicated pools. Copy/Exists/Delete.

The pool information is stored in the clip on the source. Replication just copies this existing clip to the replica. It does not change anything (if it did, the content address would change).

9 Legend

 • 

20.4K Posts

August 20th, 2009 12:00

Thank you Dennis.

9 Legend

 • 

20.4K Posts

August 20th, 2009 12:00

i see, makes sense.

Last question i promise :)

When i run "show replication detail" on Source Centera. It shows profile name "replication". How did this entry get populated ? Is it something that was setup during initial replication configuration ?

9 Legend

 • 

20.4K Posts

September 1st, 2009 07:00

when i run "show pool detail NewApp", it only displays application profile under Profile name, it does not display replication profile. I did run "update pool replication NewApp" again, but it still does not display replication profile.

124 Posts

September 1st, 2009 07:00

It sounds like the repl profile is a cluster profile and not an access profile.
This will cause replication problems.

Delete the profile on the replica and recreate it - Do not choose "cluster" when asked for the profile type

Config# create profile repl
Enable Profile? (yes, no) [yes]:
Set Data Access Capabilities (yes, no) [no]: yes
Profile Type (access, cluster) [access]:

You will need to update replication on the source cluster to use the new passwd/pea file for the repl profile

9 Legend

 • 

20.4K Posts

September 1st, 2009 07:00

Dennis,

when trying to do "set grants " i get an error message:

Config# set grants NewApp repl
Command failed: It is not possible to grant rights to cluster profiles in
application pools.

what does it mean ? I am running this on replica after source pool/profile have been imported.

9 Legend

 • 

20.4K Posts

September 1st, 2009 08:00


Delete the profile on the replica and recreate it -
Do not choose "cluster" when asked for the profile
type


you mean delete my "repl" profile on target Centera ? What happens to replication of existing pools (default pool is the only one being replication at this moment), will replication need to be paused ?

u will need to update replication on the source
cluster to use the new passwd/pea file for the repl
profile


How do i do that ?

Thanks a bunch
No Events found!

Top