dynamox

updated

17 years ago

D

dynamox

11 Legend

•

20419 Posts

•

87439 Points

1

6721

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
  • EMCDennis

    124 Posts

    1461

    0

    Posted 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.
  • holgerjakob_c0722c

    2 Intern

    •

    337 Posts

    1078

    0

    Posted 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
  • EMCDennis

    124 Posts

    1078

    0

    Posted 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
  • dynamox

    11 Legend

    •

    20419 Posts

    •

    87439 Points

    1078

    0

    Posted 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
  • EMCDennis

    124 Posts

    1078

    0

    Posted 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
  • dynamox

    11 Legend

    •

    20419 Posts

    •

    87439 Points

    1078

    0

    Posted 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
  • EMCDennis

    124 Posts

    1078

    0

    Posted 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
  • dynamox

    11 Legend

    •

    20419 Posts

    •

    87439 Points

    1077

    0

    Posted 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.
  • EMCDennis

    124 Posts

    1077

    0

    Posted 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).
  • dynamox

    11 Legend

    •

    20419 Posts

    •

    87439 Points

    488

    0

    Posted August 20th, 2009 12:00

    Thank you Dennis.